]> begriffs open source - freertos/log
freertos
8 years agoUpdates to prevent warnings when compiled with LLVM.
Richard Barry [Mon, 10 Apr 2017 00:26:22 +0000 (00:26 +0000)]
Updates to prevent warnings when compiled with LLVM.

8 years agoEnsure the PIC32 interrupt stack is 8 byte aligned for all values of configISR_STACK_...
Richard Barry [Sun, 9 Apr 2017 20:13:48 +0000 (20:13 +0000)]
Ensure the PIC32 interrupt stack is 8 byte aligned for all values of configISR_STACK_SIZE.

8 years agoPIC32MZ project using later MPLAB X tools.
Richard Barry [Sun, 9 Apr 2017 19:35:32 +0000 (19:35 +0000)]
PIC32MZ project using later MPLAB X tools.

8 years agoChange name of the CEC and MEC directory to CORTEX_CEC_MEC_17xx_51xx_Keil_GCC as...
Richard Barry [Tue, 4 Apr 2017 20:21:40 +0000 (20:21 +0000)]
Change name of the CEC and MEC directory to CORTEX_CEC_MEC_17xx_51xx_Keil_GCC as it is also applicable to the MEC5105 part.

8 years agoChange name of the CEC and MEC directory to CORTEX_MPU_CEC_MEC_17xx_51xx_Keil_GCC...
Richard Barry [Tue, 4 Apr 2017 20:16:37 +0000 (20:16 +0000)]
Change name of the CEC and MEC directory to CORTEX_MPU_CEC_MEC_17xx_51xx_Keil_GCC as it is also applicable to the MEC5105 part.

8 years agoUpdates to the Cortex-M tickless idle code to reduce clock slippage.
Richard Barry [Tue, 28 Mar 2017 03:13:48 +0000 (03:13 +0000)]
Updates to the Cortex-M tickless idle code to reduce clock slippage.
Updates to prevent the vTaskSwitchContext() function being removed from GCC builds when link time optimisation is used.

8 years agoEnable button interrupts in the MSP432 demos in order to test code paths when an...
Richard Barry [Tue, 28 Mar 2017 03:12:20 +0000 (03:12 +0000)]
Enable button interrupts in the MSP432 demos in order to test code paths when an MCU exits low power mode for a reason other than a tick interrupt.

8 years agoEnsure vTaskGetInfo() sets the sate of the currently running task to eRunning - previ...
Richard Barry [Mon, 27 Mar 2017 20:31:03 +0000 (20:31 +0000)]
Ensure vTaskGetInfo() sets the sate of the currently running task to eRunning - previously it was set to eReady.

8 years agoMaintenance on MSP432 demo.
Richard Barry [Thu, 9 Mar 2017 02:13:40 +0000 (02:13 +0000)]
Maintenance on MSP432 demo.

8 years agoHousekeeping check-in, no code changes.
Richard Barry [Wed, 8 Mar 2017 22:19:14 +0000 (22:19 +0000)]
Housekeeping check-in, no code changes.

8 years agoAdd CEC and MEC 17xx demo that is completely statically allocated. NOT FULLY TESTED...
Richard Barry [Wed, 8 Mar 2017 18:38:02 +0000 (18:38 +0000)]
Add CEC and MEC 17xx demo that is completely statically allocated.  NOT FULLY TESTED YET.

8 years agoAdd additional memory barriers into ARM GCC asm code to ensure no re-ordering across...
Richard Barry [Tue, 7 Mar 2017 04:06:10 +0000 (04:06 +0000)]
Add additional memory barriers into ARM GCC asm code to ensure no re-ordering across asm code as optimisers get more aggressive.

8 years agoIntroduce vTaskInternalSetTimeOutState() which does not have a critical section,...
Richard Barry [Fri, 24 Feb 2017 02:16:54 +0000 (02:16 +0000)]
Introduce vTaskInternalSetTimeOutState() which does not have a critical section, and add a critical section to the public version of the same.

8 years agoAdd SimpleLink CC3220SF demo.
Richard Barry [Fri, 24 Feb 2017 02:12:27 +0000 (02:12 +0000)]
Add SimpleLink CC3220SF demo.

8 years agoUpdate Reliance Edge fail safe file system to the latest version.
Richard Barry [Tue, 24 Jan 2017 00:20:35 +0000 (00:20 +0000)]
Update Reliance Edge fail safe file system to the latest version.

8 years agoUpdate version number in preparation for maintenance release.
Richard Barry [Sun, 22 Jan 2017 05:28:13 +0000 (05:28 +0000)]
Update version number in preparation for maintenance release.

