423 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			423 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | |
|   @verbatim
 | |
|   ******************************************************************************
 | |
|   *
 | |
|   *           Portions Copyright © 2019 STMicroelectronics International N.V. All rights reserved.
 | |
|   *           Portions Copyright (C) 2016 Real Time Engineers Ltd, All rights reserved
 | |
|   *
 | |
|   * @file    st_readme.txt
 | |
|   * @author  MCD Application Team
 | |
|   * @brief   This file lists the main modification done by STMicroelectronics on
 | |
|   *          FreeRTOS for integration with STM32Cube solution.
 | |
|   *          For more details on FreeRTOS implementation on STM32Cube, please refer
 | |
|   *          to UM1722 "Developing Applications on STM32Cube with FreeRTOS"
 | |
|   ******************************************************************************
 | |
|   *
 | |
|   * Copyright (c) 2019 STMicroelectronics. All rights reserved.
 | |
|   *
 | |
|   * This software component is licensed by ST under BSD 3-Clause license,
 | |
|   * the "License"; You may not use this file except in compliance with the
 | |
|   * License. You may obtain a copy of the License at:
 | |
|   *                       opensource.org/licenses/BSD-3-Clause
 | |
|   *
 | |
|   ******************************************************************************
 | |
|   @endverbatim
 | |
| 
 | |
| =======
 | |
| 
 | |
| ### 31-August-2020 ###
 | |
| =========================
 | |
|   + Bug fix for G0 compilation error due to IRQn_Type mismatch between G0 and other families
 | |
|       - Source/CMSIS_RTOS_V2/cmsis_os2.c
 | |
|   + Bug fix when using systick as timebasse for HAL
 | |
|       - Source/CMSIS_RTOS_V2/cmsis_os2.c
 | |
| 
 | |
| ### 20-July-2020 ###
 | |
| =========================
 | |
|   + FreeRTOS: Update to FreeRTOS v10.3.1
 | |
|   
 | |
|   + CMSIS_RTOS_V2: update against the latest CMSIS-FreeRTOS v10.3.0 release
 | |
|       - CMSIS_RTOS_V2/cmsis_os2.c
 | |
|       - CMSIS_RTOS_V2/freertos_mpool.h
 | |
|       - CMSIS_RTOS_V2/freertos_os2.h
 | |
|       - CMSIS_RTOS_V2/os_systick.c
 | |
| 
 | |
|   + Add Tickless Idle support for CM23/CM33
 | |
|       - GCC/ARM_CM23/non_secure/port.c
 | |
|       - GCC/ARM_CM23/non_secure/portmacro.h
 | |
|       - GCC/ARM_CM23_NTZ/non_secure/port.c
 | |
|       - GCC/ARM_CM23_NTZ/non_secure/portmacro.h
 | |
|       - GCC/ARM_CM33/non_secure/port.c
 | |
|       - GCC/ARM_CM33/non_secure/portmacro.h
 | |
|       - GCC/ARM_CM33_NTZ/non_secure/port.c
 | |
|       - GCC/ARM_CM33_NTZ/non_secure/portmacro.h
 | |
|       - IAR/ARM_CM23/non_secure/port.c
 | |
|       - IAR/ARM_CM23/non_secure/portmacro.h
 | |
|       - IAR/ARM_CM23_NTZ/non_secure/port.c
 | |
|       - IAR/ARM_CM23_NTZ/non_secure/portmacro.h
 | |
|       - IAR/ARM_CM33/non_secure/port.c
 | |
|       - IAR/ARM_CM33/non_secure/portmacro.h
 | |
|       - IAR/ARM_CM33_NTZ/non_secure/port.c
 | |
|       - IAR/ARM_CM33_NTZ/non_secure/portmacro.h
 | |
|   
 | |
|   +  Fix MPU hardfault bug for Cortex-M4 MPU
 | |
|       - GCC\ARM_CM4_MPU\port.c
 | |
|       - IAR\ARM_CM4_MPU\port.c
 | |
|       - RVDS\ARM_CM4_MPU\port.c
 | |
| 
 | |
|   +  Add support for 16 MPU regions to Cortex-M4 MPU ports
 | |
|       - GCC/ARM_CM4_MPU/portmacro.h
 | |
|       - IAR/ARM_CM4_MPU/portmacro.h
 | |
