Richard Barry
05a0e4379e
First pass at RXv2 port layer.
11 years ago
Richard Barry
9bd5e5cf03
Cast away a few unused return types to ensure lint/compilers don't generate warnings when the warning level is high.
11 years ago
Richard Barry
c8953a68cd
Add extra #error message as a configuration sanity check.
11 years ago
Richard Barry
ba6d285ea8
Minor updates to ensure all kernel aware debuggers are happy with V8.
11 years ago
Richard Barry
e101e7e437
Update version number to V8.0.0 (without the release candidate number).
11 years ago
Richard Barry
38ae9b76bc
Add logic to determine the tick timer source and vector installation into the PIC32MZ port assembly file to allow more efficient interrupt entry.
11 years ago
Richard Barry
0f6b699eef
Linting.
11 years ago
Richard Barry
e4dbc6b770
Make xEventGroupSetBitsFromISR() a function when configUSE_TRACE_FACILITY is enabled to allow the inclusion of a trace macro.
11 years ago
Richard Barry
84f4ae9aa0
Make xTaskIsTaskSuspended() a private function as it should only be called from within critical sections.
...
Fix issue in and simplify the xTaskRemoveFromUnorderedEventList() function. The function is new to the V8 release candidates so does not effect official released code.
11 years ago
Richard Barry
d12ec14160
Add configCLEAR_TICK_INTERRUPT() to the IAR and RVDS Cortex-A9 ports.
...
Replace LDMFD with POP instructions in IAR and RVDS Cortex-A9 ports.
Replace branch to address with indirect branch and exchange to address in register in the IAR and RVDS Cortex-A9 ports.
11 years ago
Richard Barry
f843888e60
Complete GCC/Cortex-A9 port.
11 years ago
Richard Barry
51ea2639a9
vQueueAddToRegistry() now takes a const char * instead of a char *.
...
tmrCOMMAND_CHANGE_PERIOD_FROM_ISR constant added for the "FromISR" version of the software timer change period API function.
11 years ago
Richard Barry
6130fec60e
Introduce xTimerPendFunctionCall().
...
Change INCLUDE_xTimerPendFunctionCallFromISR to INCLUDE_xTimerPendFunctionCall
Update event group trace macros to match the new trace recorder code.
Ensure parameter name consistency by renaming any occurrences of xBlockTime and xBlockTimeTicks to xTicksToWait.
Continue work on GCC/RL78 port - still a work in progress.
Adjust how the critical section was used in xQueueAddToSet.
11 years ago
Richard Barry
b352be2e23
Tidy up GCC Cortex-A port layer - still a work in progress.
11 years ago
Richard Barry
14f895478d
Continue work on GCC/Cortex-A port layer.
11 years ago
Richard Barry
1e26b1875f
Remove #error that attempted to catch stdint.h not being included.
...
Split the previously overloaded trmCOMMAND_nnn definitions into individual definitions to enable better logging.
11 years ago
Richard Barry
d0323e67ae
Continue working on GCC/CA_9 port layer - tick interrupt now working but needs tidy up.
11 years ago
Richard Barry
3e430b3801
Carry on working on the Cortex-A/GCC port layer - still a work in progress.
11 years ago
Richard Barry
86023aa5a6
Beginnings of GCC Cortex-A port - not yet completely converted from IAR version.
11 years ago
Richard Barry
d8c135e2dc
Add extern 'C' to FreeRTOS.h.
...
Remove obsolete extern declaration of vTaskSwitchContext() from the MPX430X IAR portmacro.h (other older portmacro.h header files contain the same declaration).
11 years ago
Richard Barry
a1b8079df1
Introduce configENABLE_BACKWARD_COMPATIBILITY to allow the #defines that provide backward compatibility with FreeRTOS version prior to V8 to be optionally omitted.
11 years ago
Richard Barry
f01bf9fdc3
Add additional NOP after EINT instruction in MSP430 ports.
11 years ago
Richard Barry
1aaa80fba6
Map portTICK_RATE_MS to portTICK_PERIOD_MS.
11 years ago
Richard Barry
a56d4b998c
Minor tidy ups that don't effect code generation, plus:
...
When a task is unblocked the need for a context switch is only signalled if the unblocked task has a priority higher than the currently running task, instead of higher than or equal to the priority of the currently running task.
11 years ago
Richard Barry
723682f1dd
Minor comment corrections prior to tagging.
11 years ago
Richard Barry
a8836b5c43
Change version numbers ready for V8.0.0 release candidate 1 tag.
11 years ago
Richard Barry
2aa19f1a14
Add xEventGroupClearBitsFromISR() and xEventGroupGetBitsFromISR() functions.
...
Move some types defines out of generic kernel headers into feature specific headers.
Convert the function prototype dypedefs to the new _t naming.
11 years ago
Richard Barry
e95b482f56
Minor updates to demo projects to ensure correct building with V8 rc1.
11 years ago
Richard Barry
2b6eb1c5ab
Revert some library files back to using standard types as they are not FreeRTOS files.
11 years ago
Richard Barry
3e20aa7d60
Replace standard types with stdint.h types.
...
Replace #define types with typedefs.
Rename all typedefs to have a _t extension.
Add #defines to automatically convert old FreeRTOS specific types to their new names (with the _t).
11 years ago
Richard Barry
b4116a7c7d
Change the type used for strings and single characters from signed char to just char.
11 years ago
Richard Barry
b3aa1e90ad
Add additional const qualifiers.
11 years ago
Richard Barry
6179690dc9
Don't free xQueue->ucHead if it is NULL.
11 years ago
Richard Barry
c861e3883d
Add coverage test markers.
11 years ago
Richard Barry
64ad1c00b5
In process of module testing event_groups.c.
...
Introduce xPortRunning variable into Win32 simulator port layer.
Add port optimised task selection macro for the GCC Win32 port layer (the MSVC version has had one for a while).
Ensure the event list item value does not get modified by code in tasks.c (priority inheritance, or priority change) when it is in use by the event group implementation.
11 years ago
Richard Barry
4b2f9dad42
Force the SysTick clock bit to be set in Cortex-M3 and Cortex-M4F bits if configSYSTICK_CLOCK_HZ is not defined, otherwise leave the bit as it is found as the SysTick may use a divided clock.
11 years ago
Richard Barry
a320d6dffd
Update the ucQueueNumber member of the queue structure (used with FreeRTOS+Trace to be an unsigned portBASE_TYPE instead of an unsigned char.
11 years ago
Richard Barry
c17c65fc09
Introduce prvResetNextTaskUnblockTime() to encapsulate functionality from various places in the code into a single function.
11 years ago
Richard Barry
acad916453
Change the way one thread deletes another in the Windows simulator port (the way one thread deleted itself was already changed in a previous check-in).
...
Reset the expected block time variable when a task is suspended or deleted in case the value held in the variables was associated with the task just suspended or deleted.
11 years ago
Richard Barry
0d1e12522b
Update Cortex-M3 and Cortex-M4F ports to allow the SysTick to be clocked at a different speed than the system clock (as is done in the recent STM32L demo. ).
...
Add additional asserts and isb instructions into the Cortex-M3 and Cortex-M4F ports.
11 years ago
Richard Barry
6b3393b4b6
Add trace macros into the event groups implementation.
...
Add a task pre-delete hook to allow the insertion of any port specific clean up when a task is deleted.
Increase use of 'const' qualifiers.
Add vPortCloseRunningThread() into the Win32 port layer to attempt to allow Windows threads to be closed more gracefully when a task deletes itself.
11 years ago
Richard Barry
00ad1a0200
Multiple tidy up, documentation corrections and typo corrections highlighted by Tamas Kleiber's diligent review.
11 years ago
Richard Barry
2e42d7690a
Continue work on new event groups functionality - fixups required by test results.
11 years ago
Richard Barry
d2c2e3ca68
Add additional asserts() to ensure certain operations are not performed when the scheduler is suspended.
...
Change the xBlockTime variables in event_groups.c/h to xTicksToWait to match the naming in other core FreeRTOS files.
11 years ago
Richard Barry
9dc39ee2a7
Add additional event group tests - and update implementation as required by test results.
11 years ago
Richard Barry
f54f21b8f6
Add event_groups.c and associated functions in other core files.
...
Added xTimerPendCallbackFromISR() to provide a centralised deferred interrupt handling mechanism.
Add xPortGetLowestEverFreeHeapSize() to heap_4.c.
11 years ago
Richard Barry
417c3d1054
Change backslashes to forward slashes for all PIC projects.
11 years ago
Richard Barry
fa002f7fdd
Final tidy up before V7.6.0 zip file creation.
11 years ago
Richard Barry
a2cfaa7cd9
Correct build of helper function for ports where the stack grows up.
11 years ago
Richard Barry
0cd79ad81d
Change version numbers in preparation for V7.6.0 release.
11 years ago
Richard Barry
b1b4b15353
Add configASSERT()s to ensure counting semaphores are not created with a max count of zero or an initial count greater than the max count.
11 years ago
Richard Barry
b181a3af99
Ensure the definition of prvTaskExitError()does not result in a compiler warning in ports where its use can be overridden (GCC Cortex-M ports).
...
Remove duplicate save/restore of r14 in Cortex-M4F ports.
11 years ago
Richard Barry
20eb03ed7d
Change behaviour when configUSE_PREEMPTION is 0 (preemption is turned off). See the change history in the next release for details.
...
Remove an erroneous const in the prototype of queue receive/peek functions.
11 years ago
Richard Barry
30bc6c01a9
Add ehb instructions back into PIC32 port layer (upon advice).
...
Add configCLEAR_TICK_TIMER_INTERRUPT into PIC32 port layer to allow the timer configuration to be changed without any edits to the port layer being required.
Add prvTaskExitError() into the PIC32 port layer to trap tasks that attempt to exit from their implementing function.
Provide the ability to trap interrupt stack overflows in the PIC32 port.
Radically improve the timing in the Win32 simulator port layer.
11 years ago
Richard Barry
dcf261a3e6
Add xSemaphoreCreateBinary() so vSemaphoreCreate() can be deprecated.
11 years ago
Richard Barry
dcd261bb8b
Update the Keil and IAR CM0 port layers to match the changes made to the GCC version.
11 years ago
Richard Barry
41fe693968
Improve how the scheduler is started in the GCC Cortex-M0 port.
11 years ago
Richard Barry
25bab250b6
Added a little intelligence to eTaskGetState() so it can distinguish between a suspended task and a task that is indefinitely blocked on an event.
11 years ago
Richard Barry
a12ea2d212
Update FreeRTOS version number to V7.5.3
...
Update FreeRTOS+CLI version number to V1.0.2
Update FreeRTOS+UDP version number to V1.0.1
11 years ago
Richard Barry
94607d83f9
Add workaround to XMC4000 silicon bug to Tasking Cortex-M4F port layer.
11 years ago
Richard Barry
0c56f5018d
Add some defensive programming in the default tickless mode in case the application supplied post tick hook takes a long time to complete.
11 years ago
Richard Barry
aedf7824cb
Introduce the prvTaskExitError() function for all ARM_CMn ports.
...
Introduce the configTASK_RETURN_ADDRESS macro for the GCC ARM_CMn ports.
Improve time slippage penalty when entering tickless mode is abandoned.
11 years ago
Richard Barry
eaacbb099a
Clear up a few compiler warnings.
...
Correct header comments in the UARTCommandConsole.c file used in the SmartFusion2 demo.
Exercise the new xQueueSpacesAvailable() function in the MSVC demo.
Add defaults for the new traceMALLOC and traceFREE trace macros.
Catch tasks trying to exit their functions in the Cortex-M0 ports.
Add additional comments to timers.c in response to a support forum question.
Initialise _impure_ptr prior to the first task being started.
Prior to V7.5.0 a yield pended in the tick hook would have occurred during the same tick interrupt. Return pdTRUE from xTaskIncrementTick() if a yield is pending to revert to that behaviour.
11 years ago
Richard Barry
7ec4773131
Add traceMALLOC() and traceFREE() macros.
11 years ago
Richard Barry
1902d2b64a
Add the uxQueueSpacesAvailable() API function.
...
Move a configASSERT() call in timers.c to prevent a "condition is always true" compiler warning.
12 years ago
Richard Barry
73606369c4
Make Cortex-M0 set/clear interrupt flag from ISR functions nestable.
...
Don't reset the stack location when starting the scheduler in Cortex-M0 ports as the vector offset register is not implemented and XMC1000 devices have their application vector address somewhere other than 0x00.
12 years ago
Richard Barry
574f5044a6
Starting point for Keil Cortex-M0 port.
12 years ago
Richard Barry
c40370e96a
Fix a few typos and remove the "register" keyword.
12 years ago
Richard Barry
63e8044d33
Allow compilation when portALT_GET_RUN_TIME_COUNTER_VALUE() is defined.
12 years ago
Richard Barry
2f754d9b0c
Add additional critical section to the default tickless implementations.
...
Update version number for maintenance release.
12 years ago
Richard Barry
3cbe0a724d
Update version number.
12 years ago
Richard Barry
8ceb665994
Void a few unused return values and make casting more C++ friendly.
12 years ago
Richard Barry
bb2093cf5d
Update the header file included in the PIC32 port_asm.S file to use the header for the latest compiler version.
12 years ago
Richard Barry
679a3c670c
Update the Cortex-M vPortValidateInterruptPriority() implementation to ensure compatibility with the STM32 standard peripheral library.
12 years ago
Richard Barry
9054485f1a
Tidy up pre-processor as final act before tagging as V7.5.0
12 years ago
Richard Barry
08057fa77f
Changes to comments only.
12 years ago
Richard Barry
203ae64600
Rename xTaskGetSystemState() uxTaskGetSystemState().
12 years ago
Richard Barry
92fae7d262
For consistency change the name of configINCLUDE_STATS_FORMATTING_FUNCTIONS to configUSE_STATS_FORMATTING_FUNCTIONS.
12 years ago
Richard Barry
7d6758ee1a
Minor updates and change version number for V7.5.0 release.
12 years ago
Richard Barry
7d1292ced2
Linting and MISRA checking
12 years ago
Richard Barry
e83b93f5fc
Tidy up comments only.
12 years ago
Richard Barry
ce9c3b7413
Variable name change in the PIC32 port layer only.
12 years ago
Richard Barry
1e17924fa8
Update doxygen comments.
12 years ago
Richard Barry
da0fff63c9
Update Cortex-M MPU version to include new API functions.
12 years ago
Richard Barry
e5d9640863
Update RX ports to only include additional check on the existing IPL (so it is not lowered) if configASSERT() is defined.
12 years ago
Richard Barry
4b964814de
Implement portASSERT_IF_INTERRUPT_PRIORITY_INVALID() for PIC32.
12 years ago
Richard Barry
ad8fa53043
Kernel optimisations.
12 years ago
Richard Barry
c9d9bddc3c
Add comments to the portASSERT_IF_INTERRUPT_PRIORITY_INVALID() calls in the core queue.c and tasks.c files.
12 years ago
Richard Barry
5d902f2b9c
Complete additions of portASSERT_IF_INTERRUPT_PRIORITY_INVALID() for all RX compiler ports.
12 years ago
Richard Barry
65704174c9
Add portASSERT_IF_INTERRUPT_PRIORITY_INVALID() implementation to the RX ports that use the Renesas compiler.
...
Add portASSERT_IF_INTERRUPT_PRIORITY_INVALID() implementation to the Cortex-A9 ports.
12 years ago
Richard Barry
0f6b0d3a59
Enhance heap_4.c to prevent blocks accidentally being freed twice, or blocks that don't have a valid block link descriptor being freed.
...
Update the Cortex-A9 port to include asserts if an ISR safe FreeRTOS function is called from an interrupt that has a higher logical priority than configMAX_SYSCALL_INTERRUPT_PRIORITY (or whatever the CA9 equivalent is called), and also assert if the binary point is not set correctly.
12 years ago
Richard Barry
c4eef61d39
Added portASSERT_IF_INTERRUPT_PRIORITY_INVALID() implementation to Cortex-M3 and Cortex-M4F ports.
12 years ago
Richard Barry
b521d70e7e
Remove compiler warnings.
12 years ago
Richard Barry
c1b4fc58d2
Add new xTaskGetSystemState() API function to return raw data on each task in the system.
...
Relegate the vTaskList() and vTaskGetRunTimeStats() functions to "sample" functions demonstrating how to use xTaskGetSystemState() to generate human readable status information.
Introduce and default configINCLUDE_STATS_FORMATTING_FUNCTIONS which must now be defined to use vTaskList() and vTaskGetRunTimeStats().
12 years ago
Richard Barry
877ce218a4
Add additional comment only.
12 years ago
Richard Barry
0c0b54c175
Refine the default tickless idle implementation in the Cortex-M3 port layers.
12 years ago
Richard Barry
b8a219b30c
Update QueueOverwrite.c to include a call to xQueuePeekFromISR().
...
Default new QueuePeekFromISR() trace macros.
12 years ago
Richard Barry
3b02b4c8f8
Add xQueueOverwriteFromISR() and update the QueueOverwrite.c to demonstrate its use.
12 years ago
Richard Barry
671949ad78
Add xQueueOverwrite() and a common demo task to demonstrate its use.
...
Update MSVC Win32 demo to include the xQueueOverwrite() common demo tasks.
12 years ago
Richard Barry
59f75a12f6
Add Newlib reent support.
12 years ago