8 years agoUpdate UltraScale R5 hardware definition and BSP for 2016.4 SDK tools.
Richard Barry [Sat, 21 Jan 2017 21:59:25 +0000 (21:59 +0000)]
Update UltraScale R5 hardware definition and BSP for 2016.4 SDK tools.

8 years agoUpdate Zynq MPSoC hardware definition and BSP files to be those shipped with the...
Richard Barry [Thu, 19 Jan 2017 16:33:13 +0000 (16:33 +0000)]
Update Zynq MPSoC hardware definition and BSP files to be those shipped with the 2016.4 SDK.

8 years agoUpdate BSP source files for UltraScale Cortex-A53 and Cortex-R5 and Microblaze to...
Richard Barry [Thu, 19 Jan 2017 04:11:21 +0000 (04:11 +0000)]
Update BSP source files for UltraScale Cortex-A53 and Cortex-R5 and Microblaze to the 2016.4 versions.
Correct alignment issue in GCC Cortex-R port that was preventing full floating point usage in interrupts (other ports will be updated likewise).
Update the UltraScale R5 demo to test the GCC Cortex-A9 port layer modification mentioned on the line above.

8 years agoCorrect alignment issue in GCC and RVDS Cortex-A9 port that was preventing full float...
Richard Barry [Wed, 18 Jan 2017 18:33:48 +0000 (18:33 +0000)]
Correct alignment issue in GCC and RVDS Cortex-A9 port that was preventing full floating point usage in interrupts (other ports will be updated likewise).
Update the Zynq demo to test the GCC Cortex-A9 port layer modification mentioned on the line above.

8 years agoEnhanced priority dis-inheritance functionality in the case where a task that caused...
Richard Barry [Mon, 16 Jan 2017 03:58:51 +0000 (03:58 +0000)]
Enhanced priority dis-inheritance functionality in the case where a task that caused another task to inherit its priority times out before obtain a mutex.
Added test code to GenQTest to test the new priority dis-inheritance functionality.
Allow the default names given to the Idle and Timer tasks to be overwridden by definitions in FreeRTOSConfig.h.

8 years agoRename the CORTEX_MPU_MEC17xx_KEIL_GCC directory to CORTEX_MPU_CEC_MEC_Keil_GCC as...
Richard Barry [Mon, 9 Jan 2017 21:29:42 +0000 (21:29 +0000)]
Rename the CORTEX_MPU_MEC17xx_KEIL_GCC directory to CORTEX_MPU_CEC_MEC_Keil_GCC as it is also applicable to the CEC17xx parts.

9 years agoChange how volatile is used in some of the standard demos to remove compiler warnings...
Richard Barry [Wed, 4 Jan 2017 05:07:12 +0000 (05:07 +0000)]
Change how volatile is used in some of the standard demos to remove compiler warnings in the latest GCC versions.

9 years agoIncrease the priority of the Windows threads used by the FreeRTOS Windows port, and...
Richard Barry [Wed, 4 Jan 2017 04:48:22 +0000 (04:48 +0000)]
Increase the priority of the Windows threads used by the FreeRTOS Windows port, and, because the threads have high priority and run on the same core, prevent the port running on single core hosts so as to avoid locking up the host.

9 years agoAdd MPU project for multiple MEC17xx devices.
Richard Barry [Sun, 11 Dec 2016 22:56:30 +0000 (22:56 +0000)]
Add MPU project for multiple MEC17xx devices.

9 years agoUpdate TaskNotify.c to test the condition where a direct to task notification is...
Richard Barry [Fri, 25 Nov 2016 21:07:56 +0000 (21:07 +0000)]
Update TaskNotify.c to test the condition where a direct to task notification is sent to a suspended task.
Introduce configSTACK_DEPTH_TYPE so the application writer change the type used to specify a stack size from uint16_t to whatever they like.  Defaults to uint16_t if not defined.
Introduce configINITIAL_TICK_COUNT to allow users to start the tick count at something other than 0.  Used for testing, but overflows can be better tested by setting configUSE_16_BIT_TICKS to 1.
Split xQueueGenericReceive() into xQueueReceive(), xQueuePeek() and xQueueSemaphoreTake() as the first step in refactoring xQueueGenericReceive().
Add Cortex-M3 port layer for Code Composer Studio - previously there was only a Cortex-M4F port.
Introduce configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING() to allow applications to prevent portSUPPRESS_TICKS_AND_SLEEP() being called.  Previously the portPRE_SLEEP_PROCESSING() macro could only be used to abort entry into sleep time after clocks had been re-programmed for the distant wake time.

9 years agoUpdate version of Reliance Edge.
Richard Barry [Mon, 21 Nov 2016 04:30:49 +0000 (04:30 +0000)]
Update version of Reliance Edge.