|       - RVDS/ARM_CM4_MPU/portmacro.h
 | |
| 
 | |
|   + Update ARM_CM7_MPU source files for all compilers
 | |
|       - GCC/ARM_CM7_MPU/r0p1/port.c
 | |
|       - GCC/ARM_CM7_MPU/r0p1/portmacro.h
 | |
|       - IAR/ARM_CM7_MPU/r0p1/port.c
 | |
|       - IAR/ARM_CM7_MPU/r0p1/portasm.s
 | |
|       - IAR/ARM_CM7_MPU/r0p1/portmacro.h
 | |
|       - RVDS/ARM_CM7_MPU/r0p1/port.c
 | |
|       - RVDS/ARM_CM7_MPU/r0p1/portmacro.h
 | |
| 
 | |
| ### 17-January-2020 ###
 | |
| =========================
 | |
|   + Fix compile error in the GCC CM7_MPU port caused by a duplicated variable declaration
 | |
|       - Source/portable/GCC/ARM_CM7_MPU/r0p1/port.c
 | |
| 
 | |
| ### 13-December-2019 ###
 | |
| =========================
 | |
|   + Remove warnings thrown by EWARM for CM33/CM23 ports
 | |
|       - IAR/ARM_CM23/non_secure/portmacro.h
 | |
|       - IAR/ARM_CM23_NTZ/non_secure/portmacro.h
 | |
|       - IAR/ARM_CM33/non_secure/portmacro.h
 | |
|       - IAR/ARM_CM33_NTZ/non_secure/portmacro.h
 | |
| 
 | |
| ### 19-July-2019 ###
 | |
| =========================
 | |
|   + Fix runtime error in the  IAR/CM4_MPU port
 | |
|        - IAR/ARM_CM4_MPU/port.c
 | |
| 
 | |
| ### 12-July-2019 ###
 | |
| =========================
 | |
|   + FreeRTOS: Update against the FreeRTOS v10.2.1 release
 | |
|     - support for the CM33 and CM23 cores
 | |
| 
 | |
|   + CMSIS_RTOS_V2: update against the latest CMSIS-FreeRTOS v10.2.0 release
 | |
| 
 | |
|   + Add MPU support for the CM7/r0p1:
 | |
|        - GCC/ARM_CM7_MPU/r0p1/port.c
 | |
|        - GCC/ARM_CM7_MPU/r0p1/portmacro.h
 | |
|        - IAR/ARM_CM7_MPU/r0p1/port.c
 | |
|        - IAR/ARM_CM7_MPU/r0p1/portasm.s
 | |
|        - IAR/ARM_CM7_MPU/r0p1/portmacro.h
 | |
|        - RVDS/ARM_CM7_MPU/r0p1/port.c
 | |
|        - RVDS/ARM_CM7_MPU/r0p1/portmacro.h
 | |
| 
 | |
|   + cmsis_os.c: Fix compile errors by using the correct TimerCallbackFunction_t type for timer creation
 | |
| 
 | |
| ### 29-Mars-2019 ###
 | |
| =========================
 | |
|   + cmsis_os.c : Fix bug in osPoolAlloc(): memory blocks can't be reused after being free'd
 | |
|   + Source/CMSIS_RTOS_V2/cmsis_os, Source/CMSIS_RTOS_V2/cmsis_os1.c, Source/CMSIS_RTOS_V2/cmsis_os2.c, Source/CMSIS_RTOS_V2/cmsis_os2.h: restore original Apache license terms
 | |
|   + st_readme.txt: update license terms to BSD-3-Clause
 | |
| 
 | |
| 
 | |
| ### 13-August-2018 ###
 | |
| =========================
 | |
|   + Add empty implementation for the missing function osThreadGetStackSize()
 | |
|     to avoid link errors when using CMSIS-RTOS V2.
 | |
| 
 | |
|   + Update the FreeRTOSConfig_template.h with specific defines for the
 | |
|     CMSIS-RTOS V2.
 | |
| 
 | |
|   + Rename the "RTE_RTOS_FreeRTOS_XXXX" macros to "USE_FreeRTOS_XXXX" in
 | |
|     cmsis_os2.c.
 | |
| 
 | |
| ### 30-July-2018 ###
 | |
| =========================
 | |
|  + Update License.txt file to MIT license instead of GPLv2
 | |
| 
 | |
