从 FreeRTOS V10.2.1 升级到 V10.3.0
向后兼容性
FreeRTOS 10.3.0 包含下文描述的全新配置选项。 未被定义的
新选项将保持一个默认值来确保能够
向后兼容 FreeRTOS V10.2.x。 因此,FreeRTOS 10.3.0 是
在 FreeRTOS V10.2.1 基础上增加了向后兼容性的替代品,更加便利。
ARM Cortex-M 内存保护单元 (MPU) 移植
ARMv7-M(ARM Cortex-M3、ARM Cortex-M4F 和 ARM Cortex-M7)移植
配备了内存保护单元 (MPU),具有以下新配置选项:
- configENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY
当
configENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY 被定义为 1 时
(位于 FreeRTOSConfig.h),权限提升只能从 FreeRTOS 内核代码内部出现
(硬件本身在一个中断进入时执行的权限提升
除外)。它要求
freertos_system_calls 属性的所有函数都放置在单独的一部分中,
并且从链接器脚本中导出以下两个变量,用于告知
此部分的位置:
- __syscalls_flash_start__
- __syscalls_flash_end__
提供 GCC、Keil uVision 和 IAR Embedded Workbench 上的预配置的示例。
示例分别位于
FreeRTOS/Demo/CORTEX_MPU_STM32L4_Discovery_GCC_IAR_Keil
和
FreeRTOS/Demo/CORTEX_MPU_M3_NUCLEO_L152RE_GCC 目录。
请参阅
FreeRTOS 内存保护
单元 (MPU) 支持以了解更多关于如何使用 FreeRTOS-MPU 移植的信息。
RISC-V 移植
弃用了
configCLINT_BASE_ADDRESS 配置,
以
configMTIME_BASE_ADDRESS 和
configMTIMECMP_BASE_ADDRESS 替代。
要了解有关新设置的描述,请参阅
在 RISC-V 微控制器上使用 FreeRTOS 文档页面。
如果旧版应用程序仍然使用 configCLINT_BASE_ADDRESS 设置,
会出现一个编译器警告,但应用程序还是会照旧
继续构建和运行。
其他变更
请参阅
变更历史记录,获取有关新移植
以及其他增强功能的更多详情。
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.