9 years agoAdd support for statically allocated memory protected tasks - previously only dynamic...
Richard Barry [Tue, 20 Sep 2016 13:54:28 +0000 (13:54 +0000)]
Add support for statically allocated memory protected tasks - previously only dynamically allocated tasks could be memory protected.

9 years agoCorrect the definition of StaticTask_t and add additional configASSERT() statements...
Richard Barry [Wed, 14 Sep 2016 08:21:24 +0000 (08:21 +0000)]
Correct the definition of StaticTask_t and add additional configASSERT() statements to catch future errors.

9 years agoIntroduce configRECORD_STACK_HIGH_ADDRESS, which when set will result in both limits...
Richard Barry [Sun, 4 Sep 2016 15:46:34 +0000 (15:46 +0000)]
Introduce configRECORD_STACK_HIGH_ADDRESS, which when set will result in both limits of the stack being saved in the TCB to allow enhanced debug capabilities.
Introduce configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H, which allows a user provided header file to be included at the bottom of the tasks.c source file, which can add user functions and access file scope data.
Replace global on/off switches used for lint errors with save/restore switches.

9 years agoClean up lint errors.
Richard Barry [Tue, 16 Aug 2016 13:44:30 +0000 (13:44 +0000)]
Clean up lint errors.

9 years agoChanges to core code and port layer:
Richard Barry [Tue, 16 Aug 2016 11:38:58 +0000 (11:38 +0000)]
Changes to core code and port layer:
    + Add configASSERT() into ARM Cortex-M ports to check the number of priority
      bit settings.
    + Clear the 'control' register before starting ARM Cortex-M4F ports in case
      the FPU is used before the scheduler is started.  This just saves a few
      bytes on the main stack as it prevents space being left for a later save
      of FPU registers.
    + Added xSemaphoreGetMutexHolderFromISR().
    + Corrected use of portNVIC_PENDSVSET to portNVIC_PENDSVSET_BIT in MPU ports.

9 years agoRemove clrex instruction from Cortex-M ports again as it is implicit in interrupt...
Richard Barry [Tue, 28 Jun 2016 10:39:25 +0000 (10:39 +0000)]
Remove clrex instruction from Cortex-M ports again as it is implicit in interrupt entry.

9 years agoImprovements to the Cortex-M ports:
Richard Barry [Mon, 27 Jun 2016 13:13:05 +0000 (13:13 +0000)]
Improvements to the Cortex-M ports:
- Clear the SysTick current value register before starting the SysTick (only required if something uses SysTick before starting the scheduler).
- Ensure atomic operations are thread safe by executing clrex in the context switch.

9 years agoFinal check in before tagging V9.0.0.
Richard Barry [Wed, 25 May 2016 11:47:42 +0000 (11:47 +0000)]
Final check in before tagging V9.0.0.

9 years agoPrepare for V9.0.0 release:
Richard Barry [Fri, 20 May 2016 18:05:46 +0000 (18:05 +0000)]
Prepare for V9.0.0 release:
+ Change version number from V9.0.0rc2 to V9.0.0.

9 years agoPreparing for V9.0.0 formal release:
Richard Barry [Fri, 20 May 2016 12:18:59 +0000 (12:18 +0000)]
Preparing for V9.0.0 formal release:
+ Update various projects to use the latest versions of their build tools.

9 years agoPrepare for V9.0.0 release.
Richard Barry [Thu, 19 May 2016 13:28:12 +0000 (13:28 +0000)]
Prepare for V9.0.0 release.
+ Set flash wait states on MSP432 demos.
+ Remove use of obsolete IO library in PIC32 demos.
+ Remove obsolete item left on stack of first task to run in the Cortex-M0 ports.
+ Correct IA32 GCC vPortExitCritical() implementation when configMAX_API_CALL_INTERRUPT_PRIORITY == portMAX_PRIORITY.

9 years agoIncrease the test coverage of the GCC MPU demo that runs in the Keil simulator.
Richard Barry [Wed, 18 May 2016 19:51:14 +0000 (19:51 +0000)]
Increase the test coverage of the GCC MPU demo that runs in the Keil simulator.
Add an MPU demo that uses the Keil simulator that also uses the Keil compiler.
Correct a few version numbers for files recently added to the repository.

9 years agoAdd GCC ARM Cortex-M4F MPU port.
Richard Barry [Wed, 18 May 2016 10:41:28 +0000 (10:41 +0000)]
Add GCC ARM Cortex-M4F MPU port.
Add RVDS ARM Cortex-M4F MPU port.
Increase the size of each buffer allocated to pbufs in the Microblaze lwIP demo to prevent pbufs chaining.
Use _start as the top of the stack for each Microblaze task, rather than NULL, as NULL was causing the Xilinx SDK to try and unwind the stack too far.