| ### 23-July-2018 ###
 | |
| =========================
 | |
|  + Fix compiler warnings thrown by IAR compiler 8.20
 | |
| 
 | |
|  + Add MPU support for the CM7/r0p1:
 | |
|   - GCC/ARM_CM7_MPU/r0p1/port.c
 | |
|   - GCC/ARM_CM7_MPU/r0p1/portmacro.h
 | |
|   - IAR/ARM_CM7_MPU/r0p1/port.c
 | |
|   - IAR/ARM_CM7_MPU/r0p1/portasm.s
 | |
|   - IAR/ARM_CM7_MPU/r0p1/portmacro.h
 | |
|   - RVDS/ARM_CM7_MPU/r0p1/port.c
 | |
|   - RVDS/ARM_CM7_MPU/r0p1/portmacro.h
 | |
| 
 | |
| ### 09-April-2018 ###
 | |
| =========================
 | |
|   Update the FreeRTOS against the latest release 10.0.1
 | |
|   more details are available in: https://www.freertos.org/History.txt
 | |
| 
 | |
|   + Integrate support for tickless mode for ARM_CM0 core:
 | |
|     - GCC/ARM_CM0/port.c
 | |
|     - GCC/ARM_CM0/portmacro.h
 | |
|     - IAR/ARM_CM0/port.c
 | |
|     - IAR/ARM_CM0/portmacro.h
 | |
|     - RVDS/ARM_CM0/port.c
 | |
| 
 | |
|  Integrate CMSIS-RTOSv2 wrapper based on: https://github.com/ARM-software/CMSIS-FreeRTOS/releases/tag/10.0.1
 | |
|   + Add new files:
 | |
|     - CMSIS_RTOS_V2/cmsis_os.h
 | |
|     - CMSIS_RTOS_V2/cmsis_os1.c
 | |
|     - CMSIS_RTOS_V2/cmsis_os2.c
 | |
|     - CMSIS_RTOS_V2/cmsis_os2.h
 | |
|       "cmsis_os1.c" and "cmsis_os1.h" contains the reference implementation of
 | |
|        CMSIS-RTOSv1,i.e as released by ARM, using the CMSIS-RTOSV2 API.
 | |
| 
 | |
|   + The ST customized CMSIS-RTOSv1 is maintained under:
 | |
|     - CMSIS_RTOS/cmsis_os.c
 | |
|     - CMSIS_RTOS/cmsis_os.h
 | |
| 
 | |
|   + When using CMSIS-RTOSv2 APIs, the following FreeRTOS defines are required:
 | |
|     - #define configMAX_PRIORITIES                     56
 | |
|     - #define configSUPPORT_STATIC_ALLOCATION          0
 | |
|     - #define configUSE_PORT_OPTIMISED_TASK_SELECTION  0
 | |
| 
 | |
| 
 | |
| ### 10-August-2017 ###
 | |
| =========================
 | |
|   Update FreeRTOS to support MPU feature with IAR compiler.
 | |
| 
 | |
|   + Add the following ports:
 | |
|     - IAR/ARM_CM4_MPU
 | |
|     - IAR/ARM_CM7_MPU
 | |
|     - RVDS/ARM_CM7_MPU
 | |
| 
 | |
| 
 | |
| ### 03-March-2017 ###
 | |
| =========================
 | |
|   Update CMSIS-RTOS drivers to support both CMSIS Core V4.x and V5.x
 | |
| 
 | |
|   Bug fixes:
 | |
|   + CMSIS-RTOS: Wrong return value for osSignalWait()
 | |
|   + CMSIS-RTOS: Not all queue size is 0 initialized with osMailCAlloc()
 | |
| 
 | |
|   Limitation:
 | |
|   + CMSIS-RTOS: osSignalWAit() function is not fully compliant with the specification
 | |
| 
 | |
| 
 | |
| ### 30-September-2016 ###
 | |
| =========================
 | |
|   The purpose of this release is to Upgrade to use FreeRTOS V9.0.0, this version
 | |
|   is a drop-in compatible replacement for FreeRTOS V8.2.3.
 | |
|   For more details please refer to http://www.freertos.org/History.txt
 | |
| 
 | |
|   + Add support to tickless mode for MPU ports:
 | |
|     - GCC/ARM_CM3_MPU/port.c
 | |
|     - GCC/ARM_CM4_MPU/port.c
 | |
