richardbarry [Mon, 18 Feb 2013 16:41:11 +0000 (16:41 +0000)]
Update PIC32 demo application to remove reliance on PLIB functions.
Update the default low power implementation in all the Cortex-M port layers to add a small critical section.
richardbarry [Mon, 18 Feb 2013 11:20:29 +0000 (11:20 +0000)]
Add default definition for configUSE_QUEUE_SETS.
Add eTaskConfirmSleepModeStatus() (not yet tested).
Only call prvQueueUnregisterQueue() when a queue or semaphore is deleted if configQUEUE_REGISTRY_SIZE > 0.
Back out change that checks the configUSE_PORT_OPTMISED_TASK_SELECTION value before uxPriorityUsedOnEntry is set in vTaskPrioritySet as it generated more warnings (with other compilers) than it fixed.
richardbarry [Wed, 13 Feb 2013 12:03:13 +0000 (12:03 +0000)]
Update the LPC1768 project to only copy across one heap_x.c file as the addition of heap_4.c without it being excluded from the project was breaking the build.
richardbarry [Tue, 12 Feb 2013 17:35:43 +0000 (17:35 +0000)]
Added more files to the Rowley and IAR LM3S demos to test building the newer files and queue sets.
Made queue function prototypes consistent so xQueueHandle parameters are always xQueue, and xQUEUE * parameters pxQueue.
Likewise make the task API using px for pointers to TCBs, and just x for task handles.
Heap_x functions now automatically align the start of the heap without using the portDOUBLE union member.
Queue.c now includes queue.h.
richardbarry [Tue, 12 Feb 2013 14:30:12 +0000 (14:30 +0000)]
Adjusted the wrap checks in the QueueSet test task.
Added the QueueSet test to the Rowlay Stellaris and SAM4S-EK Studio demos.
Updated the MSVC demo to use heap_4.c.
richardbarry [Tue, 12 Feb 2013 10:09:36 +0000 (10:09 +0000)]
Improve QueueSet.c test coverage by reading the queue set from an ISR to force paths through the queue locking and unlocking.
Add the FreeRTOS+Trace recorder into the Win32 MSVC demo.
Added more functions, including the queue set functions, to the MPU port.
richardbarry [Thu, 7 Feb 2013 15:10:25 +0000 (15:10 +0000)]
Next revision of queue set implementation.
Make conditional compilation syntax and commenting consistent.
Add common demo tasks to demonstrate queue sets.
richardbarry [Thu, 31 Jan 2013 15:27:00 +0000 (15:27 +0000)]
remove the additional line added to the MPU port.c as the original code was correct. Instead remove the alignment assert by adding #define portALIGNMENT_ASSERT_pxCurrentTCB ( void )
to the portmacor.h file.
richardbarry [Thu, 31 Jan 2013 14:18:03 +0000 (14:18 +0000)]
Added INCLUDE_xSemaphoreGetMutexHolder() default.
Changed eTaskStateGet() to eTaskGetState() and added #define to ensure backward compatibility.
Added configEXPECTED_IDLE_TIME_BEFORE_SLEEP definition - was previously hard coded to 2.
Slight change to the default CM3 tickless sleep function to allow the idle time to be set to zero in the pre-sleep processing macro.
Changed stack alignment for the FreeRTOS-MPU port to ensure it didn't trigger the assert() in the generic create function.
richardbarry [Wed, 23 Jan 2013 16:06:45 +0000 (16:06 +0000)]
Replace the CLZ function with a CLZ intrinsic in the Cortex-R4 port layer.
Add EDS support in the PIC24 port layer.
Remove unnecessary EHB instructions from PIC32 port.
In the PIC32 port assembly code, replace the &= code with a single ins instruction.
richardbarry [Sun, 18 Nov 2012 09:13:39 +0000 (09:13 +0000)]
Move the call that sets xTimeNow inside the loop that drains the timer queue to ensure higher priority tasks that pre-empt the timer daemon cannot post messages that appear to be in the future to the daemon task.
richardbarry [Sat, 17 Nov 2012 19:23:30 +0000 (19:23 +0000)]
Default configUSE_TICKLESS_IDLE to 0 when it is not defined.
Move location of traceTASK_CREATE() macro call.
Remove obsolete handling of trmCOMMAND_PROCESS_TIMER_OVERFLOW as the command was never used in release versions.
Update PIC32 port to make use of configUSE_PORT_OPTIMISED_TASK_SELECTION.
Make small modification in GCC CM3 port when configUSE_PORT_OPTIMISED_TASK_SELECTION is set to 1 to remove compiler warning.
Correct #if( configMAX_PRIORITIES >= 32 ) check performed when configUSE_PORT_OPTIMISED_TASK_SELECTION == 1 to instead be #if( configMAX_PRIORITIES > 32 ).
Replace the need for taskCHECK_READY_LIST() by instead making vListRemove() return the number of items that remain in the list once the list item has been removed.
Added Cortex-M optimised code to the IAR, GCC and Keil Cortex-M port layers.
Tested and updated a few Cortex-M projects to use configUSE_PORT_OPTIMISED_TASK_SELECTION set to 1.
Allow mutex type semaphores to be given from an interrupt (not a normal thing to do - use a binary semaphore!).
Allow FreeRTOS+CLI commands to have spaces at the end without it being taken as a parameter.
richardbarry [Fri, 31 Aug 2012 13:10:20 +0000 (13:10 +0000)]
Improve command input string handling in FreeRTOS+CLI to allow allow commands to be sub-strings of each other, and not to count trailing white space as a parameter.
richardbarry [Sun, 12 Aug 2012 17:05:23 +0000 (17:05 +0000)]
Remove the remnants of the legacy trace functionality (since replaced with FreeRTOS+Trace).
Replaced the #error that traps configMAX_SYSCALL_INTERRUPT_PRIORITY being set to 0 with a configASSERT() for GCC Cortex-M3/4 ports as the #error does not work if configMAX_SYSCALL_INTERRUPT_PRIORITY includes any casting. Not a problem for other compilers as they cannot have casting anyway as that would break the assembly code.
richardbarry [Fri, 3 Aug 2012 15:21:21 +0000 (15:21 +0000)]
Add vQueueDelete() to the MPU port.
Added volatile key word to the queue xRxLock and xTxLock members.
Ensure the portPRIVILEGED_BIT bit is set when the timer task is being created by the kernel - as it was for the idle task. Necessary for MPU port.
Add in a couple of extra list macros for use with FreeRTOS+UDP.
Allow the ISR safe queue send and receive functions to set the higher priority task woken pointer to NULL.
Add the macro xSemaphoreTakeFromISR().
Add #error strings if configMAX_SYSCALL_INTERRUPT_PRIORITY is set to 0.
Corrected the prototype of vApplicationStackOverflowHook().
Changed the dimensioning of the buffer declared in prvListTaskWithinSingleList() to make use of the configMAX_TASK_NAME_LEN setting.
richardbarry [Thu, 17 May 2012 08:22:27 +0000 (08:22 +0000)]
Added INCLUDE_xQueueGetMutexHolder macro.
Removed the "-rc1" that was accidentally left on the version number of some Win32 port files.
Changed the behaviour of xQueueGenericReset() so queues can be reset when tasks are blocked on them.
Update the RX63N RDK demo to use the latest (at the time of writing) Renesas RDK BSP.
Ethernet is still not included.
The configuration is still set for the ES chip.
Update the RX63N RSK demo to use the latest (at the time of writing) Renesas RSK BSP.
Ethernet is still not included.
The configuration is still set for the ES chip.
Set the last return address at the bottom of the stack to 0 in the RX600 ports to prevent E2Studio from attempting to dereference the 0xdeadbeef pointer.
Added the FreeRTOS/WorkingCopy/Demo/CORTEX_M4F_Infineon_XMC4500_IAR/settings directory to ensure the files open up in the IDE in the correct place when the project is first opened.
Add #error statements in FreeRTOSConfig.h header files where the CreateProjectDirectoryStructure.bat should be executed prior to the first build.
Added the CreateProjectDirectoryStructure.bat file for the XMC4500 Tasking demo.