9 years agoRecreated MicroBlaze example using Vivado 2016.1 - the Microblaze project is still...
Richard Barry [Tue, 10 May 2016 14:05:22 +0000 (14:05 +0000)]
Recreated MicroBlaze example using Vivado 2016.1 - the Microblaze project is still a work in progress - not yet fully functional.

9 years agoUpdate the Microblaze hardware design and BSP to the latest IP and tool versions.
Richard Barry [Mon, 9 May 2016 15:55:51 +0000 (15:55 +0000)]
Update the Microblaze hardware design and BSP to the latest IP and tool versions.

9 years agoUpdate some more standard demos for use on 64-bit architectures.
Richard Barry [Fri, 6 May 2016 12:40:27 +0000 (12:40 +0000)]
Update some more standard demos for use on 64-bit architectures.
Update the Xilinx Ultrascale+ Cortex-A53 (64-bit) and Cortex-R5 (32-bit) demos to use version 2016.1 of the SDK.

9 years agoUpdate the Xilinx UltraScale+ demo project to use the BSP and hardware platform gener...
Richard Barry [Thu, 28 Apr 2016 12:49:19 +0000 (12:49 +0000)]
Update the Xilinx UltraScale+ demo project to use the BSP and hardware platform generated by the 2016.1 version of the SDK.

9 years agoUpdate the Xilinx UltraScale+ 64-bit demo to use the hardware definition and BSP...
Richard Barry [Thu, 28 Apr 2016 12:23:52 +0000 (12:23 +0000)]
Update the Xilinx UltraScale+ 64-bit demo to use the hardware definition and BSP from version 2016.1 of the SDK.

9 years agoCompletely re-generate the Zynq 7000 demo using the 2016.1 SDK tools.
Richard Barry [Mon, 25 Apr 2016 17:24:54 +0000 (17:24 +0000)]
Completely re-generate the Zynq 7000 demo using the 2016.1 SDK tools.
Introduce configUSE_TASK_FPU_SUPPORT into the GCC Cortex-A9 port to allow tasks to have an FPU context by default.
Add MikroC Cortex-M4F port.

9 years agoRemove Zynq 7000 project so it can be re-created using the 2016.1 edition of the...
Richard Barry [Mon, 25 Apr 2016 13:37:57 +0000 (13:37 +0000)]
Remove Zynq 7000 project so it can be re-created using the 2016.1 edition of the SDK.

9 years agoRemove obsolete MPU demos.
Richard Barry [Mon, 25 Apr 2016 12:03:47 +0000 (12:03 +0000)]
Remove obsolete MPU demos.
Separate the MPU wrappers into their own file so they can be used from future MPU ports.

9 years agoImprove coverage of the MPU API in the new MPU demo, fixing typos in the MPU port...
Richard Barry [Sun, 24 Apr 2016 18:33:16 +0000 (18:33 +0000)]
Improve coverage of the MPU API in the new MPU demo, fixing typos in the MPU port layer as they are found.

9 years agoAdd software timer use to the new MPU demo.
Richard Barry [Sun, 24 Apr 2016 10:06:20 +0000 (10:06 +0000)]
Add software timer use to the new MPU demo.
Update CEC1302 demos to demonstrate both aggregated and disaggregated interrupts.

9 years agoUpdate the GCC Cortex-A9 port to introduce a version of the IRQ handler that saves...
Richard Barry [Sat, 23 Apr 2016 10:53:57 +0000 (10:53 +0000)]
Update the GCC Cortex-A9 port to introduce a version of the IRQ handler that saves the FPU registers.

9 years agoUpdate the MPU port so it supports all the public functions found in V9.0.0rc2.
Richard Barry [Wed, 20 Apr 2016 15:42:34 +0000 (15:42 +0000)]
Update the MPU port so it supports all the public functions found in V9.0.0rc2.

9 years agoUpdate CEC1302 peripheral library version.
Richard Barry [Mon, 18 Apr 2016 15:52:19 +0000 (15:52 +0000)]
Update CEC1302 peripheral library version.

9 years agoUpdates to support FreeRTOS MPU in FreeRTOS V9.0.0 - including a GCC project that...
Richard Barry [Mon, 18 Apr 2016 10:49:24 +0000 (10:49 +0000)]
Updates to support FreeRTOS MPU in FreeRTOS V9.0.0 - including a GCC project that runs in the Keil simulator to allow development and testing.