|     - RVDS/ARM_CM4_MPU/port.c
 | |
| 
 | |
|   + Update CM0 ports, add possibility to use a timebase different than Systick:
 | |
|     - IAR/ARM_CM0/port.c
 | |
|     - RVDS/ARM_CM0/port.c
 | |
|     - GCC/ARM_CM0/port.c
 | |
| 
 | |
|   + Fix compilation error in CM3_MPU and CM4_MPU ports:
 | |
|     - GCC/ARM_CM3_MPU/portmacro.h
 | |
|     - GCC/ARM_CM4_MPU/portmacro.h
 | |
|     - RVDS/ARM_CM4_MPU/portmacro.h
 | |
|     - Add "Source\portable\Common\" directory
 | |
| 
 | |
|   + cmsis_os.c
 | |
|     - Add support of Statically Allocated Systems introduced with FreeRTOS V9.0.0
 | |
|     - Add new wrappers CMSIS-RTOS APIs
 | |
| 
 | |
|          FreeRTOS APIs       |     CMSIS-RTOS APIs        |               Description
 | |
|    ==================================================================================================================
 | |
|     uxQueueMessagesWaiting() |  osMessageWaiting()        |  Return the number of messages stored in a queue
 | |
|    ------------------------------------------------------------------------------------------------------------------
 | |
|     xTaskAbortDelay()        |  osAbortDelay()            |  Force a thread to get out the blocked state immediately
 | |
|    ------------------------------------------------------------------------------------------------------------------
 | |
|     uxSemaphoreGetCount()    |  osSemaphoreGetCount()     |  Return the current count of a semaphore
 | |
|    ------------------------------------------------------------------------------------------------------------------
 | |
|     uxQueueSpacesAvailable() |  osMessageAvailableSpace() |  Return the available space in a message queue
 | |
|    ------------------------------------------------------------------------------------------------------------------
 | |
|     vQueueDelete()           |  osMessageDelete()         |  Delete a message Queue
 | |
|    ------------------------------------------------------------------------------------------------------------------
 | |
| 
 | |
| 
 | |
| ### 22-January-2016 ###
 | |
| =======================
 | |
|   The purpose of this release is to Upgrade to use FreeRTOS V8.2.3.
 | |
|   It also provides fixes for minor issues.
 | |
| 
 | |
|   + cmsis_os.c
 | |
|     - Implementation of functions "osSignalSet" and "osSignalWait" are now delimited by
 | |
|          #define configUSE_TASK_NOTIFICATIONS.
 | |
|     - Function "osTimerStart" : fix for an assert issue when called from an ISR.
 | |
|     - Function "osMailCreate"  : internal variables initialization.
 | |
|     - Function "osSignalWait" : signals value is now compared versus integer zero for error checking.
 | |
| 
 | |
|   + freeRTOS sources
 | |
|     - FreeRTOS.h file : Add configuration sanity check in case of configUSE_RECURSIVE_MUTEXES  set
 | |
|       and configUSE_MUTEXES  not set.
 | |
| 
 | |
|   + STMicroelectronics license simplifications, see license disclaimer within this file's header
 | |
| 
 | |
| 
 | |
| ### 27-March-2015 ###
 | |
| =====================
 | |
|   The purpose of this release is to Upgrade to use FreeRTOS V8.2.1.
 | |
| 
 | |
|   + Major change of the version 8.2.1 is the support of CM7 core.
 | |
|   For STM32F746xx/STM32F756xx devices, need to use port files under Source/Portable/XXX/ARM_CM7/r0p1,
 | |
|   where XXX refers to the compiler used.
 | |
| 
 | |
|   + It also provides implementation of osSignal management APIs, osSignalSet() and osSignalWait(),
 | |
|   fixes osMassage queue size, osMailQDef macro and osDelayUntil parameters.
 | |
| 
 | |
|   + In this release an alignment has been done in ARM_CM4 and ARM_CM3 port.c versus ARM_CM0 port.c
 | |
|   regarding the use of macros configPRE_SLEEP_PROCESSING and configPOST_SLEEP_PROCESSING, these tow macros
 | |
|   are now taking as parameter as pointer to TickType_t.
 | |
| 
 | |
|   + cmsis_os.c
 | |
|     - Add implementation of osSignalSet() and osSignalWait() APIs
 | |
