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.
Richard Barry [Thu, 7 Nov 2013 09:54:13 +0000 (09:54 +0000)]
Update PIC32MX demo:
Change configCHECK_FOR_STACK_OVERFLOW to 3 to also check the interrupt stack.
Add a build configuration to allow use on the PIC32 USBII starter kit.
Increase some delays when talking to the LCD to ensure it always displays correctly.
Rewrite the register test tasks.
Richard Barry [Tue, 29 Oct 2013 12:40:12 +0000 (12:40 +0000)]
Set the MSVC Win32 demo back to create the simply blinky demo by default.
Set the MingW Wind32 demo back to include the #error to remind people to run the CreateProjectDirectoryStructure batch file.
Richard Barry [Wed, 23 Oct 2013 10:28:17 +0000 (10:28 +0000)]
Ensure the private port number wrap check is inside the critical section in prvGetPrivatePortNumber() (UDP).
Add missing default values for some of the trace macros.