9 years agoxTaskGetTaskHandle() changed to xTaskGetHandle().
Richard Barry [Fri, 15 Apr 2016 11:48:07 +0000 (11:48 +0000)]
xTaskGetTaskHandle() changed to xTaskGetHandle().
Tidy up CEC1302 demo.
Ensure bit 0 of the task address is clear when setting up stack of initial Cortex-M3/4/7 stacks (for strict compliance, although not practically necessary).
vTaskGetTaskInfo() changed to vTaskGetInfo() - with a macro added for backward compatibility.

9 years agoCorrect selected device in IAR SAMA5D2 project.
Richard Barry [Thu, 14 Apr 2016 11:18:13 +0000 (11:18 +0000)]
Correct selected device in IAR SAMA5D2 project.

9 years agoAdd SAMA5D2 Xplained IAR demo.
Richard Barry [Thu, 14 Apr 2016 11:14:58 +0000 (11:14 +0000)]
Add SAMA5D2 Xplained IAR demo.

9 years agoRename CORTEX_M4F_CEC1302_Keil to CORTEX_M4F_CEC1302_Keil_GCC as it now contains...
Richard Barry [Thu, 7 Apr 2016 10:57:36 +0000 (10:57 +0000)]
Rename CORTEX_M4F_CEC1302_Keil to CORTEX_M4F_CEC1302_Keil_GCC as it now contains both GCC and Keil projects.

9 years agoAdded GCC project to the CEC1302 demo.
Richard Barry [Thu, 7 Apr 2016 10:56:04 +0000 (10:56 +0000)]
Added GCC project to the CEC1302 demo.

9 years agoCorrect comment error that was replicated on many different main_full.c files.
Richard Barry [Mon, 4 Apr 2016 14:53:04 +0000 (14:53 +0000)]
Correct comment error that was replicated on many different main_full.c files.

9 years agoRemove compiler warning by ensure prvInitialiseMutex() is not included if configUSE_M...
Richard Barry [Thu, 31 Mar 2016 15:22:10 +0000 (15:22 +0000)]
Remove compiler warning by ensure prvInitialiseMutex() is not included if configUSE_MUTEXES is 0.
Reduce the number of xTaskCreateStatic() parameters by having the function return the task handle, rather than pass the task handle out using a parameter.  This is also consistent with other objectCreate() functions.

9 years agoUpdate version number to 9.0.0rc2.
Richard Barry [Wed, 30 Mar 2016 12:20:36 +0000 (12:20 +0000)]
Update version number to 9.0.0rc2.

9 years agoUpdate MSP432 projects to use updated driver library files.
Richard Barry [Wed, 30 Mar 2016 11:12:06 +0000 (11:12 +0000)]
Update MSP432 projects to use updated driver library files.
Remove references to INCLUDE_pcTaskGetTaskName and INCLUDE_xTimerGetTimerDaemonTaskHandle, which are no longer required.

9 years agoMake the pcObjectGetName() API function naming consistent - so rename pcTaskGetTaskNa...
Richard Barry [Tue, 29 Mar 2016 17:16:34 +0000 (17:16 +0000)]
Make the pcObjectGetName() API function naming consistent - so rename pcTaskGetTaskName() to pcTaskGetName(), rename pcTimerGetTimerName() to pcTimerGetName() and add a #defines in FreeRTOS.h to make the changes backward compatible.

9 years agoCreate minor optimisations (just an asm instruction or two) by using consts in a...
Richard Barry [Tue, 29 Mar 2016 13:07:27 +0000 (13:07 +0000)]
Create minor optimisations (just an asm instruction or two) by using consts in a few places where previously a volatile variable that didn't change was used.
Add the simple xTimerGetPeriod() and xTimerGetExpiryTime() functions.

9 years ago- Rework the StaticAllocation.c common demo file to reflect the changes to the static...
Richard Barry [Tue, 29 Mar 2016 11:08:42 +0000 (11:08 +0000)]
- Rework the StaticAllocation.c common demo file to reflect the changes to the static allocation object create functions from the previous check-in.
- Correct various typos in comments.
- Add xTimerGetPeriod() function (feature request).

9 years agoUpdate the documentation contained in the header files to be correct for V9.0.0 relea...
Richard Barry [Sat, 26 Mar 2016 11:05:42 +0000 (11:05 +0000)]
Update the documentation contained in the header files to be correct for V9.0.0 release candidate 2.

9 years agoNotes:
Richard Barry [Tue, 22 Mar 2016 16:23:37 +0000 (16:23 +0000)]
Notes:
+ The MPU port is not supported in this revision number.
+ The documentation for the static allocation functions in the header files has not yet been updated for this revision.

