FreeRTOS 更新概要

V11.0.1
+ 更新了 SBOM 文件。

V11.0.0版本

SMP 并入主线:  虽然 FreeRTOS 在 2017 年引入了非对称
  多处理(AMP)支持,而 FreeRTOS 11.0.0 版则是第一个将对称多处理(SMP)支持并入主线的版本。
  首次将对称多处理(SMP)支持并入主线
  版本中。SMP 可让 FreeRTOS 内核的一个实例在多个相同的处理器内核之间调度任务
  在多个相同的处理器内核上调度任务。 我们感谢 XMOS 的 Mike Bruno 和 Jerry
  McCarthy 以及 Espressif Systems 的 Darian Liang、Sudeep Mohanty 和 Zim Kalinowski 所做的贡献。
  Espressif Systems 的 Darian Liang、Sudeep Mohanty 和 Zim Kalinowski 所做的贡献。
+ 将 MISRA 合规性检查从 PC Lint 切换到 Coverity,并将 MISRA C:2004 更新为 MISRA C:2004。
  MISRA C:2004 更新至 MISRA C:2012。
+ 添加 FreeRTOSConfig.h 模板,其中包含对每个配置项的简短解释。
  每个配置项的简短解释。应用程序编写者可以使用此模板作为
  作为起点,为其应用程序创建 FreeRTOSConfig.h 文件。
+ 添加一个 FreeRTOS port 模板,作为开发新的 FreeRTOS port 的起点。
  开发新的 FreeRTOS 移植的起点。
+ 在
  heap_4.c 和 heap_5.c 中的内部堆块指针添加边界检查和混淆,以帮助捕捉指针损坏。应用程序可
  中将 configENABLE_HEAP_PROTECTOR 设为 1,以启用这些检查。
  我们感谢 @oliverlavery 的贡献。
+ 更新 vTaskList 和 vTaskGetRunTimeStats API,用 snprintf 代替 sprintf。
  替换为 snprintf。
为端口添加跟踪宏,以跟踪 ISR 与调度程序事件的交互。
  调度器事件的交互。感谢 @conara 的贡献。
+ 添加跟踪宏,以跟踪进入和退出所有 API 的情况。我们
  感谢 @Techcore123 的贡献。
+ 添加 uxTaskBasePriorityGet 和 uxTaskBasePriorityGetFromISR API,以获取任务的基本优先级。
  任务的基本优先级。任务的基本优先级是
  由于优先级继承的原因,它可能不是任务的当前优先级。
  任务的当前优先级。
+ 添加 pdTICKS_TO_MS 宏,将 FreeRTOS 的 ticks 时间转换为毫秒时间。
  毫秒。感谢 @Dazza0 的贡献。
+ 添加 vApplicationGetIdleTaskMemory 和
  vApplicationGetTimerTaskMemory 的默认实现。应用程序可通过设置 configKERN
  中将 configKERNEL_PROVIDED_STATIC_MEMORY 设为 1。
  我们感谢 @mdnr-g 的贡献。
+ 更新 vTaskGetInfo,以便在堆栈的起始和结束值都可用的情况下包含这两个值。
  值都可用时,更新 vTaskGetInfo 以包含堆栈的起点和终点。感谢 @vinceburns 提供的信息。
+ 防止调用
  vTaskResume 或 vTaskResumeFromISR 的调用恢复等待通知的任务。我们感谢 @Moral-Hao
  的贡献。
+ 添加断言以验证应用程序已正确安装
  Cortex-M 设备上 PendSV 和 SVCall 中断的 FreeRTOS 处理程序。
  感谢 @jefftenney 的贡献。
 将 ARM_CA53_64_BIT 和 ARM_CA53_64_BIT_SRE 端口分别重命名为 Arm_AARCH64 和 Arm_AARCH64_SRE。
  分别更名为 Arm_AARCH64 和 Arm_AARCH64_SRE,因为这些端口适用于所有 AArch64
  架构。感谢 @urutva 的贡献。
+ 添加 CMake 支持,允许应用程序编写者选择 RISC-V 芯片扩展。
  芯片扩展。感谢 @JoeBenczarski 的贡献。
+ 增加 CMake 支持,允许应用程序编写者仅使用静态分配构建应用程序。
  只使用静态分配。感谢 @conara 的贡献。
+ 为 ARMv8-M 移植的非特权任务提供 taskYIELD。
+ 更新 Cortex-M23 移植,使其不使用 PSPLIM_NS。感谢 @urutva
  的贡献。
