nmg 发表于 2023-12-20 12:00

FreeRTOS升级到V11.0.0,更新条数真多 (内嵌源码下载)

<div><a href="https://github.com/FreeRTOS/FreeRTOS-Kernel/releases" target="_blank">https://github.com/FreeRTOS/FreeRTOS-Kernel/releases</a></div>

<div></div>

<div></div>

<div></div>

<p><strong>相较于FreeRTOS V10.6.2版本,V11.0.0更新如下:</strong></p>

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

<p>&nbsp;</p>

wangerxian 发表于 2023-12-20 13:04

<p>目前开发项目还真没太注意FreeRTOS的版本号。</p>

wdliming 发表于 2023-12-20 13:25

<p>更新这么多,估计平时很少用上阿。。。</p>

damiaa 发表于 2023-12-20 13:28

<p>变化大,所以版本改为11了。<img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan88.gif" width="59" /></p>

mengfeiX 发表于 2023-12-20 14:12

<p>终于升主版本号了!等很久了</p>

<p>&nbsp;</p>

lemonboard 发表于 2023-12-20 14:16

<p>这么多的高级功能,可惜暂时全部都使用不上啊</p>

lihuahua 发表于 2023-12-20 14:19

<p>感谢大佬</p>

lugl4313820 发表于 2023-12-21 07:26

<p>看了一下,开源的软件是真的好,很多大佬为他贡献了代码。看来freertos的根基还是非常深的!</p>
页: [1]
查看完整版本: FreeRTOS升级到V11.0.0,更新条数真多 (内嵌源码下载)