Kernel updates:
+ Simplify the static allocation of objects implementation.
+ Introduce configSUPPORT_DYNAMIC_ALLOCATION in addition to the existing configSUPPORT_STATIC_ALLOCATION so FreeRTOS can be built without providing a heap at all.

Demo application updates:
+ Update the demos to take into account the new configSUPPORT_DYNAMIC_ALLOCATION constant.
+ Add an MSVC demo that only uses static allocation, and does not include a FreeRTOS heap.
+ Update the MSVC project to use both configSUPPORT_STATIC_ALLOCATION and configSUPPORT_DYNAMIC_ALLOCATION.
+ Update the MingW project to use only configSUPPORT_DYNAMIC_ALLOCATION.

9 years agoVery minor changes to the EFM32 Giant and Pearl Geckos demos in preparation for pre...
Richard Barry [Fri, 18 Mar 2016 19:40:03 +0000 (19:40 +0000)]
Very minor changes to the EFM32 Giant and Pearl Geckos demos in preparation for pre-release of the projects.

9 years agoAdd low power timer library source file for the Pearl Gecko demo.
Richard Barry [Wed, 16 Mar 2016 17:18:21 +0000 (17:18 +0000)]
Add low power timer library source file for the Pearl Gecko demo.
Fix types in comments.

9 years agoRework the low power demo that uses the RTCC clock on the Pearl Gecko, and add attent...
Richard Barry [Wed, 16 Mar 2016 17:17:07 +0000 (17:17 +0000)]
Rework the low power demo that uses the RTCC clock on the Pearl Gecko, and add attentional test code.

9 years agoReplace Gecko Simplicity Studio project that had multiple build configurations with...
Richard Barry [Wed, 2 Mar 2016 17:45:55 +0000 (17:45 +0000)]
Replace Gecko Simplicity Studio project that had multiple build configurations with one that has a single build configuration and targets the Giant Gecko starter kit.  Now there are separate projects for the Giant and Pearl Geckos.
Update the Pearl Gecko project to use the register test tasks that include the FPU registers.

9 years agoAdd Pearl Gecko demo.
Richard Barry [Wed, 2 Mar 2016 16:03:25 +0000 (16:03 +0000)]
Add Pearl Gecko demo.
Fix build error when configSUPPORT_STATIC_ALLOCATION and configNUM_THREAD_LOCAL_STORAGE_POINTERS were greater than zero at the same time.
Allow the pdMS_TO_TICKS macro to be overridden by a definition in FreeRTOSConfig.h.

9 years agoAdd files necessary to create a Pearl Gecko build configuration in the new EFM32...
Richard Barry [Sat, 20 Feb 2016 15:27:40 +0000 (15:27 +0000)]
Add files necessary to create a Pearl Gecko build configuration in the new EFM32 SimplicityStudio project.

9 years agoUpdate FreeRTOS+ version number ready for version 9 release candidate 1.
Richard Barry [Thu, 18 Feb 2016 19:02:43 +0000 (19:02 +0000)]
Update FreeRTOS+ version number ready for version 9 release candidate 1.

9 years agoUpdate version number ready for version 9 release candidate 1.
Richard Barry [Thu, 18 Feb 2016 17:11:14 +0000 (17:11 +0000)]
Update version number ready for version 9 release candidate 1.

9 years agoPrepare for a FreeRTOS V9 release candidate:
Richard Barry [Thu, 18 Feb 2016 10:07:42 +0000 (10:07 +0000)]
Prepare for a FreeRTOS V9 release candidate:
- Remove the standard demo files that used the [long since deprecated] alternative API.
- Add standard demo task that tests the new xTaskAbortDelay() function.
- Update the Win32 Visual Studio project to use Visual Studio 2015 Community Edition.
- Rename the xGenericListItem TCB member to xStateListItem as it better describes the member's purpose.

9 years agoCore kernel code changes:
Richard Barry [Sun, 14 Feb 2016 11:58:11 +0000 (11:58 +0000)]
Core kernel code changes:
+ Added xTaskAbortDelay() function, which causes a task to exit the Blocked state even before the timeout has expired or the event the task is waiting for has occurred.
+ For efficiency and code size reasons on some architectures, replace many instances of "== pdTRUE" with "!= pdFALSE".

9 years agoFreeRTOS source:
Richard Barry [Wed, 10 Feb 2016 12:58:15 +0000 (12:58 +0000)]
FreeRTOS source:
 - Major refactor to consolidate the multiple places where a task is removed from a ready list and placed in a delay list into a single function, reducing code size, and enabling the easy addition of up-coming functionality.
 - Replace the enum used for task notification states with a uint8_t to reduce the TCB struct size with some compilers, and allow additional members to be added without increasing its size.
 - Rearrange FreeRTOS.h so all INCLUDE_ defaults are grouped together.