+ 更新 ARMv8-M 端口的 SysTick 设置代码,首先配置时钟源,然后启用 SysTick。
  源,然后启用 SysTick。这是解决 QEMU
  7.0.0 以上版本中的一个 Bug。
  启用 SysTick 时会导致模拟错误。感谢 @jefftenney
  的贡献。
+ 在 ARMv7-M 端口中添加端口优化的任务选择算法。
  将 ARMv7-M 端口可选的端口优化任务选择算法添加到 ARMv8-M 端口。我们感谢 @jefftenney
  的贡献。
在 heap_4.c 和 heap_5.c 中提高 pvPortMalloc 的速度,方法是在将大内存块一分为二时删除不必要的步骤。
  中 pvPortMalloc 的速度。感谢
  @Moral-Hao 的贡献。
+ 在 heap_2.c、heap_4.c 和 heap_5.c 中缩短 pvPortMalloc 的关键部分。
  heap_5.c 中 pvPortMalloc 的临界部分,将大小计算移出临界部分。感谢
  @Moral-Hao 的贡献。
+ 更新 xTaskNotifyWait 和 ulTaskNotifyTake,以移除遍历链接链路的非确定性操作。
  的非确定性操作。我们感谢
  @karver8 的贡献。
+ 修正了 POSIX port 中的堆栈结束和堆栈大小计算,以满足 MacOS 上的堆栈对齐要求。
  对齐要求。感谢 @tegimeki 提供的帮助。
+ 更新 vTaskPrioritySet 的实现,以便在任务继承了来自多重任务的优先级时使用新的优先级。
  新优先级大于继承优先级时使用新优先级。
  大于继承的优先级时使用新优先级。感谢 @Moral-Hao
  的贡献。
+ 增加堆栈向上增长时的堆栈对齐调整。感谢 @ivq
  的贡献。
当选择 picolib C 作为 C 库实现时,修正 configINIT_TLS_BLOCK 中的 pxTopOfStack 计算。
  作为 C 库实现时,修正 configINIT_TLS_BLOCK 中的 pxTopOfStack 计算,以确保
  pxPortInitialiseStack 不会覆盖堆栈中 TLS 块部分的数据。
  栈中的数据。感谢 @bebebib-rs 的贡献。
+ 修正 MSVC 移植的 vPortEndScheduler(),使函数
  prvProcessSimulatedInterrupts 不会在调度程序停止时陷入无限循环。
  调度程序停止时不会陷入无限循环。感谢 @Ju1He1 的贡献。
+ 添加 Pull Request (PR) 流程,解释 PR 所经历的各个阶段。

V10.6.2

