Richard Barry [Tue, 28 Jan 2014 12:32:03 +0000 (12:32 +0000)]
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.
Richard Barry [Mon, 27 Jan 2014 10:33:57 +0000 (10:33 +0000)]
Uncheck the "Do not search standard system directories for header files" compiler option in two RX600 project to ensure stdint.h can be found correctly.
Richard Barry [Sat, 25 Jan 2014 17:01:41 +0000 (17:01 +0000)]
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.
Richard Barry [Thu, 23 Jan 2014 14:51:53 +0000 (14:51 +0000)]
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.
Richard Barry [Fri, 17 Jan 2014 09:45:02 +0000 (09:45 +0000)]
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).
Richard Barry [Mon, 13 Jan 2014 20:26:47 +0000 (20:26 +0000)]
Introduce configENABLE_BACKWARD_COMPATIBILITY to allow the #defines that provide backward compatibility with FreeRTOS version prior to V8 to be optionally omitted.
Richard Barry [Sun, 5 Jan 2014 20:12:20 +0000 (20:12 +0000)]
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.
Richard Barry [Tue, 31 Dec 2013 16:45:49 +0000 (16:45 +0000)]
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.
Richard Barry [Sun, 29 Dec 2013 14:06:04 +0000 (14:06 +0000)]
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).
Richard Barry [Mon, 23 Dec 2013 16:02:03 +0000 (16:02 +0000)]
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.
Richard Barry [Sun, 15 Dec 2013 10:27:37 +0000 (10:27 +0000)]
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.
Richard Barry [Thu, 12 Dec 2013 16:07:24 +0000 (16:07 +0000)]
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.
Richard Barry [Thu, 12 Dec 2013 14:07:20 +0000 (14:07 +0000)]
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.
Richard Barry [Thu, 12 Dec 2013 10:19:07 +0000 (10:19 +0000)]
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.
Richard Barry [Sun, 24 Nov 2013 10:11:16 +0000 (10:11 +0000)]
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.
Richard Barry [Thu, 21 Nov 2013 21:46:08 +0000 (21:46 +0000)]
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.
Richard Barry [Mon, 11 Nov 2013 14:49:36 +0000 (14:49 +0000)]
Update the SAM4L low power demo to use the ASF enable/disable interrupts functions rather than manipulating the PIRMASK directly - and in so doing allow other ASF functions to be called with the interrupt enable bit nesting.
Richard Barry [Thu, 7 Nov 2013 16:43:54 +0000 (16:43 +0000)]
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.
Richard Barry [Thu, 7 Nov 2013 14:58:14 +0000 (14:58 +0000)]
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.
Richard Barry [Thu, 7 Nov 2013 14:16:32 +0000 (14:16 +0000)]
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.