9 years agoKernel source code:
Richard Barry [Tue, 9 Feb 2016 16:02:54 +0000 (16:02 +0000)]
Kernel source code:
+ Added xPortIsInsideInterrupt() to RVDS ARM CM4F port - the same will get added to other ports in time.

Demo application code:
+ Added first pass Microchip CEC1302 demo for Keil.
+ Harden the new StaticAllocation.c standard demo tasks against integer promotion rules causing problems on 16-bit architectures.

9 years agoTest the RTC and BURTC tickless implementations on the Gecko parts, and make correct...
Richard Barry [Wed, 3 Feb 2016 11:58:30 +0000 (11:58 +0000)]
Test the RTC and BURTC tickless implementations on the Gecko parts, and make correct as appropriate.
Replace some references to the older portTICK_RATE_MS macro with the newer pdMS_TO_TICKS() macro in the standard demo files.

9 years agoUpdate EFM32 demos to include an option to use the RTC as the clock source when using...
Richard Barry [Mon, 1 Feb 2016 18:04:50 +0000 (18:04 +0000)]
Update EFM32 demos to include an option to use the RTC as the clock source when using low power tickless mode.

9 years agoAdded a build configuration for the Wonder Gecko starter kit to the existing Giant...
Richard Barry [Sun, 31 Jan 2016 20:22:00 +0000 (20:22 +0000)]
Added a build configuration for the Wonder Gecko starter kit to the existing Giant Gecko Simplicity Studio project.
Fix some lint warnings that were generated by some of the new core functionality.

9 years agoAdd vTaskGetTaskInfo() function that allows a TaskStatus_t structure to be returned...
Richard Barry [Thu, 28 Jan 2016 16:59:57 +0000 (16:59 +0000)]
Add vTaskGetTaskInfo() function that allows a TaskStatus_t structure to be returned for an individual task (previously information could only be obtained for all the tasks at once).
Add a member to the TaskStatus_t structure that is used to return the base address of the stack used by the task being queried.
Add xTaskGetTaskHandle() that allows the handle of a task to be looked up from the task's text name.
Continue to document the macros that allow RTOS objects to be created using statically allocated memory.
Introduced vApplicationDaemonTaskStartupHook(), which allows initialisation that that needs to be executed after the scheduler has been started to be executed from the RTOS daemon task.
Call prvResetNextTaskUnblockTime() in xTaskResumeAll() if a task is moved from the pending ready list - this can prevent an unnecessary wake from sleep mode if a task is unblocked by an interrupt while in a low power tickless state.

9 years agoBaseline the Giant Gecko demo, which now has the first pass at a low power tickless...
Richard Barry [Mon, 25 Jan 2016 21:17:47 +0000 (21:17 +0000)]
Baseline the Giant Gecko demo, which now has the first pass at a low power tickless implementation.

9 years agoEnsure the code builds when configSUPPORT_STATIC_ALLOCATION is 0.
Richard Barry [Fri, 22 Jan 2016 22:09:11 +0000 (22:09 +0000)]
Ensure the code builds when configSUPPORT_STATIC_ALLOCATION is 0.
Continue to document the new static allocation functions.

9 years agoProvide the ability to create event groups and software timers using pre statically...
Richard Barry [Thu, 21 Jan 2016 14:10:04 +0000 (14:10 +0000)]
Provide the ability to create event groups and software timers using pre statically allocated memory - now all RTOS objects can be created using statically allocated memory.
Rename StaticTCB_t to StaticTask_t.

9 years agoContinue to add the ability to create RTOS objects using static rather than dynamic...
Richard Barry [Wed, 20 Jan 2016 14:04:40 +0000 (14:04 +0000)]
Continue to add the ability to create RTOS objects using static rather than dynamic memory allocation - now including all the semaphore types.
Update the StaticAllocation.c standard demo file to exercise the new static allocation functions.

9 years agoImplement functionality that allows the memory required to create a queue or semaphor...
Richard Barry [Tue, 19 Jan 2016 13:41:28 +0000 (13:41 +0000)]
Implement functionality that allows the memory required to create a queue or semaphore to be allocated statically.
Update the standard demo task that tests statically allocated tasks to also test statically allocated queues.

9 years agoRename DummyTCB_t to StaticTCB_t.
Richard Barry [Mon, 18 Jan 2016 15:57:02 +0000 (15:57 +0000)]
Rename DummyTCB_t to StaticTCB_t.
Move structures used for static allocation of tasks and queues into FreeRTOS.h from their individual API header files.
Add SAME70 Xplained Atmel Studio project.
Update SAMV71 Atmel Studio project to use Studio 7.
Revert some changes to GenQTest.c standard demo task which only function correctly when a queue registry was used.

