Commit graph

525 commits

Author SHA1 Message Date
Richard Barry a3c2f45116 Move the event groups single tasks test out of the common demo file (they are now part of the module tests). 2013-12-23 18:13:29 +00:00
Richard Barry c861e3883d Add coverage test markers. 2013-12-23 18:11:15 +00:00
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.
2013-12-23 16:02:03 +00:00
Richard Barry 0147415c40 Change some task priorities in the MingW simulator demo. 2013-12-20 11:35:16 +00:00
Richard Barry 39b2d049a6 Update GCC/Eclipse Win32 simulator port to make better use of Eclipse resource filters and match the functionality of the MSVC equivalent. 2013-12-19 13:40:37 +00:00
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. 2013-12-15 10:27:37 +00:00
Richard Barry 040a7c02df Change the configCPU_CLOCK_HZ setting in the SAM4E demo to use the SystemCoreClock variable. 2013-12-15 10:17:02 +00:00
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. 2013-12-14 13:16:05 +00:00
Richard Barry c17c65fc09 Introduce prvResetNextTaskUnblockTime() to encapsulate functionality from various places in the code into a single function. 2013-12-13 10:35:11 +00:00
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.
2013-12-12 16:07:24 +00:00
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.
2013-12-12 14:07:20 +00:00
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.
2013-12-12 10:19:07 +00:00
Richard Barry 0416289066 Comment typo correction only. 2013-12-11 17:56:07 +00:00
Richard Barry ed54bc497d Complete STM32L low power demo. 2013-12-11 11:35:03 +00:00
Richard Barry 4b655ac3bb Remove [unused] touch library files from the STM32L discovery demo. 2013-12-11 10:46:17 +00:00
Richard Barry 0028cc48c1 Remove unused files from STM32L discovery board demo directory structure and build. 2013-12-10 17:16:45 +00:00
Richard Barry 751103d848 Tidy up STM32L low power demo and add 'comprehensive demo' option. 2013-12-10 16:20:43 +00:00
Richard Barry 5638fe28a2 Remove duplication of comments at the top of the file. 2013-12-10 11:24:41 +00:00
Richard Barry 3d00d47239 STM32L discovery demo is now demonstrating three low power modes - still needs clean up. 2013-12-10 10:07:53 +00:00
Richard Barry 9001b7b77a Minor change to SAM4L_low_power_tick_management.c to ensure the alarm value cannot be set to zero. 2013-12-08 06:32:38 +00:00
Richard Barry e682aec507 Spelling corrections in comments only. 2013-11-28 13:24:05 +00:00
Richard Barry 00ad1a0200 Multiple tidy up, documentation corrections and typo corrections highlighted by Tamas Kleiber's diligent review. 2013-11-28 10:48:33 +00:00
Richard Barry 2e42d7690a Continue work on new event groups functionality - fixups required by test results. 2013-11-27 20:29:33 +00:00
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.
2013-11-24 10:11:16 +00:00
Richard Barry 5037ecdc5c Checked in header file missed form previous checkin. 2013-11-22 11:05:24 +00:00
Richard Barry 9dc39ee2a7 Add additional event group tests - and update implementation as required by test results. 2013-11-22 10:58:25 +00:00
Richard Barry a22d5ff5a5 Add event groups test/demo tasks. 2013-11-21 22:08:06 +00:00
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.
2013-11-21 21:46:08 +00:00
Richard Barry faed443e82 Continue work on STM32L demo. 2013-11-21 16:08:11 +00:00
Richard Barry b89fd7c1e3 Add STM32L Discovery board project as a starting point to adapt to an RTOS demo. 2013-11-20 13:33:30 +00:00
Richard Barry 417c3d1054 Change backslashes to forward slashes for all PIC projects. 2013-11-18 16:00:27 +00:00
Richard Barry c6020ae8b4 Change conf_eth.h to provide additional Rx buffers in SAM4E demo. 2013-11-17 22:15:45 +00:00
Richard Barry fa002f7fdd Final tidy up before V7.6.0 zip file creation. 2013-11-17 15:46:08 +00:00
Richard Barry c2bfac68b3 Add link to documentation page inside main_full() of the SAM4E demo. 2013-11-17 15:40:56 +00:00
Richard Barry 0cbd5182a3 Add additional comments to SAM4E demo. 2013-11-17 14:14:22 +00:00
Richard Barry 0865907f3f Add graphics to the SAM4E demo. 2013-11-16 22:33:51 +00:00
Richard Barry 9e9f9f30b1 Add UDP related commands to SAM4E demo. 2013-11-16 19:19:18 +00:00
Richard Barry b690b26861 Add standard demo tasks to SAM4E demo. 2013-11-16 18:06:57 +00:00
Richard Barry dc2e20bb0a Add SAM4E-EK demo with UDP and CLI. Not yet complete. 2013-11-16 13:27:44 +00:00
Richard Barry a37b947615 Reorder the license text wording so the exception text is at the top rather than the bottom. 2013-11-12 17:26:08 +00:00
Richard Barry a2cfaa7cd9 Correct build of helper function for ports where the stack grows up. 2013-11-12 13:06:18 +00:00
Richard Barry 8320dfb885 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. 2013-11-11 14:49:36 +00:00
Richard Barry 0cd79ad81d Change version numbers in preparation for V7.6.0 release. 2013-11-08 11:47:35 +00:00
Richard Barry c44d12dadb Ensure the Win32 demo runs in co-operative mode. 2013-11-08 10:11:46 +00:00
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. 2013-11-07 16:45:30 +00:00
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.
2013-11-07 16:43:54 +00:00
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.
2013-11-07 14:58:14 +00:00
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.
2013-11-07 14:16:32 +00:00
Richard Barry 40d2e74417 Update some standard demo task implementations so they can be used with the cooperative scheduler. 2013-11-07 14:04:05 +00:00
Richard Barry 5aabe4f8fb Update semtest.c to use xSemaphoreCreateBinary() in place of vSemaphoreCreateBinary. 2013-11-07 11:11:18 +00:00
Richard Barry dcf261a3e6 Add xSemaphoreCreateBinary() so vSemaphoreCreate() can be deprecated. 2013-11-07 10:53:23 +00:00
Richard Barry ca2191c6ee Ensure PIC32MX MPLAB 8 project builds with XC. 2013-11-07 10:16:15 +00:00
Richard Barry 9a0f2bda55 Update PIC32 MPLAB8 project so it builds with the new partest file names. 2013-11-07 10:11:06 +00:00
Richard Barry 1b7a2e40a3 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.
2013-11-07 09:54:13 +00:00
Richard Barry 2ee43fbc64 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.
2013-10-29 12:40:12 +00:00
Richard Barry 73df0ffdff Update the Eclipse/MingW project to account for the new Win32 simulator port layer (which has better timing). 2013-10-29 12:32:04 +00:00
Richard Barry 15d10ce094 Update the main Win32 MSVC demo to account for the changes to the Win32 port layer (more accurate timing). 2013-10-29 11:14:54 +00:00
Richard Barry 63bd3ebbef Remove the SVC handler from the XMC1000 demo as it is no longer used by the Cortex-M0 port layer. 2013-10-22 11:27:43 +00:00
Richard Barry dcd261bb8b Update the Keil and IAR CM0 port layers to match the changes made to the GCC version. 2013-10-22 11:26:16 +00:00
Richard Barry 7bcbef721b Remove the SVC handler from the SAMD20 FreeRTOSConfig.h as the GCC Cortex-M0 port no longer uses it. 2013-10-22 10:58:23 +00:00
Richard Barry 41fe693968 Improve how the scheduler is started in the GCC Cortex-M0 port. 2013-10-22 09:50:20 +00:00
Richard Barry f64acd6a48 Added an additional configASSERT() to test the new eTaskGetState() behaviour (see previous checking comment). 2013-10-22 09:33:49 +00:00
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. 2013-10-22 09:30:58 +00:00
Richard Barry bafda11518 Remove maths library dependency form SAMD20 project. 2013-10-14 20:12:48 +00:00
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
2013-10-14 19:56:47 +00:00
Richard Barry 94607d83f9 Add workaround to XMC4000 silicon bug to Tasking Cortex-M4F port layer. 2013-10-14 14:03:05 +00:00
Richard Barry c1353bb12d Complete XMC4000 Tasking project. 2013-10-14 13:46:47 +00:00
Richard Barry b887737c34 Fix broken link in Atmel Studio SAMD20 project. 2013-10-12 10:09:10 +00:00
Richard Barry c09f6e6a9b Increase minimal stack size for the SAMD20 demo. 2013-10-09 18:46:08 +00:00
Richard Barry dcea05a81c Complete tidy up of SAMD20 demo. 2013-10-09 13:26:34 +00:00
Richard Barry 41a1dc62b7 Complete SAMD20 demo - still needs tidy up.
Add comments to the XMC1000 reg test files.
2013-10-08 15:56:06 +00:00
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. 2013-10-08 12:33:46 +00:00
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.
2013-10-08 11:30:40 +00:00
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.
2013-10-07 12:06:17 +00:00
Richard Barry 7ec4773131 Add traceMALLOC() and traceFREE() macros. 2013-10-04 20:56:45 +00:00
Richard Barry 23fa077241 Complete CLI demo on SAMD20. 2013-10-03 15:41:33 +00:00
Richard Barry 8ffa1b1736 Get CLI functioning in SAMD20 demo. 2013-10-02 14:24:38 +00:00
Richard Barry 013a3ef944 Starting point for the SAMD20 demo. 2013-10-02 10:41:40 +00:00
Richard Barry 111283a9b2 Finalise XMC4000 GCC demos. 2013-10-01 12:47:27 +00:00
Richard Barry 0185643b39 Finalise XMC4000 IAR demos. 2013-10-01 10:10:15 +00:00
Richard Barry 1e248417bc Finalise XMC4000 Keil demos. 2013-10-01 09:53:12 +00:00
Richard Barry db1a5f1553 Add the configUSE_STATS_FORMATTING_FUNCTIONS parameter to a couple of FreeRTOSConfig.h header files that got missed out when the parameter was introduced. 2013-09-17 09:48:51 +00:00
Richard Barry 988b0c1678 Remove the math library as a build dependency in the SAM4L demo. 2013-09-17 09:05:31 +00:00
Richard Barry e3b5f36c3a Move the #error message about running the CreateProjectDirectoryStructure batch file from FreeRTOSConfig.h to main.c so it shows when the batch file has not been executed (XMC4000 Dave and Tasking projects). 2013-09-10 13:58:09 +00:00
Richard Barry 1902d2b64a Add the uxQueueSpacesAvailable() API function.
Move a configASSERT() call in timers.c to prevent a "condition is always true" compiler warning.
2013-09-10 13:19:12 +00:00
Richard Barry dd3fdfa9ff Make self monitoring in QueueSet.c more robust to prevent false positives. 2013-09-10 13:09:14 +00:00
Richard Barry c63a81af99 Enable RX62N_RDK project to build with the blink configuration. 2013-09-10 13:05:00 +00:00
Richard Barry 49c602f3df Add #error into Tasking project to remind users that they need to run the CreateProjectDirectoryStructure batch file. 2013-09-10 13:03:35 +00:00
Richard Barry ae402434f8 Update Keil XMC1000 to later version. 2013-09-10 13:01:48 +00:00
Richard Barry 0e28ee90b6 Finalise XMC1000 GCC demos. 2013-09-10 12:54:15 +00:00
Richard Barry 42c0ae6bc8 Finalise XMC1000 IAR demos. 2013-09-10 12:24:55 +00:00
Richard Barry a3095b89af Finalise XMC1000 Keil demos. 2013-09-10 11:35:31 +00:00
Richard Barry 8282cc0491 Finalise XMC4000 Dave/GCC demos. 2013-09-09 16:51:19 +00:00
Richard Barry 577ff0741d Finalise XMC4000 Keil demos. 2013-09-09 16:21:46 +00:00
Richard Barry a0a96e52f2 Finalise XMC4000 IAR demos. 2013-09-09 15:55:14 +00:00
Richard Barry 41f92ced65 Add build configurations for the XMC4400 and XMC4200 to the Tasking demo project. 2013-09-05 12:00:04 +00:00
Richard Barry 77d817ffaa Update XMC4000 tasking project to use latest system files. 2013-09-05 11:37:44 +00:00
Richard Barry 7d92a29d2d Rename directories with XMC4500 in their name that now contain XMC4200 and XMC4000 build configurations to instead say XMC4000. 2013-09-04 16:06:23 +00:00
Richard Barry 117235c08a Rename directories with XMC4500 in their name that now contain XMC4200 and XMC4000 build configurations to instead say XMC4000. 2013-09-04 16:03:31 +00:00
Richard Barry d8963209c2 Reworked XMC4500 IAR project to use latest system files and include build configurations for the XMC4200 and XMC4400 parts. 2013-09-04 15:44:48 +00:00
Richard Barry aaf2d32011 Add XMC4200 and XMC4400 build configurations to the XMC4000 Dave project. 2013-09-04 14:22:45 +00:00
Richard Barry 6acac72ff1 Add Dave project for the XMC4500. 2013-09-04 10:43:31 +00:00
Richard Barry d1d925ab36 Update the Keil XMC4500 demo project to include build configurations for the XMC4200 and XMC4400 application boards. 2013-09-03 15:26:05 +00:00
Richard Barry 18c4f8e622 Make the QueueSet.c standard demo task a little friendlier to lower priority tasks.
Allow the priority of the controlling task in the recmutex.c standard demo tasks to be overridden by a setting in FreeRTOSConfig.h.
2013-09-02 16:37:56 +00:00
Richard Barry a8c2c6b3b6 Add a build configuration for the XMC1100 boot kit. 2013-09-02 16:35:54 +00:00
Richard Barry 05e0c59da8 Update RX600/Renesas compiler build configurations to use the latest compiler version. 2013-09-02 16:06:07 +00:00
Richard Barry 316b731fe9 Update RX600 blinky build configuration to include missing linker section. 2013-09-02 15:50:44 +00:00
Richard Barry b79d3de952 Continue work on XMC1000 demos. 2013-09-01 20:06:31 +00:00
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.
2013-09-01 19:53:24 +00:00
Richard Barry ed399e801e Add additional configASSERTS() to some standard demo tasks.
Use own rand() function in QueueSet.c to prevent library versions being referenced.
2013-09-01 19:45:06 +00:00
Richard Barry 33bd63e287 Rename CORTEX_M)_Infineion_Boot_Kits_IAR_Keil to CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC as it now contains projects for all three compilers. 2013-08-31 16:03:11 +00:00
Richard Barry 245ff12be8 Add a GCC project to the the XMC1000 demo directory. 2013-08-31 15:57:31 +00:00
Richard Barry f9e024d7ea Move files common to IAR and Keil projects from compiler specific directories under the XMC demo directory into the XMC demo directory itself. 2013-08-31 14:36:32 +00:00
Richard Barry 9ad0c17281 Continue work on Get clock settings in Keil and IAR XMC1000 demo working. 2013-08-31 12:43:52 +00:00
Richard Barry 710a652daf Continue work on XCM1200 Keil demo. 2013-08-30 18:05:16 +00:00
Richard Barry f0a2688200 Create full Keil project for XMC boot kit (not yet tested). 2013-08-25 17:07:56 +00:00
Richard Barry 3fe6974bf9 Starting point for XMC1000 Keil demo. 2013-08-25 01:03:56 +00:00
Richard Barry 574f5044a6 Starting point for Keil Cortex-M0 port. 2013-08-25 01:01:18 +00:00
Richard Barry c40370e96a Fix a few typos and remove the "register" keyword. 2013-08-16 13:31:54 +00:00
Richard Barry 63e8044d33 Allow compilation when portALT_GET_RUN_TIME_COUNTER_VALUE() is defined. 2013-08-14 08:35:40 +00:00
Richard Barry 2f754d9b0c Add additional critical section to the default tickless implementations.
Update version number for maintenance release.
2013-07-24 09:45:17 +00:00
Richard Barry 3cbe0a724d Update version number. 2013-07-23 10:51:45 +00:00
Richard Barry 8ceb665994 Void a few unused return values and make casting more C++ friendly. 2013-07-23 09:53:24 +00:00
Richard Barry bb2093cf5d Update the header file included in the PIC32 port_asm.S file to use the header for the latest compiler version. 2013-07-23 09:50:06 +00:00
Richard Barry 679a3c670c Update the Cortex-M vPortValidateInterruptPriority() implementation to ensure compatibility with the STM32 standard peripheral library. 2013-07-23 09:44:00 +00:00
Richard Barry f522d6a2da Remove duplicate definition from FreeRTOSConfig.h. 2013-07-23 09:36:30 +00:00
Richard Barry 9054485f1a Tidy up pre-processor as final act before tagging as V7.5.0 2013-07-19 10:22:47 +00:00
Richard Barry 08057fa77f Changes to comments only. 2013-07-19 09:16:36 +00:00
Richard Barry 203ae64600 Rename xTaskGetSystemState() uxTaskGetSystemState(). 2013-07-18 14:41:15 +00:00
Richard Barry 92fae7d262 For consistency change the name of configINCLUDE_STATS_FORMATTING_FUNCTIONS to configUSE_STATS_FORMATTING_FUNCTIONS. 2013-07-18 11:40:32 +00:00
Richard Barry 7d6758ee1a Minor updates and change version number for V7.5.0 release. 2013-07-17 18:32:57 +00:00
Richard Barry 4578154959 Remove large and unnecessary .docx files. 2013-07-16 12:01:11 +00:00
Richard Barry 7d1292ced2 Linting and MISRA checking 2013-07-15 14:27:15 +00:00
Richard Barry e83b93f5fc Tidy up comments only. 2013-07-14 13:09:18 +00:00
Richard Barry ce9c3b7413 Variable name change in the PIC32 port layer only. 2013-07-14 13:06:17 +00:00
Richard Barry 14a190e79e Update PIC32 serial.c slightly to add volatile qualifier and update to coding standard. 2013-07-14 08:46:15 +00:00
Richard Barry 1e17924fa8 Update doxygen comments. 2013-07-13 19:58:42 +00:00
Richard Barry a6db135add Fix compiler warning. 2013-07-13 19:39:07 +00:00
Richard Barry da0fff63c9 Update Cortex-M MPU version to include new API functions. 2013-07-13 19:37:35 +00:00
Richard Barry e5d9640863 Update RX ports to only include additional check on the existing IPL (so it is not lowered) if configASSERT() is defined. 2013-07-13 11:31:35 +00:00
Richard Barry 4b964814de Implement portASSERT_IF_INTERRUPT_PRIORITY_INVALID() for PIC32. 2013-07-12 19:25:21 +00:00
Richard Barry 25310a6796 Update compiler version and add configASSERT() to PIC32 MPLAB X project. 2013-07-12 19:21:10 +00:00
Richard Barry ad8fa53043 Kernel optimisations. 2013-07-12 11:11:19 +00:00
Richard Barry c9d9bddc3c Add comments to the portASSERT_IF_INTERRUPT_PRIORITY_INVALID() calls in the core queue.c and tasks.c files. 2013-07-11 10:52:43 +00:00
Richard Barry 5d902f2b9c Complete additions of portASSERT_IF_INTERRUPT_PRIORITY_INVALID() for all RX compiler ports. 2013-07-11 10:05:06 +00:00
Richard Barry 18caebf1d1 Remove commented out code. 2013-07-10 13:26:00 +00:00
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.
2013-07-09 17:57:59 +00:00
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.
2013-07-09 12:49:49 +00:00
Richard Barry 4894955a08 Correct comment only. 2013-07-04 16:05:27 +00:00
Richard Barry c4eef61d39 Added portASSERT_IF_INTERRUPT_PRIORITY_INVALID() implementation to Cortex-M3 and Cortex-M4F ports. 2013-07-04 11:20:28 +00:00
Richard Barry b521d70e7e Remove compiler warnings. 2013-07-02 12:39:16 +00:00
Richard Barry 019c6417d7 Remove compiler warnings. 2013-07-02 12:36:24 +00:00
Richard Barry 2c242cdf78 Add the new configINCLUDE_STATS_FORMATTING_FUNCTIONS configuration parameter to FreeRTOS demo application that make use of vTaskStats() or vTaskGetRunTimeStats(). 2013-07-02 12:14:49 +00:00
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().
2013-07-02 12:10:16 +00:00
Richard Barry 877ce218a4 Add additional comment only. 2013-07-01 09:05:15 +00:00
Richard Barry 625b1a7159 Add the queue overwrite demo to the RZ demo. 2013-07-01 08:49:20 +00:00
Richard Barry 0c0b54c175 Refine the default tickless idle implementation in the Cortex-M3 port layers. 2013-06-30 10:38:31 +00:00
Richard Barry 08ca5dead5 Update Win32 MSVC demo to include a simple blinky build option. The demo as it was is now the "full/comprehensive" build option. 2013-06-28 10:46:29 +00:00
Richard Barry b8a219b30c Update QueueOverwrite.c to include a call to xQueuePeekFromISR().
Default new QueuePeekFromISR() trace macros.
2013-06-28 09:21:39 +00:00
Richard Barry 3b02b4c8f8 Add xQueueOverwriteFromISR() and update the QueueOverwrite.c to demonstrate its use. 2013-06-27 14:25:17 +00:00
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.
2013-06-27 09:21:43 +00:00
Richard Barry 59f75a12f6 Add Newlib reent support. 2013-06-26 11:37:08 +00:00
Richard Barry 4444b4ee68 Improve efficiency and behaviour of vListInsertEnd(). 2013-06-26 08:58:01 +00:00
Richard Barry f11635ed91 Remove reliance on strncpy() function. 2013-06-25 14:03:02 +00:00
Richard Barry a7c47131fa Remove portALIGNMENT_ASSERT_pxCurrentTCB() macro, which serves no purpose. 2013-06-25 13:39:50 +00:00
Richard Barry 6cbbfd2eb5 Slight correction to coding standard in heap_2.c and heap_4.c. 2013-06-25 13:25:08 +00:00
Richard Barry fb47260e80 Improve efficiency of memory allocation when the memory block is already aligned correctly. 2013-06-25 12:20:29 +00:00
Richard Barry 87049ac37c Re-implement the LPC18xx and SmartFusion2 run time stats implementation to use the free running Cortex-M cycle counter in place of the systick.
Correct the run-time stats counter implementation in the RZ demo.
Guard against run time counters going backwards in tasks.c.
2013-06-25 10:44:44 +00:00
Richard Barry cdae14a8cb Replace the #define that maps the uxRecursiveCallCount to the pcReadFrom pointer with a union - although this is against the coding standard it seemed the best way of ensuring complete adherence to the C standard and allow correct builds with LLVM when the optimiser is on. 2013-06-24 12:20:00 +00:00
Richard Barry e6903dac61 Add extra debug comment into list.c. 2013-06-23 07:27:46 +00:00
Richard Barry 1cfb7b77e5 Add retarget.c to RVDS project to ensure semihosting is not used. 2013-06-20 14:59:11 +00:00
Richard Barry 3a507bdc0c Add missing function prototype. 2013-06-20 14:57:44 +00:00
Richard Barry c3f9e3c5ff Update RVDS port layer to match IAR port layer. 2013-06-20 14:56:40 +00:00
Richard Barry 018f0f602a RZ RVDS and IAR projects. 2013-06-20 12:49:53 +00:00
Richard Barry 5013baa2cd RVDS ARM Cortex-A port layer. 2013-06-20 12:47:21 +00:00
Richard Barry 04dafed839 IAR ARM Cortex-A port layer. 2013-06-20 12:20:40 +00:00
Richard Barry 2fd431e971 Modify the GCC/AVR port to make use of the xTaskIncrementTick return value.
Add pre-processor directives in the dsPIC and PIC24 port layers that allows both port files to be included in the same project.
2013-06-11 20:15:15 +00:00
Richard Barry 3aad6381e1 Update RX100 project to e2studio V2 format. 2013-06-11 20:11:29 +00:00
Richard Barry f038fd6a86 Improve the error detection in some of the standard demo tasks. 2013-06-11 18:46:00 +00:00
Richard Barry 62c0ae0926 Update port layers to make better use of the xTaskIncrementTick() return value. 2013-06-08 18:36:25 +00:00
Richard Barry c75c01ffdf Check in implementation of xTaskIncrementTick (replaced vTaskIncrementTick()). 2013-06-08 18:30:52 +00:00
Richard Barry c9b30b9fe7 Add MPLAB X project for PIC24.
Remove PIC24 demo warnings when XC16 is used as the compiler.
2013-06-08 18:19:50 +00:00
Richard Barry 2089f31f18 Update include paths in Rowley MSP430 project file. 2013-06-07 19:24:10 +00:00
Richard Barry a1ef5d6fa9 Add UV4 project to old RVDS LPC2129 UV2 directory. 2013-06-07 15:23:34 +00:00
Richard Barry 59a834eb86 Update ports that have their tick configuration in an application callback to use xTaskIncrementTick() in place of vTaskIncrementTick(). 2013-06-07 12:39:56 +00:00
Richard Barry c04b074707 Convert the remaining ports to use xTaskIncrementTick() in place of vTaskIncremenTick(). 2013-06-07 12:16:58 +00:00
Richard Barry 2fc9d033c6 Update the PIC32 port to use xTaskIncrementTick() and change the macro used to detect if XC is being used. 2013-06-07 11:15:43 +00:00
Richard Barry 51d9ee0c1c Add configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS mechanism to the relevant port.c file to allow the user to define functions that will execute in privileged mode. 2013-06-07 09:45:34 +00:00
Richard Barry 29ca4f1b36 Ensure queue functions go into the privileged code section when the MPU version is in use.
Provide a default value for configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS.
Revert prvQueueUnregisterQueue() back to a public function.
2013-06-07 09:41:15 +00:00
Richard Barry 0f3ae55e5d Add configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS mechanism to allow the user to define functions that will execute in privileged mode.
Update the Rowley MPU demo to use a version of debug_printf that runs in privileged mode to get around the problem of the RAM it uses not being under the control of the kernel.
2013-06-07 09:37:18 +00:00
Richard Barry f904d26957 Convert more ports to use xTaskIncrementTick() in place of vTaskIncrementTick(). 2013-06-06 16:31:15 +00:00
Richard Barry 15ec6c87f7 Convert mpre ports to use xTaskIncrementTick() in place of vTaskIncrementTick(). 2013-06-06 16:06:48 +00:00
Richard Barry 686d190798 Convert some ports to use xTaskIncrementTick() in place of vTaskIncrementTick().
Move DSB instructions to before WFI instructions in line with ARM recommendations.
2013-06-06 15:46:40 +00:00
Richard Barry 4e9374ad90 Add default value for configUSE_TIME_SLICING 2013-06-06 14:56:47 +00:00
Richard Barry 06953169ba Update RM48/TMS570 port to use xTaskIncrementTick in place of vTaskIncrementTick. 2013-06-06 13:06:24 +00:00
Richard Barry 0673f63e8d Ensure RM48 demo compiles in co-operative mode. 2013-06-06 12:54:00 +00:00
Richard Barry 66734268f5 Update SAM4L_low_power_tick_management.c to use xTaskIncrementTick() in place of vTaskIncrementTick(). 2013-06-06 11:26:15 +00:00
Richard Barry 2e5d812022 Tidy up the comments and use of static function prototypes in the SAM4L_low_power_tick_management.c implementation. 2013-06-06 11:19:32 +00:00
Richard Barry 3fbee4f0a8 Place DSB instruction before WFI instruction in EFMG890F128 demo. 2013-06-06 11:15:08 +00:00
Richard Barry 64bd0689c7 Update the standard Win32 demo to use the latest version of the trace recorder code. 2013-06-05 16:26:04 +00:00
Richard Barry fda145278e Remove the Chan FATfs code as FreeRTOS now ships with a proprietary file system. 2013-05-19 10:36:04 +00:00
Richard Barry 2c562bd3d7 Ensure a queue or semaphore that is not empty cannot be added to a queue set. 2013-05-19 10:11:10 +00:00
Richard Barry bb7b711ca9 Update the code that generates the run time stats strings so the pcStatsString[] array is not required. 2013-05-19 09:56:47 +00:00
Richard Barry a03b171992 Fix compiler warning in psp_test.c when compiled with ARM compiler.
Add portYIELD_FROM_ISR() macros to Cortex-M ports.  The new macro just calls the exiting portEND_SWITCHING_ISR() macro.
Remove code from the MSVC port layer that was left over from a previous implementation and become obsolete.
2013-05-19 09:43:00 +00:00
Richard Barry 9b153b3e06 Ensure the SmartFusion2 interrupt driven UART drivers are not passed a zero length buffer. 2013-05-14 13:22:37 +00:00
Richard Barry 94f178c8d1 Move SmartFusion configuration options into FreeRTOSConfig.h. 2013-05-13 10:51:31 +00:00
Richard Barry 5c5c1c406d Rename the SmartFusion2 demo directory. 2013-05-13 09:26:39 +00:00
Richard Barry 961928b0f9 Combine the SmartFusion2 starter kit and development kits demos into a single directory. 2013-05-13 09:06:50 +00:00
Richard Barry 82995fd4fd Update SmartFustion2 starter kit partest.c. 2013-05-12 20:24:42 +00:00
Richard Barry 4d966adc8b Add SmartFusion2 demo for the SmartFustion2 development kit. 2013-05-12 20:07:49 +00:00
Richard Barry 063c05ccad Convert SmartFusion2 CLI to use the interrupt UART driver functions instead of the polled UART driver functions. 2013-05-12 13:02:16 +00:00
Richard Barry 5ff880fee8 SmartFusion2 CLI working with polled UART, about to convert to interrupt driven UART. 2013-05-10 18:47:43 +00:00
Richard Barry fb9662009a Update comments in Atmel Studio CreateProjectDirectoryStructure.bat files to remove references to replace references to Eclipse with references to Atmel Studio.
Update the tickless idle implementations that use up counters for tick interrupt generate to ensure they remain in low power mode for the desired time instead of one tick less than the desired time.
2013-05-09 09:56:04 +00:00
Richard Barry e08966c7e8 Update flop.c and FreeRTOS.h to include a macro (and a default null implementation of the macro) that enables the flop tasks to register their need for a floating point context with the kernel. 2013-05-09 09:52:34 +00:00
Richard Barry b4efc0439f Update Win32 simulator so it references the FreeRTOS+Trace code from the updated FreeRTOS+ directory structure. 2013-05-09 09:50:40 +00:00
Richard Barry 410f5d45eb SmartFusion2: Change linker file to run from NVM. Add in FreeRTOS+CLI and FreeRTOS+FAT SL demo. 2013-05-07 08:46:24 +00:00
Richard Barry e3a868ca58 Blinky and full demos working on SmartFusion2. 2013-05-06 09:18:00 +00:00
Richard Barry b8d265f57f Starting point for SmartFustion2 starter kit demo. 2013-05-05 13:33:55 +00:00
Richard Barry 39147e83a0 Update version numbers in a couple of files that got left behind. 2013-05-01 09:19:09 +00:00
Richard Barry 96ceae8edd Update version number ready to release the FAT file system demo. 2013-04-30 21:42:41 +00:00
Richard Barry a4a830c44d Add FAT SL code and demo project. 2013-04-30 20:37:52 +00:00
Richard Barry bbe48d31a4 Clarify license blurb at the top of the FreeRTOS+UDP and FreeRTOS+CLI source files. 2013-04-30 20:23:06 +00:00
Richard Barry f9918345e1 Update version numbers to V7.4.1. 2013-04-18 12:58:17 +00:00
Richard Barry 2bd7d0c1f5 Commit 3 RX100 low power demos. 2013-04-17 10:04:38 +00:00
Richard Barry 2b41be4cb9 Update yield code in RX200/Renesas compiler port. 2013-04-17 08:55:16 +00:00
Richard Barry 352949af42 Update RX600 IAR RX62N demo to use latest IAR tools. 2013-04-17 08:47:27 +00:00
Richard Barry 0013028c7a Update yield code in RX600/IAR compiler port. 2013-04-17 08:46:10 +00:00
Richard Barry 4f5f527c73 Update yield code in RX600/Renesas compiler port. 2013-04-17 08:35:20 +00:00
Richard Barry b7487b8dc2 Update yield code in RX600/GCC port. 2013-04-17 08:23:02 +00:00
Richard Barry a69933782d Add RX100 Renesas compiler port layer. 2013-04-16 15:59:21 +00:00
Richard Barry 74290b4425 Add RX100 IAR port layer. 2013-04-16 15:58:46 +00:00
Richard Barry a0056e8fd3 Add RX100 GCC port layer. 2013-04-16 15:58:14 +00:00
Richard Barry 9a15f50b00 Add memory barrier instructions to Tasking CM4F port. 2013-04-16 15:50:17 +00:00
Richard Barry 7132e88685 Add memory barrier instructions to the RVDS CM3 ports. 2013-04-16 15:30:43 +00:00
Richard Barry 895ee2bb3e Add barrier instructions to IAR CM3 ports. 2013-04-16 14:56:49 +00:00
Richard Barry be7cae575d Ensure XMC demo builds with the latest IAR version. 2013-04-16 14:51:33 +00:00
Richard Barry d135e45676 Replace the read back of the software interrupt register with barrier instructions (CCS/RM48/TMS570). 2013-04-16 14:17:35 +00:00
Richard Barry 0527099b51 Add barrier instructions to the GCC CM3 ports. 2013-04-16 14:16:30 +00:00
Richard Barry 67cc013ac3 Remove duplicate #error informing people to run the CreateProjectDirectoryStructure.bat. 2013-04-16 12:49:23 +00:00
Richard Barry af023e8bf1 Remove infinite loop from task delete function. 2013-04-16 10:25:33 +00:00
Richard Barry 01202246da Add volatile keyword to GenQTest loop counter for consistency.
Remove obsolete definition from SAM4L demo.
2013-04-14 19:07:32 +00:00
Richard Barry 6d20e2b5cd Add barrier instructions to GCC CM3/4 code. 2013-04-07 19:43:52 +00:00
Richard Barry a7fb62cb9c Prepare to package up SAM4L demo. 2013-04-07 19:41:45 +00:00
Richard Barry af623460a6 Updated the sleep function to ensure it left interrupts disabled when returning. 2013-04-07 19:30:25 +00:00
Richard Barry 2cf9f1ac8c Add SAM4L demo. 2013-04-07 18:49:53 +00:00
Richard Barry 3762630f27 RL78/IAR port - Allow the end user to define their own tick interrupt configuration by defining configSETUP_TIMER_INTERRUPT(). 2013-03-25 17:00:13 +00:00
Richard Barry a9b8f0ca69 Minor mods common files to fix warnings generated by Renesas compiler.
Correct the header comments in het.c and het.h (RM48/TMS570 demo) which were corrupt.
Correct version numbers in RX63N Renesas compiler demo.
Ensure stacks set up for tasks in the RX200 port layer end on 8 byte boundaries (was 4, which didn't matter but didn't match the definition).
Replaced unqualified (unsigned) in calls to standard functions with (size_t).
2013-03-25 16:30:42 +00:00
Richard Barry 236683d74d Update the GCC RL78 demo to include four separate build configurations, each of which targets different hardware. 2013-03-19 12:24:05 +00:00
Richard Barry 3a1a500950 Rename the Demo/RL78_RL78G13_Promot_Board_IAR directory to RL78_Multiple_IAR as it now targets several different devices. 2013-03-18 16:51:43 +00:00
Richard Barry c08a0558c8 Add two additional targets to the RL78 IAR project. 2013-03-18 16:43:21 +00:00