@verbatim
******************************************************************************
*
* Portions Copyright � 2016 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"
******************************************************************************
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted, provided that the following conditions are met:
*
* 1. Redistribution of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* 3. Neither the name of STMicroelectronics nor the names of other
* contributors to this software may be used to endorse or promote products
* derived from this software without specific written permission.
* 4. This software, including modifications and/or derivative works of this
* software, must execute solely and exclusively on microcontroller or
* microprocessor devices manufactured by or for STMicroelectronics.
* 5. Redistribution and use of this software other than as permitted under
* this license is void and will automatically terminate your rights under
* this license.
*
* THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
* PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
* RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
* SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************
@endverbatim
### 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)
评论1