9 years agoRemove unused header files from new EFM32 demo.
Richard Barry [Sun, 17 Jan 2016 16:04:56 +0000 (16:04 +0000)]
Remove unused header files from new EFM32 demo.
Prep the code ready to create a tickless implementation.

9 years agoAdd EFM32 Giant Gecko Starter Kit demo - still a work in progress as the low power...
Richard Barry [Sun, 17 Jan 2016 14:34:27 +0000 (14:34 +0000)]
Add EFM32 Giant Gecko Starter Kit demo - still a work in progress as the low power tick management has not been implemented yet.

9 years agoKernel changes:
Richard Barry [Tue, 12 Jan 2016 15:52:44 +0000 (15:52 +0000)]
Kernel changes:

Minor change to xQueueGenericReceive() to catch the extreme case of data being placed into a queue between a task timing out and leaving the xQueueGenericReceive() function.
Added xSemaphoreGetCount() macro.

Demo app changes:
Updated countsem.c to test the new xSemaphoreGetCount() macro.

9 years agoCorrect a comment that had been cut and paste into multiple main.c files.
Richard Barry [Tue, 12 Jan 2016 10:38:16 +0000 (10:38 +0000)]
Correct a comment that had been cut and paste into multiple main.c files.

10 years agoAdd in the CORTEX_A53_64-bit_UltraScale_MPSoC demo application (a demo has been inclu...
Richard Barry [Tue, 22 Dec 2015 13:56:20 +0000 (13:56 +0000)]
Add in the CORTEX_A53_64-bit_UltraScale_MPSoC demo application (a demo has been included in the Xilinx SDK download for some time already).
Update a few demo application files to work with 64-bit data types.

10 years agoFreeRTOS source updates:
Richard Barry [Mon, 21 Dec 2015 08:25:41 +0000 (08:25 +0000)]
FreeRTOS source updates:
+ Add the pre-existing 64-bit Cortex-A53 port layer into the head revision of the main repository.

Demo application updates:
+ Update Zynq demo to use SDK version 2015.4
+ Add task static allocation standard demo to Zynq demo.
+ Make the XScuGic object accessible outside of the vConfigureTickInterrupt(), again in the Zynq demo.

10 years agoChanges to the FreeRTOS code:
Richard Barry [Sun, 20 Dec 2015 13:44:21 +0000 (13:44 +0000)]
Changes to the FreeRTOS code:
+ Introduced xTaskCreateStatic() to allow tasks to be created without any dynamic memory allocation.
+ When a task notification is used to unblock a task from an ISR, but the xHigherPriorityTaskWoken parameter is not used, then pend a context switch to occur during the next tick interrupt.

Demo application changes:
+ Updated TaskNotify.c to test the case where a task is unblocked by an ISR, but does not use its xHigherPriorityTaskWoken parameter.
+ Updated the Win32 MSVC project to test statically allocated tasks being created and deleted.
+ Introduced StaticAllocation.c standard demo task.

10 years agoFreeRTOS source:
Richard Barry [Tue, 8 Dec 2015 20:22:58 +0000 (20:22 +0000)]
FreeRTOS source:
+ Previously, if a task was deleted, the memory allocated to the task by the RTOS was freed in the Idle task.  Now if a task deletes another task the memory is freed immediately.  The idle task is however still responsible for freeing the memory when a task deletes itself.
+ Added pcQueueGetQueueName() function to return the name of a queue from its handle, assuming the queue is registers.

Demo application:
+ Update GenQTest to exercise the new pcQueueGetQueueName() function.
+ Delete workspaces from old Eclipse examples, leaving just the projects.
+ Rework comments in the MSVC simply blinky demo.

10 years agoFreeRTOS Source files:
Richard Barry [Sun, 22 Nov 2015 22:03:00 +0000 (22:03 +0000)]
FreeRTOS Source files:
+ Updated all ARM Cortex-M0 ports to include an additional ISB instruction as the scheduler is started.

Demo app files:
+ Fixex build issues in XMC1000 demos.

10 years agoFreeRTOS source changes:
Richard Barry [Sun, 22 Nov 2015 21:14:39 +0000 (21:14 +0000)]
FreeRTOS source changes:
+ heap_1.c and heap_2.c now support configAPPLICATION_ALLOCATED_HEAP (heap_4.c already did) which allows the heap to be placed by the user rather than the linker.

Demo app changes:
+ SAMD20 project has been updated to use Atmel Studio 7.