为新的 MPU 封装程序 (mpu_wrappers_v2.c) 添加以下改进功能
  添加以下改进:
  - 引入访问控制列表 (ACL) 功能,允许应用程序编写者控制非特权任务对内核对象的访问。
    编写者控制非特权任务对内核对象的访问。
  - 更新系统调用入口机制,使其只需要一条监督员调用(SVC
    调用 (SVC) 指令。
  - 将参数超过四个的系统调用的参数包在一个
    结构中,以避免在进入系统调用时进行特殊处理。
  - 修正 2 个可能的整数溢出。
  - 将某些断言转换为运行时参数检查。

V10.6.1版本

FreeRTOS V10.6.0和FreeRTOS 10.6.1之间的更改将于2023年8月17日发布

+ 为 mpu_wrappers_v2.c 文件中的函数添加运行时参数检查。
  同样的检查已在 API 实现中使用
  asserts 执行相同的检查。
  我们感谢以下人员在这些变更中提供的帮助:
  - 安徽工业大学计算机科学与技术学院罗岚、刘紫霞、
    安徽工业大学计算机科学与技术学院的罗岚、刘紫霞。
  - 中国安徽工业大学计算机科学与技术学院的罗岚、刘子霞。
    美国马萨诸塞州洛厄尔大学计算机科学系傅新文。
  - 东南大学计算机科学与工程学院邵新辉、魏玉萌、严怀宇、凌振
    中国东南大学计算机科学与工程学院

V10.6.0版本

FreeRTOS V10.5.1和FreeRTOS 10.6.0之间的更改于2023年7月13日发布

+ 添加一个新的 MPU 封装程序,对非特权任务进行额外限制。
  任务的额外限制。以下是新 MPU 引入的更改列表
  封装器引入的更改列表:

  1. 内核对象句柄的不透明和间接可验证整数:
     所有内核对象句柄(例如队列句柄)现在都是
     不透明整数。以前的对象句柄是原始指针。
  2. 在任务控制块(TCB)中保存任务上下文: 当任务
     任务的上下文保存在任务控制块(TCB)中。
     TCB 中。以前,任务上下文保存在堆栈中。
  3. 在仅有特权的单独堆栈上执行系统调用: FreeRTOS
     系统调用以提升的权限执行,现在使用单独的
     单独的权限栈。以前系统调用使用调用任务的
     调用任务的堆栈。应用程序编写者可以使用新的
     系统调用堆栈的大小。
     宏来控制系统调用堆栈的大小。
  4. 内存边界检查: FreeRTOS 系统调用在接受指针并去引用指针后
     并取消引用的 FreeRTOS 系统调用,现在会验证调用任务是否拥有访问引用的内存位置所需的权限。
     访问指针引用的内存位置所需的权限。

5. 系统调用限制: 以下系统调用不再
     非特权任务可用:
      - vQueueDelete
      - xQueueCreateMutex
      - xQueueCreateMutexStatic
      - xQueueCreateCountingSemaphore
      - xQueueCreateCountingSemaphoreStatic
      - xQueueGenericCreate
      - xQueueGenericCreateStatic
      - xQueueCreateSet
      - xQueueRemoveFromSet
      - xQueueGenericReset
      - xTaskCreate
      - xTaskCreateStatic
      - vTaskDelete
      - vTaskPrioritySet
      - vTaskSuspendAll
      - xTaskResumeAll
      - xTaskGetHandle
      - xTaskCallApplicationTaskHook
      - vTaskList
      - vTaskGetRunTimeStats
      - xTaskCatchUpTicks
      - xEventGroupCreate
      - xEventGroupCreateStatic
      - vEventGroupDelete
      - xStreamBufferGenericCreate
      - xStreamBufferGenericCreateStatic
      - vStreamBufferDelete
      - xStreamBufferReset
     此外,非特权任务不能再使用 vTaskSuspend 来暂停除自己以外的任何任务。
     暂停除自己以外的任何任务。

  我们感谢以下人员对这些改进所做的贡献:
    - Meta Platforms, Inc.
    - 中国科学院计算技术研究所计算机科学与工程学院的罗岚、邵新辉、魏玉萌、刘紫霞、颜怀宇和凌振
      东南大学计算机科学与工程学院、
      中国
    - 中国东南大学计算机科学与工程学院的罗岚、邵新会、魏玉萌、刘紫霞、严怀宇和凌振。
      美国马萨诸塞州洛厄尔大学计算机科学系傅新文。
    - 美国科罗拉多大学博尔德分校的陈岳琦、王自成、林明浩、王家和。
      美国科罗拉多大学博尔德分校

+ 添加 Cortex-M35P 端口。由 @urutva 提供。
+ 为 IAR RISC-V 移植添加嵌入式扩展 (RV32E) 支持。
+ 添加 ulTaskGetRunTimeCounter 和 ulTaskGetRunTimePercent API。贡献者
  @chrisnc.
+ 添加 API,以便从静态创建的内核对象中获取应用程序提供的缓冲区。
  创建的内核对象中获取应用程序提供的缓冲区的 API。新增了以下 API:
  - xTaskGetStaticBuffers
  - xQueueGetStaticBuffers
  - xQueueGenericGetStaticBuffers
  - xSemaphoreGetStaticBuffer
  - xEventGroupGetStaticBuffer
  - xStreamBufferGetStaticBuffer
  - xMessageBufferGetStaticBuffers
  这些 API 使应用程序编写者能够从内核对象中获取静态缓冲区,并释放/释放/释放
  内核对象中获取静态缓冲区,并在删除时释放/重复使用它们。以前
  应用程序编写者必须在内核对象中维护静态缓冲区和内核对象之间的关联。
  和应用程序中内核对象的关联。由 @Dazza0 提供。

+ 使用 picolibc 函数添加线程本地存储 (TLS) 支持。贡献者
  由 @keith-packard 提供。
+ 添加 configTICK_TYPE_WIDTH_IN_BITS 以配置 TickType_t 数据类型。因此、
  事件组中的位数也会随大数据类型的增加而增加。贡献者
  由 @Hadatko 提供。
+ 更新 eTaskGetState 和 uxTaskGetSystemState,为待处理的就绪任务返回 eReady。
  任务返回 eReady。由 @Dazza0 提供。
+ 更新 heap_4 和 heap_5,使其仅在生成的块尚未对齐时添加填充。
  已对齐。
+ 修复调度程序逻辑中的几个地方,以便在同等优先级的任务就绪时不抢先执行任务。
  优先级相同的任务就绪时,不会抢占任务。
+ 添加 FreeRTOS-Plus 库中使用的宏。由 @Holden 提供。
+ 修复 clang 编译器警告。由 @phelter 提供。
+ 在 ARMv8-M port 中添加断言,以检测 FreeRTOS API 是否被优先级高于设置的中断调用。
  优先级高于 configMAX_SYSCALL_INTERRUPT_PRIORITY 时调用 FreeRTOS API。
  由 @urutva 提供。

+ 为 ARM_CM0 端口添加 xPortIsInsideInterrupt API。
+ 当使用大型数据模型时,修复 MSP430X 端口的构建警告。
+ 在不带 FPU 的部件上增加使用 Cortex-R5 端口的功能。
+ 修复 PIC24/dsPIC 堆实现中的构建警告。
+ 更新 Cortex-M 端口的中断优先级断言,使其不会在 QEMU 上触发。
  在未实现 PRIO 位的 QEMU 上启动。
+ 更新 ARMv7-M 端口,确保内核中断以最低优先级运行。
  configKERNEL_INTERRUPT_PRIORITY 现在已不再适用于 ARMv7-M 端口,并使这些端口与新的内核中断一致。
  这些端口与较新的 ARMv8-M 端口保持一致。由 @chrisnc 提供。
+ 修复 Windows Subsystem for Linux (WSL) 上 POSIX GCC port 的联编问题。贡献者
  由 @jacky309.
+ 在 Microblaze 移植中添加 portMEMORY_BARRIER。由 @bbain 提供。
+ 为 ATmega 端口添加 portPOINTER_SIZE_TYPE 定义。由 @jputcu 提供。
+ CMake 支持的多项改进。由 @phelte 和 @cookpate 提供。

V10.5.0版本

FreeRTOS V10.4.6和FreeRTOS V10.5.0之间的更改将于2022年9月16日发布

+ 在 FreeRTOS V10.4.6 和 FreeRTOS V10.5.0 之间的更改将于 2022 年 9 月 16 日发布: 第三方有可能
  已经独立获得执行注入代码能力的第三方有可能
  读取或写入任意地址。
  作为 xIndex 参数传递给 pvTaskGetThreadLocalStoragePointer() 或
  vTaskSetThreadLocalStoragePointer() 的 xIndex 参数传递负参数,从而分别从任意地址读取或写入注入代码。已添加检查以确保
  参数不会导致任意读取或写入。
  导致任意读取或写入。
  感谢 Certibit Consulting, LLC 报告此问题。
+ ARMv7-M 和 ARMv8-M MPU 端口: 非特权任务有可能
  作为参数传递给
  MPU_xTaskCreate、MPU_xTaskCreateStatic 和 MPU_xTimerCreate、
  或 MPU_xTimerPendFunctionCall。MPU_xTaskCreate
  和 MPU_xTaskCreateStatic 已更新为只允许创建
  非特权任务。MPU_xTimerCreate、MPU_xTimerCreateStatic 和
  MPU_xTimerPendFunctionCall API 已被删除。
  感谢华中科技大学报告此问题。
+ ARMv7-M 和 ARMv8-M MPU 端口: 第三方有可能
  已独立获得执行注入代码能力的第三方有可能
  在 FreeRTOS MPU API 封装函数中直接分支,从而进一步提升权限。
  FreeRTOS MPU API 封装函数的分支,从而进一步实现权限升级。
  删除了本地堆栈变量 `xRunningPrivileged` 以便
  人工制作的堆栈框架无法用于特权升级
  直接在 FreeRTOS MPU API 封装函数中分支。
  我们感谢 Certibit Consulting, LLC、华中科技大学和华中科技大学的 SecLab 团队。
  和东北大学 SecLab 团队报告此问题。

+ ARMv7-M MPU 端口: 有可能配置重叠的内存
  保护单元 (MPU) 区域,从而使非特权任务可以访问特权数据。
  特权数据。现在,内核使用编号最高的 MPU 区域进行
  内核保护,以防止此类 MPU 配置。
  感谢东北大学 SecLab 团队报告此问题。
  问题。
+ 增加对 ARM Cortex-M55 的支持。
+ 增加对 ARM Cortex-M85 的支持。由 @gbrtth 提供。
+ 为 RISC-V 端口添加向量模式中断支持。
+ 在 RISC-V GCC 移植中添加对 RV32E 扩展(嵌入式配置文件)的支持。
  由 @Limoto 提供。

+ 堆改进:
  - 在 heap_2 中添加一项检查,以跟踪内存块是否已分配给应用程序。
    是否分配给应用程序。为此将使用大小字段的 MSB
    大小字段的 MSB 用于此目的。同样的检查已存在于 heap_4 和 heap_5。这种
    检查可防止重复释放错误。
  - 为 heap_2、heap_4 和 heap_5 添加新标志 configHEAP_CLEAR_MEMORY_ON_FREE。
    和 heap_5。如果在 FreeRTOSConfig.h 中设置了该标志,那么使用
    vPortFree() 释放的内存将自动清零。
  - 为 heap_2、heap_4 和 heap_5 添加一个新的 API pvPortCalloc,其签名与标准库 calloc 函数相同。
    签名与标准库 calloc 函数相同。
  - 将指针类型更新为 portPOINTER_SIZE_TYPE。贡献者
    @Octaviarius.
+ 为每个流缓冲区或消息缓冲区实例添加覆盖发送和接收完成回调的功能。
  流缓冲区或消息缓冲区的每个实例重写发送和接收完成回调的功能。早先可能有
  一个发送和一个接收回调。
  回调。为每个实例提供单独的回调允许不同的消息
  例如,有些用于内核间通信,有些用于同内核通信。
  通信,而另一些则用于同核心通信。

可以通过设置 FreeRTOSConfig.h 中的配置选项
  配置选项 configUSE_SB_COMPLETED_CALLBACK、
  应用程序接口 xStreamBufferCreateWithCallback() 或 xStreamBufferCreateStaticWithCallback()
  (以及同样的消息缓冲区 API)可用于创建流缓冲区或消息缓冲区实例。
  或消息缓冲区实例。当
  选项设置为 0 时,默认回调由
  sbSEND_COMPLETED() 和 sbRECEIVE_COMPLETED() 宏定义的默认回调。为保持
  为保持向后兼容性,configUSE_SB_COMPLETED_CALLBACK 的默认值为 0。
  功能目前不支持启用 MPU 的端口。
+ 将 FreeRTOS 的线程本地存储 (TLS) 支持通用化,使它
  与 newlib 无关,并可与其他 c-runtime 库一起使用。
  为了向后兼容,newlib 支持的默认行为保持不变。
  向后兼容性。
+ 添加使用 CMake 编译系统构建和链接 FreeRTOS 的支持。贡献者
  由 @yhsb2k 提供。
+ 增加为每个版本生成软件物料清单(SBOM)的支持。
+ 为 GCC Cortex-M33 移植添加对 16 个 MPU 区域的支持。

+ 为 ARM CM4 MPU 端口添加 ARM Cortex-M7 r0p0/r0p1 Errata 837070 解决方法。
  在 Cortex-M7 上使用 CM4 MPU 端口时,应用程序编写者需要定义 configENABLE_ERRATA_837070_WORKAROUND
  在 Cortex-M7 r0p0/r0p1 内核上使用 CM4 MPU 端口时。
+ 为 Cortex-M0 端口添加 configSYSTICK_CLOCK_HZ。这是支持
  当 SysTick 定时器的时钟源与 CPU 的时钟源不一致时。
+ 为 MicroBlazeV9 端口添加硬件堆栈保护支持。这可确保
  一旦有任务违反堆栈限制,CPU 会立即引发堆栈保护违反异常。
  任务违反其堆栈限制时,CPU 会立即引发堆栈保护违反异常。由 @uecasm 提供。
+ 引入 configUSE_MINI_LIST_ITEM 配置选项。当该
  选项设置为 1 时,ListItem_t 和 MiniLitItem_t 仍然是独立类型。
  但是,当 configUSE_MINI_LIST_ITEM == 0 时,MiniLitItem_t 和 ListItem_t
  都是同一结构 xLIST_ITEM 的类型定义。这解决了
  时观察到的一些问题。
  为保持向后兼容性,configUSE_MINI_LIST_ITEM 默认为 1。
+ 简化 prvInitialiseNewTask,将新分配的 TCB 结构 memset 为零,并删除将新分配的 TCB 结构 memset 为零的代码。
  为零,并删除将单个结构成员设置为零的代码。
+ 在 POSIX port 中添加 prvPortYieldFromISR 的原型,使其在联编时
  编译器选项时不会出现任何警告。
+ 在使用
  vTaskGetInfo() 获取的任务信息报告中添加栈顶和栈末信息。由 @shreyasbharath 提供。

+ 为队列数据结构的 cRxLock 和 cTxLock 成员添加上限。
  这些锁会计算队列被锁定时接收和发送到队列的项目数。
  队列锁定时接收和发送到队列的项目数。当队列被锁定时,这些锁将用于解除队列中等待的任务。
  队列中等待的任务。此 PR 对
  cRxLock 和 cTxLock 的值上限为系统中的任务数,因为我们无法解锁超过系统中任务数的任务。
  解锁的任务数不能超过系统中的任务数。请注意
  仍会触发。
+ 将定时器函数中的 uxAutoReload 参数更改为 xAutoReload。 类型现在是 BaseType_。
  类型现在是 BaseType_t。 这与 pdTRUE 和 pdFALSE 的类型相匹配。
  新函数 xTimerGetAutoReload() 以 BaseType_t 的形式提供自动重载状态。
  的自动重载状态。 原有函数 uxTimerGetAutoReload 保留了原来的 UBaseType_t。
  返回值。
+ 修复对调用
  vTaskStepTick() 的用户实现。新代码
  确保 xTickCount 在 xTaskIncrementTick() 内达到 xNextTaskUnblockTime,而不是在 vTaskStepTick() 内达到 xNextTaskUnblockTime。
  内达到 xNextTaskUnblockTime,而不是在 vTaskStepTick() 内。这解决了任务
  唤醒晚了一个 tick 的典型情况,以及 xTickCount\ rolls over 时断言失败的罕见情况。
  滚动时断言失败的罕见情况。由 @jefftenney 提供。
+ 修复了当 pvPortMalloc 和 vPortFree 函数
  受到互斥保护时事件组中的死锁。由 @clemenskresser 提供。

+ 当使用 -Wduplicated-branches 编译时,修正 tasks.c 中的警告。
  选项编译时的警告。由 @pierrenoel-bouteville-act 提供。
+ 当 configSUPPORT_DYNAMIC_ALLOCATION
  设置为零时,修正 tasks.c 中的编译错误。由 @rdpoor 提供。
+ 修正 stream_buffer.c 中的 prvWriteMessageToBuffer() 函数,使其能在 big endian 平台上正确复制长度。
  在 big endian 平台上复制长度。
+ 删除 INCLUDE_vTaskSuspend 设置为 1 的需要
  时将 INCLUDE_vTaskSuspend 设为 1 的需要。由 @pramithkv 提供。
+ 更新 RL78 IAR 移植到最新版本的 IAR,该版本使用行业标准 ELF 格式,而非
  业标准的 ELF 格式,而不是早期的 UBROF 对象格式。
  由 @felipe-iar 提供。
+ 在 PIC24 端口添加当 tick 计数为 16 位时 tick 类型为原子标志。这
  这样,当刻度计数为 16 位时,PIC24 系列的 16 位处理器就可以读取刻度计数,而无需关键部分。
  当刻度计数也是 16 位时,可读取刻度计数而无需关键部分。
+ 当启用链接时间优化时,修正 GCC CM3/CM4 mpu 端口的偏移超出范围错误。
  链接时间优化已启用。由 @niniemann 提供。
+ 删除在 64 位 RISC-V 平台上编译 RISC-V 移植时的 #error。
  由 @cmdrf 提供。

+ 修正 Cortex-A53 端口中的 ullPortInterruptNesting 对齐方式,使其采用 8 字节对齐方式。
  8 字节对齐。这修复了未对齐访问异常。贡献者
  由 @Atomar25 提供。
+ 修复 NiosII 端口中的中断处理程序寄存器功能和异常处理。
  端口。由 @ghost 提供。
+ 更改 Cortex-A53 SRE 端口的 FreeRTOS IRQ 处理程序,以存储和恢复
  中断确认寄存器。这可确保 SRE 端口的行为
  与内存映射 IO 端口相匹配。由 @sviaunxp 提供。
+ 更新 uncrustify 配置文件,使其与 CI 操作中使用的 uncrustify 版本相匹配。
  的版本相匹配。同时,将 uncrustify 的版本固定在 CI 中。贡献者
  由 @swaldhoer 提供。

你可能感兴趣的:(freertos)