|     - Fix massage queue size in osMessageCreate API
 | |
|     - osDelayUntil: parameter PreviousWakeTime is now passed as a pointer.
 | |
|     - Enabling Mail queue management APIs (temporary removed in previous version).
 | |
|     - Function "osThreadGetPriority" uses now uxTaskPriorityGetFromISR if called from an interrupt handler, if not use uxTaskPriorityGet.
 | |
| 
 | |
|   + cmsis_os.h
 | |
|     - osFeature_Wait is defined to 0 to indicate that osWait function is not available (as specified by cmsis_os template by ARM)
 | |
|     - Fix compilation issue with osMailQDef macro.
 | |
|     - Enabling Mail queue management APIs (temporary removed in previous version)
 | |
| 
 | |
|   + freeRTOS sources
 | |
|     - ARM_CM3 port.c and ARM_CM4 port.c:
 | |
|       function vPortSuppressTicksAndSleep : configPRE_SLEEP_PROCESSING and configPOST_SLEEP_PROCESSING are now taking
 | |
|       as parameter as pointer to TickType_t.
 | |
|       The purpose of this change is to align the CM3 and CM4 implementation with CM0 one.
 | |
| 
 | |
|   + Note
 | |
|     - osSignalSet returns an int32_t value which is a a status (osOK or osError)
 | |
|       instead of the previous signal value as specified in cmsis_os template by ARM.
 | |
|       This is mainly due to freeRTOS implementation, the return value will be aligned (with the cmsis os template by ARM) as soon as the freeRTOS next version will allow it.
 | |
| 
 | |
|     - osThreadDef() macro is defined in the freeRTOS cmsis_os.h wrapper as follow :
 | |
|         osThreadDef(name, thread, priority, instances, stacksz)
 | |
|       the macro osThreadDef() as defined in ARM cmsis_os.h is defined with 4 parameters :
 | |
|       name : name of the thread function.
 | |
|       priority : initial priority of the thread function.
 | |
|       instances : number of possible thread instances.
 | |
|       stacksz : stack size (in bytes) requirements for the thread function.
 | |
| 
 | |
|     - osThreadDef as defined in the ARM template file cmsis_os.h assumes that the thread name is the same as the thread function name.
 | |
|       where the freeRTOS implementation gives separate parameters for the thread name and the thread function name.
 | |
| 
 | |
|       care must be taken when porting an application from/to another OS to/from freeRTOS cmsis_os regarding this macro.
 | |
| 
 | |
|         the macro osThreadDef() as defined in ARM cmsis_os.h template is defined with 4 parameters :
 | |
|            name : name of the thread function.
 | |
|            priority : initial priority of the thread function.
 | |
|            instances : number of possible thread instances.
 | |
|            stacksz : stack size (in bytes) requirements for the thread function.
 | |
| 
 | |
|         the macro osThreadDef() as defined in freeRTOS cmsis_os.h is defined with 5 parameters :
 | |
|            name : name of the thread (used for debugging and trace).
 | |
|            thread : name of the thread function
 | |
|            priority : initial priority of the thread function.
 | |
|            instances : number of possible thread instances.
 | |
|            stacksz : stack size (in bytes) requirements for the thread function.
 | |
| 
 | |
| 
 | |
| ### 25-December-2014 ###
 | |
| ========================
 | |
|   The purpose of this release is to remove compilation errors and warning. It also reintroduces
 | |
|   the function osThreadIsSuspended() which has been removed in the version V1.2.0.
 | |
| 
 | |
|   + cmsis_os.c
 | |
|       - osThreadGetPriority() and makeCmsisPriority(): replace INCLUDE_vTaskPriorityGet by the correct
 | |
|          freeRTOS constant uxTaskPriorityGet.
 | |
|          The version 1.2.2 is using a wrong constant INCLUDE_vTaskPriorityGet, while the correct freeRTOS
 | |
|          constant is uxTaskPriorityGet.
 | |
|          This fix ensure a safe use of osThreadGetPriority() function.
 | |
| 
 | |
|       - osThreadIsSuspended(): this function has been removed in version V1.2.0, it is now available gain.
 | |
|          User can either use this function to check if a Thread is suspended either use function osThreadGetState,
 | |
|          which is more generic, to check the exact state of a thread.
 | |
| 
 | |
