| 1 |
|
|---|
| 2 | @verbatim
|
|---|
| 3 | ******************************************************************************
|
|---|
| 4 | *
|
|---|
| 5 | * Portions Copyright © 2019 STMicroelectronics International N.V. All rights reserved.
|
|---|
| 6 | * Portions Copyright (C) 2016 Real Time Engineers Ltd, All rights reserved
|
|---|
| 7 | *
|
|---|
| 8 | * @file st_readme.txt
|
|---|
| 9 | * @author MCD Application Team
|
|---|
| 10 | * @brief This file lists the main modification done by STMicroelectronics on
|
|---|
| 11 | * FreeRTOS for integration with STM32Cube solution.
|
|---|
| 12 | * For more details on FreeRTOS implementation on STM32Cube, please refer
|
|---|
| 13 | * to UM1722 "Developing Applications on STM32Cube with FreeRTOS"
|
|---|
| 14 | ******************************************************************************
|
|---|
| 15 | *
|
|---|
| 16 | * Copyright (c) 2019 STMicroelectronics. All rights reserved.
|
|---|
| 17 | *
|
|---|
| 18 | * This software component is licensed by ST under BSD 3-Clause license,
|
|---|
| 19 | * the "License"; You may not use this file except in compliance with the
|
|---|
| 20 | * License. You may obtain a copy of the License at:
|
|---|
| 21 | * opensource.org/licenses/BSD-3-Clause
|
|---|
| 22 | *
|
|---|
| 23 | ******************************************************************************
|
|---|
| 24 | @endverbatim
|
|---|
| 25 |
|
|---|
| 26 | =======
|
|---|
| 27 |
|
|---|
| 28 | ### 31-August-2020 ###
|
|---|
| 29 | =========================
|
|---|
| 30 | + Bug fix for G0 compilation error due to IRQn_Type mismatch between G0 and other families
|
|---|
| 31 | - Source/CMSIS_RTOS_V2/cmsis_os2.c
|
|---|
| 32 | + Bug fix when using systick as timebasse for HAL
|
|---|
| 33 | - Source/CMSIS_RTOS_V2/cmsis_os2.c
|
|---|
| 34 |
|
|---|
| 35 | ### 20-July-2020 ###
|
|---|
| 36 | =========================
|
|---|
| 37 | + FreeRTOS: Update to FreeRTOS v10.3.1
|
|---|
| 38 |
|
|---|
| 39 | + CMSIS_RTOS_V2: update against the latest CMSIS-FreeRTOS v10.3.0 release
|
|---|
| 40 | - CMSIS_RTOS_V2/cmsis_os2.c
|
|---|
| 41 | - CMSIS_RTOS_V2/freertos_mpool.h
|
|---|
| 42 | - CMSIS_RTOS_V2/freertos_os2.h
|
|---|
| 43 | - CMSIS_RTOS_V2/os_systick.c
|
|---|
| 44 |
|
|---|
| 45 | + Add Tickless Idle support for CM23/CM33
|
|---|
| 46 | - GCC/ARM_CM23/non_secure/port.c
|
|---|
| 47 | - GCC/ARM_CM23/non_secure/portmacro.h
|
|---|
| 48 | - GCC/ARM_CM23_NTZ/non_secure/port.c
|
|---|
| 49 | - GCC/ARM_CM23_NTZ/non_secure/portmacro.h
|
|---|
| 50 | - GCC/ARM_CM33/non_secure/port.c
|
|---|
| 51 | - GCC/ARM_CM33/non_secure/portmacro.h
|
|---|
| 52 | - GCC/ARM_CM33_NTZ/non_secure/port.c
|
|---|
| 53 | - GCC/ARM_CM33_NTZ/non_secure/portmacro.h
|
|---|
| 54 | - IAR/ARM_CM23/non_secure/port.c
|
|---|
| 55 | - IAR/ARM_CM23/non_secure/portmacro.h
|
|---|
| 56 | - IAR/ARM_CM23_NTZ/non_secure/port.c
|
|---|
| 57 | - IAR/ARM_CM23_NTZ/non_secure/portmacro.h
|
|---|
| 58 | - IAR/ARM_CM33/non_secure/port.c
|
|---|
| 59 | - IAR/ARM_CM33/non_secure/portmacro.h
|
|---|
| 60 | - IAR/ARM_CM33_NTZ/non_secure/port.c
|
|---|
| 61 | - IAR/ARM_CM33_NTZ/non_secure/portmacro.h
|
|---|
| 62 |
|
|---|
| 63 | + Fix MPU hardfault bug for Cortex-M4 MPU
|
|---|
| 64 | - GCC\ARM_CM4_MPU\port.c
|
|---|
| 65 | - IAR\ARM_CM4_MPU\port.c
|
|---|
| 66 | - RVDS\ARM_CM4_MPU\port.c
|
|---|
| 67 |
|
|---|
| 68 | + Add support for 16 MPU regions to Cortex-M4 MPU ports
|
|---|
| 69 | - GCC/ARM_CM4_MPU/portmacro.h
|
|---|
| 70 | - IAR/ARM_CM4_MPU/portmacro.h
|
|---|
| 71 | - RVDS/ARM_CM4_MPU/portmacro.h
|
|---|
| 72 |
|
|---|
| 73 | + Update ARM_CM7_MPU source files for all compilers
|
|---|
| 74 | - GCC/ARM_CM7_MPU/r0p1/port.c
|
|---|
| 75 | - GCC/ARM_CM7_MPU/r0p1/portmacro.h
|
|---|
| 76 | - IAR/ARM_CM7_MPU/r0p1/port.c
|
|---|
| 77 | - IAR/ARM_CM7_MPU/r0p1/portasm.s
|
|---|
| 78 | - IAR/ARM_CM7_MPU/r0p1/portmacro.h
|
|---|
| 79 | - RVDS/ARM_CM7_MPU/r0p1/port.c
|
|---|
| 80 | - RVDS/ARM_CM7_MPU/r0p1/portmacro.h
|
|---|
| 81 |
|
|---|
| 82 | ### 17-January-2020 ###
|
|---|
| 83 | =========================
|
|---|
| 84 | + Fix compile error in the GCC CM7_MPU port caused by a duplicated variable declaration
|
|---|
| 85 | - Source/portable/GCC/ARM_CM7_MPU/r0p1/port.c
|
|---|
| 86 |
|
|---|
| 87 | ### 13-December-2019 ###
|
|---|
| 88 | =========================
|
|---|
| 89 | + Remove warnings thrown by EWARM for CM33/CM23 ports
|
|---|
| 90 | - IAR/ARM_CM23/non_secure/portmacro.h
|
|---|
| 91 | - IAR/ARM_CM23_NTZ/non_secure/portmacro.h
|
|---|
| 92 | - IAR/ARM_CM33/non_secure/portmacro.h
|
|---|
| 93 | - IAR/ARM_CM33_NTZ/non_secure/portmacro.h
|
|---|
| 94 |
|
|---|
| 95 | ### 19-July-2019 ###
|
|---|
| 96 | =========================
|
|---|
| 97 | + Fix runtime error in the IAR/CM4_MPU port
|
|---|
| 98 | - IAR/ARM_CM4_MPU/port.c
|
|---|
| 99 |
|
|---|
| 100 | ### 12-July-2019 ###
|
|---|
| 101 | =========================
|
|---|
| 102 | + FreeRTOS: Update against the FreeRTOS v10.2.1 release
|
|---|
| 103 | - support for the CM33 and CM23 cores
|
|---|
| 104 |
|
|---|
| 105 | + CMSIS_RTOS_V2: update against the latest CMSIS-FreeRTOS v10.2.0 release
|
|---|
| 106 |
|
|---|
| 107 | + Add MPU support for the CM7/r0p1:
|
|---|
| 108 | - GCC/ARM_CM7_MPU/r0p1/port.c
|
|---|
| 109 | - GCC/ARM_CM7_MPU/r0p1/portmacro.h
|
|---|
| 110 | - IAR/ARM_CM7_MPU/r0p1/port.c
|
|---|
| 111 | - IAR/ARM_CM7_MPU/r0p1/portasm.s
|
|---|
| 112 | - IAR/ARM_CM7_MPU/r0p1/portmacro.h
|
|---|
| 113 | - RVDS/ARM_CM7_MPU/r0p1/port.c
|
|---|
| 114 | - RVDS/ARM_CM7_MPU/r0p1/portmacro.h
|
|---|
| 115 |
|
|---|
| 116 | + cmsis_os.c: Fix compile errors by using the correct TimerCallbackFunction_t type for timer creation
|
|---|
| 117 |
|
|---|
| 118 | ### 29-Mars-2019 ###
|
|---|
| 119 | =========================
|
|---|
| 120 | + cmsis_os.c : Fix bug in osPoolAlloc(): memory blocks can't be reused after being free'd
|
|---|
| 121 | + 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
|
|---|
| 122 | + st_readme.txt: update license terms to BSD-3-Clause
|
|---|
| 123 |
|
|---|
| 124 |
|
|---|
| 125 | ### 13-August-2018 ###
|
|---|
| 126 | =========================
|
|---|
| 127 | + Add empty implementation for the missing function osThreadGetStackSize()
|
|---|
| 128 | to avoid link errors when using CMSIS-RTOS V2.
|
|---|
| 129 |
|
|---|
| 130 | + Update the FreeRTOSConfig_template.h with specific defines for the
|
|---|
| 131 | CMSIS-RTOS V2.
|
|---|
| 132 |
|
|---|
| 133 | + Rename the "RTE_RTOS_FreeRTOS_XXXX" macros to "USE_FreeRTOS_XXXX" in
|
|---|
| 134 | cmsis_os2.c.
|
|---|
| 135 |
|
|---|
| 136 | ### 30-July-2018 ###
|
|---|
| 137 | =========================
|
|---|
| 138 | + Update License.txt file to MIT license instead of GPLv2
|
|---|
| 139 |
|
|---|
| 140 | ### 23-July-2018 ###
|
|---|
| 141 | =========================
|
|---|
| 142 | + Fix compiler warnings thrown by IAR compiler 8.20
|
|---|
| 143 |
|
|---|
| 144 | + Add MPU support for the CM7/r0p1:
|
|---|
| 145 | - GCC/ARM_CM7_MPU/r0p1/port.c
|
|---|
| 146 | - GCC/ARM_CM7_MPU/r0p1/portmacro.h
|
|---|
| 147 | - IAR/ARM_CM7_MPU/r0p1/port.c
|
|---|
| 148 | - IAR/ARM_CM7_MPU/r0p1/portasm.s
|
|---|
| 149 | - IAR/ARM_CM7_MPU/r0p1/portmacro.h
|
|---|
| 150 | - RVDS/ARM_CM7_MPU/r0p1/port.c
|
|---|
| 151 | - RVDS/ARM_CM7_MPU/r0p1/portmacro.h
|
|---|
| 152 |
|
|---|
| 153 | ### 09-April-2018 ###
|
|---|
| 154 | =========================
|
|---|
| 155 | Update the FreeRTOS against the latest release 10.0.1
|
|---|
| 156 | more details are available in: https://www.freertos.org/History.txt
|
|---|
| 157 |
|
|---|
| 158 | + Integrate support for tickless mode for ARM_CM0 core:
|
|---|
| 159 | - GCC/ARM_CM0/port.c
|
|---|
| 160 | - GCC/ARM_CM0/portmacro.h
|
|---|
| 161 | - IAR/ARM_CM0/port.c
|
|---|
| 162 | - IAR/ARM_CM0/portmacro.h
|
|---|
| 163 | - RVDS/ARM_CM0/port.c
|
|---|
| 164 |
|
|---|
| 165 | Integrate CMSIS-RTOSv2 wrapper based on: https://github.com/ARM-software/CMSIS-FreeRTOS/releases/tag/10.0.1
|
|---|
| 166 | + Add new files:
|
|---|
| 167 | - CMSIS_RTOS_V2/cmsis_os.h
|
|---|
| 168 | - CMSIS_RTOS_V2/cmsis_os1.c
|
|---|
| 169 | - CMSIS_RTOS_V2/cmsis_os2.c
|
|---|
| 170 | - CMSIS_RTOS_V2/cmsis_os2.h
|
|---|
| 171 | "cmsis_os1.c" and "cmsis_os1.h" contains the reference implementation of
|
|---|
| 172 | CMSIS-RTOSv1,i.e as released by ARM, using the CMSIS-RTOSV2 API.
|
|---|
| 173 |
|
|---|
| 174 | + The ST customized CMSIS-RTOSv1 is maintained under:
|
|---|
| 175 | - CMSIS_RTOS/cmsis_os.c
|
|---|
| 176 | - CMSIS_RTOS/cmsis_os.h
|
|---|
| 177 |
|
|---|
| 178 | + When using CMSIS-RTOSv2 APIs, the following FreeRTOS defines are required:
|
|---|
| 179 | - #define configMAX_PRIORITIES 56
|
|---|
| 180 | - #define configSUPPORT_STATIC_ALLOCATION 0
|
|---|
| 181 | - #define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
|
|---|
| 182 |
|
|---|
| 183 |
|
|---|
| 184 | ### 10-August-2017 ###
|
|---|
| 185 | =========================
|
|---|
| 186 | Update FreeRTOS to support MPU feature with IAR compiler.
|
|---|
| 187 |
|
|---|
| 188 | + Add the following ports:
|
|---|
| 189 | - IAR/ARM_CM4_MPU
|
|---|
| 190 | - IAR/ARM_CM7_MPU
|
|---|
| 191 | - RVDS/ARM_CM7_MPU
|
|---|
| 192 |
|
|---|
| 193 |
|
|---|
| 194 | ### 03-March-2017 ###
|
|---|
| 195 | =========================
|
|---|
| 196 | Update CMSIS-RTOS drivers to support both CMSIS Core V4.x and V5.x
|
|---|
| 197 |
|
|---|
| 198 | Bug fixes:
|
|---|
| 199 | + CMSIS-RTOS: Wrong return value for osSignalWait()
|
|---|
| 200 | + CMSIS-RTOS: Not all queue size is 0 initialized with osMailCAlloc()
|
|---|
| 201 |
|
|---|
| 202 | Limitation:
|
|---|
| 203 | + CMSIS-RTOS: osSignalWAit() function is not fully compliant with the specification
|
|---|
| 204 |
|
|---|
| 205 |
|
|---|
| 206 | ### 30-September-2016 ###
|
|---|
| 207 | =========================
|
|---|
| 208 | The purpose of this release is to Upgrade to use FreeRTOS V9.0.0, this version
|
|---|
| 209 | is a drop-in compatible replacement for FreeRTOS V8.2.3.
|
|---|
| 210 | For more details please refer to http://www.freertos.org/History.txt
|
|---|
| 211 |
|
|---|
| 212 | + Add support to tickless mode for MPU ports:
|
|---|
| 213 | - GCC/ARM_CM3_MPU/port.c
|
|---|
| 214 | - GCC/ARM_CM4_MPU/port.c
|
|---|
| 215 | - RVDS/ARM_CM4_MPU/port.c
|
|---|
| 216 |
|
|---|
| 217 | + Update CM0 ports, add possibility to use a timebase different than Systick:
|
|---|
| 218 | - IAR/ARM_CM0/port.c
|
|---|
| 219 | - RVDS/ARM_CM0/port.c
|
|---|
| 220 | - GCC/ARM_CM0/port.c
|
|---|
| 221 |
|
|---|
| 222 | + Fix compilation error in CM3_MPU and CM4_MPU ports:
|
|---|
| 223 | - GCC/ARM_CM3_MPU/portmacro.h
|
|---|
| 224 | - GCC/ARM_CM4_MPU/portmacro.h
|
|---|
| 225 | - RVDS/ARM_CM4_MPU/portmacro.h
|
|---|
| 226 | - Add "Source\portable\Common\" directory
|
|---|
| 227 |
|
|---|
| 228 | + cmsis_os.c
|
|---|
| 229 | - Add support of Statically Allocated Systems introduced with FreeRTOS V9.0.0
|
|---|
| 230 | - Add new wrappers CMSIS-RTOS APIs
|
|---|
| 231 |
|
|---|
| 232 | FreeRTOS APIs | CMSIS-RTOS APIs | Description
|
|---|
| 233 | ==================================================================================================================
|
|---|
| 234 | uxQueueMessagesWaiting() | osMessageWaiting() | Return the number of messages stored in a queue
|
|---|
| 235 | ------------------------------------------------------------------------------------------------------------------
|
|---|
| 236 | xTaskAbortDelay() | osAbortDelay() | Force a thread to get out the blocked state immediately
|
|---|
| 237 | ------------------------------------------------------------------------------------------------------------------
|
|---|
| 238 | uxSemaphoreGetCount() | osSemaphoreGetCount() | Return the current count of a semaphore
|
|---|
| 239 | ------------------------------------------------------------------------------------------------------------------
|
|---|
| 240 | uxQueueSpacesAvailable() | osMessageAvailableSpace() | Return the available space in a message queue
|
|---|
| 241 | ------------------------------------------------------------------------------------------------------------------
|
|---|
| 242 | vQueueDelete() | osMessageDelete() | Delete a message Queue
|
|---|
| 243 | ------------------------------------------------------------------------------------------------------------------
|
|---|
| 244 |
|
|---|
| 245 |
|
|---|
| 246 | ### 22-January-2016 ###
|
|---|
| 247 | =======================
|
|---|
| 248 | The purpose of this release is to Upgrade to use FreeRTOS V8.2.3.
|
|---|
| 249 | It also provides fixes for minor issues.
|
|---|
| 250 |
|
|---|
| 251 | + cmsis_os.c
|
|---|
| 252 | - Implementation of functions "osSignalSet" and "osSignalWait" are now delimited by
|
|---|
| 253 | #define configUSE_TASK_NOTIFICATIONS.
|
|---|
| 254 | - Function "osTimerStart" : fix for an assert issue when called from an ISR.
|
|---|
| 255 | - Function "osMailCreate" : internal variables initialization.
|
|---|
| 256 | - Function "osSignalWait" : signals value is now compared versus integer zero for error checking.
|
|---|
| 257 |
|
|---|
| 258 | + freeRTOS sources
|
|---|
| 259 | - FreeRTOS.h file : Add configuration sanity check in case of configUSE_RECURSIVE_MUTEXES set
|
|---|
| 260 | and configUSE_MUTEXES not set.
|
|---|
| 261 |
|
|---|
| 262 | + STMicroelectronics license simplifications, see license disclaimer within this file's header
|
|---|
| 263 |
|
|---|
| 264 |
|
|---|
| 265 | ### 27-March-2015 ###
|
|---|
| 266 | =====================
|
|---|
| 267 | The purpose of this release is to Upgrade to use FreeRTOS V8.2.1.
|
|---|
| 268 |
|
|---|
| 269 | + Major change of the version 8.2.1 is the support of CM7 core.
|
|---|
| 270 | For STM32F746xx/STM32F756xx devices, need to use port files under Source/Portable/XXX/ARM_CM7/r0p1,
|
|---|
| 271 | where XXX refers to the compiler used.
|
|---|
| 272 |
|
|---|
| 273 | + It also provides implementation of osSignal management APIs, osSignalSet() and osSignalWait(),
|
|---|
| 274 | fixes osMassage queue size, osMailQDef macro and osDelayUntil parameters.
|
|---|
| 275 |
|
|---|
| 276 | + In this release an alignment has been done in ARM_CM4 and ARM_CM3 port.c versus ARM_CM0 port.c
|
|---|
| 277 | regarding the use of macros configPRE_SLEEP_PROCESSING and configPOST_SLEEP_PROCESSING, these tow macros
|
|---|
| 278 | are now taking as parameter as pointer to TickType_t.
|
|---|
| 279 |
|
|---|
| 280 | + cmsis_os.c
|
|---|
| 281 | - Add implementation of osSignalSet() and osSignalWait() APIs
|
|---|
| 282 | - Fix massage queue size in osMessageCreate API
|
|---|
| 283 | - osDelayUntil: parameter PreviousWakeTime is now passed as a pointer.
|
|---|
| 284 | - Enabling Mail queue management APIs (temporary removed in previous version).
|
|---|
| 285 | - Function "osThreadGetPriority" uses now uxTaskPriorityGetFromISR if called from an interrupt handler, if not use uxTaskPriorityGet.
|
|---|
| 286 |
|
|---|
| 287 | + cmsis_os.h
|
|---|
| 288 | - osFeature_Wait is defined to 0 to indicate that osWait function is not available (as specified by cmsis_os template by ARM)
|
|---|
| 289 | - Fix compilation issue with osMailQDef macro.
|
|---|
| 290 | - Enabling Mail queue management APIs (temporary removed in previous version)
|
|---|
| 291 |
|
|---|
| 292 | + freeRTOS sources
|
|---|
| 293 | - ARM_CM3 port.c and ARM_CM4 port.c:
|
|---|
| 294 | function vPortSuppressTicksAndSleep : configPRE_SLEEP_PROCESSING and configPOST_SLEEP_PROCESSING are now taking
|
|---|
| 295 | as parameter as pointer to TickType_t.
|
|---|
| 296 | The purpose of this change is to align the CM3 and CM4 implementation with CM0 one.
|
|---|
| 297 |
|
|---|
| 298 | + Note
|
|---|
| 299 | - osSignalSet returns an int32_t value which is a a status (osOK or osError)
|
|---|
| 300 | instead of the previous signal value as specified in cmsis_os template by ARM.
|
|---|
| 301 | 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.
|
|---|
| 302 |
|
|---|
| 303 | - osThreadDef() macro is defined in the freeRTOS cmsis_os.h wrapper as follow :
|
|---|
| 304 | osThreadDef(name, thread, priority, instances, stacksz)
|
|---|
| 305 | the macro osThreadDef() as defined in ARM cmsis_os.h is defined with 4 parameters :
|
|---|
| 306 | name : name of the thread function.
|
|---|
| 307 | priority : initial priority of the thread function.
|
|---|
| 308 | instances : number of possible thread instances.
|
|---|
| 309 | stacksz : stack size (in bytes) requirements for the thread function.
|
|---|
| 310 |
|
|---|
| 311 | - osThreadDef as defined in the ARM template file cmsis_os.h assumes that the thread name is the same as the thread function name.
|
|---|
| 312 | where the freeRTOS implementation gives separate parameters for the thread name and the thread function name.
|
|---|
| 313 |
|
|---|
| 314 | care must be taken when porting an application from/to another OS to/from freeRTOS cmsis_os regarding this macro.
|
|---|
| 315 |
|
|---|
| 316 | the macro osThreadDef() as defined in ARM cmsis_os.h template is defined with 4 parameters :
|
|---|
| 317 | name : name of the thread function.
|
|---|
| 318 | priority : initial priority of the thread function.
|
|---|
| 319 | instances : number of possible thread instances.
|
|---|
| 320 | stacksz : stack size (in bytes) requirements for the thread function.
|
|---|
| 321 |
|
|---|
| 322 | the macro osThreadDef() as defined in freeRTOS cmsis_os.h is defined with 5 parameters :
|
|---|
| 323 | name : name of the thread (used for debugging and trace).
|
|---|
| 324 | thread : name of the thread function
|
|---|
| 325 | priority : initial priority of the thread function.
|
|---|
| 326 | instances : number of possible thread instances.
|
|---|
| 327 | stacksz : stack size (in bytes) requirements for the thread function.
|
|---|
| 328 |
|
|---|
| 329 |
|
|---|
| 330 | ### 25-December-2014 ###
|
|---|
| 331 | ========================
|
|---|
| 332 | The purpose of this release is to remove compilation errors and warning. It also reintroduces
|
|---|
| 333 | the function osThreadIsSuspended() which has been removed in the version V1.2.0.
|
|---|
| 334 |
|
|---|
| 335 | + cmsis_os.c
|
|---|
| 336 | - osThreadGetPriority() and makeCmsisPriority(): replace INCLUDE_vTaskPriorityGet by the correct
|
|---|
| 337 | freeRTOS constant uxTaskPriorityGet.
|
|---|
| 338 | The version 1.2.2 is using a wrong constant INCLUDE_vTaskPriorityGet, while the correct freeRTOS
|
|---|
| 339 | constant is uxTaskPriorityGet.
|
|---|
| 340 | This fix ensure a safe use of osThreadGetPriority() function.
|
|---|
| 341 |
|
|---|
| 342 | - osThreadIsSuspended(): this function has been removed in version V1.2.0, it is now available gain.
|
|---|
| 343 | User can either use this function to check if a Thread is suspended either use function osThreadGetState,
|
|---|
| 344 | which is more generic, to check the exact state of a thread.
|
|---|
| 345 |
|
|---|
| 346 | - osThreadList(): this function is now taking as argument a pointer to uint8_t instead of a pointer to int8_t.
|
|---|
| 347 | The change is made to remove a compilation warning.
|
|---|
| 348 |
|
|---|
| 349 | - osRecursiveMutexCreate(): the prototype has been changed to osMutexId osRecursiveMutexCreate (const osMutexDef_t *mutex_def)
|
|---|
| 350 | This change is made to make osRecursiveMutexCreate() compatible with function MutexCreate().
|
|---|
| 351 | It also allow the better use of the function in conjunction with the macro osMutex, note that osMutex return a
|
|---|
| 352 | "const osMutexDef_t *mutex_def".
|
|---|
| 353 | example : osMutex1Id = osRecursiveMutexCreate (osMutex(Mutex1));
|
|---|
| 354 |
|
|---|
| 355 | - Fix implementation of functions osSemaphoreWait(), osMutexRelease() and osMutexWait() by using the appropriate
|
|---|
| 356 | freeRTOS FromISR APIs when called from an interrupt.
|
|---|
| 357 |
|
|---|
| 358 | - Fix compilation warning when the constant INCLUDE_eTaskGetState is not defined
|
|---|
| 359 |
|
|---|
| 360 | + cmsis_os.h
|
|---|
| 361 | - osThreadIsSuspended(): add function prototype.
|
|---|
| 362 | - osThreadList(): function prototype modified as described in cmsis_os.c section.
|
|---|
| 363 | - osRecursiveMutexCreate(): function modified as described in cmsis_os.c section.
|
|---|
| 364 |
|
|---|
| 365 | + Important note:
|
|---|
| 366 | Mail Queue Management Functions are not supported in this cmsis_os version, will be added in the next release.
|
|---|
| 367 |
|
|---|
| 368 |
|
|---|
| 369 | ### 04-December-2014 ###
|
|---|
| 370 | ========================
|
|---|
| 371 | + cmsis_os.c, osSemaphoreCreate(): use vSemaphoreCreateBinary() instead of xSemaphoreCreateBinary(),
|
|---|
| 372 | to keep compatibility with application code developed on FreeRTOS V7.6.0.
|
|---|
| 373 |
|
|---|
| 374 |
|
|---|
| 375 | ### 07-November-2014 ###
|
|---|
| 376 | ========================
|
|---|
| 377 | + cmsis_os.h: modify the osThreadState enum to fix warning generated by ARMCC compiler
|
|---|
| 378 | + task.c: add preprocessor compilation condition for prvTaskIsTaskSuspended() function
|
|---|
| 379 | (it's build only when INCLUDE_vTaskSuspend option is enabled in FreeRTOSConfig.h file)
|
|---|
| 380 |
|
|---|
| 381 |
|
|---|
| 382 | ### 04-November-2014 ###
|
|---|
| 383 | ========================
|
|---|
| 384 | + Upgrade to use FreeRTOS V8.1.2 and CMSIS-RTOS V1.02.
|
|---|
| 385 | + cmsis_os.c
|
|---|
| 386 | - Almost of CMSIS-RTOS APIs are implemented for FreeRTOS
|
|---|
| 387 | - Additional wrapper APIs created for FreeRTOS
|
|---|
| 388 |
|
|---|
| 389 | + Important note:
|
|---|
| 390 | When upgrading existing application code to use this last version, the following
|
|---|
| 391 | update should be considered:
|
|---|
| 392 | - osThreadIsSuspended() is no longer public API in FreeRTOS and it should
|
|---|
| 393 | be replaced by the wrapping of eTaskGetState()
|
|---|
| 394 | - osKernelStart() API changed, must be updated
|
|---|
| 395 | - update FreeRTOSConfig.h file, taking FreeRTOSConfig_template.h file as reference
|
|---|
| 396 |
|
|---|
| 397 |
|
|---|
| 398 | ### 13-June-2014 ###
|
|---|
| 399 | ====================
|
|---|
| 400 | + FreeRTOSConfig_template.h: add this definition #define INCLUDE_xTaskGetSchedulerState 1
|
|---|
| 401 | to enable the use of xTaskGetSchedulerState() API in the
|
|---|
| 402 | application code.
|
|---|
| 403 |
|
|---|
| 404 |
|
|---|
| 405 | ### 30-April-2014 ###
|
|---|
| 406 | =====================
|
|---|
| 407 | + cmsis_os.c: add preprocessor compilation condition when calling some FreeRTOS APIs, to avoid link
|
|---|
| 408 | errors with MDK-ARM when some FreeRTOS features are not enabled in FreeRTOSConfig.h
|
|---|
| 409 |
|
|---|
| 410 |
|
|---|
| 411 | ### 22-April-2014 ###
|
|---|
| 412 | =====================
|
|---|
| 413 | + Add Tickles mode for CM0 port (IAR, GCC, RVDS).
|
|---|
| 414 |
|
|---|
| 415 |
|
|---|
| 416 | ### 18-February-2014 ###
|
|---|
| 417 | ========================
|
|---|
| 418 | + FreeRTOS V7.6.0 customized version for STM32Cube solution.
|
|---|
| 419 |
|
|---|
| 420 |
|
|---|
| 421 | * <h3><center>© COPYRIGHT STMicroelectronics</center></h3>
|
|---|
| 422 | */
|
|---|