|       - osThreadList(): this function is now taking as argument a pointer to uint8_t instead of a pointer to int8_t.
 | |
|          The change is made to remove a compilation warning.
 | |
| 
 | |
|       - osRecursiveMutexCreate(): the prototype has been changed to osMutexId osRecursiveMutexCreate (const osMutexDef_t *mutex_def)
 | |
|           This change is made to make osRecursiveMutexCreate() compatible with function MutexCreate().
 | |
|           It also allow the better use of the function in conjunction with the macro osMutex, note that osMutex return a
 | |
|           "const osMutexDef_t *mutex_def".
 | |
|           example : osMutex1Id = osRecursiveMutexCreate (osMutex(Mutex1));
 | |
| 
 | |
|       - Fix implementation of functions osSemaphoreWait(), osMutexRelease() and osMutexWait() by using the appropriate
 | |
|          freeRTOS “FromISR” APIs when called from an interrupt.
 | |
| 
 | |
|       - Fix compilation warning when the constant INCLUDE_eTaskGetState is not defined
 | |
| 
 | |
|   + cmsis_os.h
 | |
|       - osThreadIsSuspended(): add function prototype.
 | |
|       - osThreadList(): function prototype modified as described in cmsis_os.c section.
 | |
|       - osRecursiveMutexCreate(): function modified as described in cmsis_os.c section.
 | |
| 
 | |
|   + Important note:
 | |
|     Mail Queue Management Functions are not supported in this cmsis_os version, will be added in the next release.
 | |
| 
 | |
| 
 | |
| ### 04-December-2014 ###
 | |
| ========================
 | |
|   + cmsis_os.c, osSemaphoreCreate(): use vSemaphoreCreateBinary() instead of xSemaphoreCreateBinary(),
 | |
|     to keep compatibility with application code developed on FreeRTOS V7.6.0.
 | |
| 
 | |
| 
 | |
| ### 07-November-2014 ###
 | |
| ========================
 | |
|   + cmsis_os.h: modify the osThreadState enum to fix warning generated by ARMCC compiler
 | |
|   + task.c: add preprocessor compilation condition for prvTaskIsTaskSuspended() function
 | |
|             (it's build only when INCLUDE_vTaskSuspend option is enabled in FreeRTOSConfig.h file)
 | |
| 
 | |
| 
 | |
| ### 04-November-2014 ###
 | |
| ========================
 | |
|   + Upgrade to use FreeRTOS V8.1.2 and CMSIS-RTOS V1.02.
 | |
|   + cmsis_os.c
 | |
|       - Almost of CMSIS-RTOS APIs are implemented for FreeRTOS
 | |
|       - Additional wrapper APIs created for FreeRTOS
 | |
| 
 | |
|   + Important note:
 | |
|     When upgrading existing application code to use this last version, the following
 | |
|     update should be considered:
 | |
|       - osThreadIsSuspended() is no longer public API in FreeRTOS and it should
 | |
|         be replaced by the wrapping of eTaskGetState()
 | |
|       - osKernelStart() API changed, must be updated
 | |
|       - update FreeRTOSConfig.h file, taking FreeRTOSConfig_template.h file as reference
 | |
| 
 | |
| 
 | |
| ### 13-June-2014 ###
 | |
| ====================
 | |
|   + FreeRTOSConfig_template.h: add this definition #define INCLUDE_xTaskGetSchedulerState 1
 | |
|                                to enable the use of xTaskGetSchedulerState() API in the
 | |
|                                application code.
 | |
| 
 | |
| 
 | |
| ### 30-April-2014 ###
 | |
| =====================
 | |
|   + cmsis_os.c: add preprocessor compilation condition when calling some FreeRTOS APIs, to avoid link
 | |
|                 errors with MDK-ARM when some FreeRTOS features are not enabled in FreeRTOSConfig.h
 | |
| 
 | |
| 
 | |
| ### 22-April-2014 ###
 | |
| =====================
 | |
|   + Add Tickles mode for CM0 port (IAR, GCC, RVDS).
 | |
| 
 | |
| 
 | |
| ### 18-February-2014 ###
 | |
| ========================
 | |
|    + FreeRTOS V7.6.0 customized version for STM32Cube solution.
 | |
| 
 | |
| 
 | |
|  * <h3><center>© COPYRIGHT STMicroelectronics</center></h3>
 | |
|  */
 |