FreeRTOS V10.4.0增加了一些什么内容呢

描述

素材来源:FreeRTOS 编辑整理:strongerHuang  

前几天,FreeRTOS 从V10.3.1 升级到了 V10.4.0,其中更新并增强了不少内容。

一、版本管理

到目前为止,FreeRTOS zip文件发行版都带有其所包含的内核发行版的版本号。例如,FreeRTOSv10.4.0.zip包含FreeRTOS内核的版本10.4.0。但是,内核不是zip文件中包含的唯一单独版本化的库,并且在将来的发行版中,zip文件中的库数将增加。因此,为了更好地反映zip文件实际上包含集成在一起的库的集合,将来的发行版将使用日期戳版本而不是内核版本。

二、向后兼容

FreeRTOS升级做了很多改变,但为了向后兼容,除了注释版本之外,在升级改版的代码中做了一定管理,比如:trcConfig.h文件中将TRC_CFG_FREERTOS_VERSION设置为TRC_FREERTOS_VERSION_10_4_0。

RTOS

三、代码格式化

现在FreeRTOS代码格式化现已“自动化”,以促进 Git中的协作开发。自动格式化的代码不相同,保留原始格式约定。最明显的是现在使用空格代替TAB。

四、主要增强功能

这里有几点内容:

1.任务通知

在FreeRTOS V10.4.0之前版本,每个创建的任务都有一个单向任务通知。从FreeRTOS V10.4.0开始,每个任务都有一系列通知。直接到任务通知API已扩展了带有后缀为“ Indexed”的API函数,以使API能够在任何数组索引处对任务通知进行操作。

在FreeRTOS V10.4.0之前的版本中,任务只有一个通知值,而不是值数组,因此为了向后兼容,如果未定义configTASK_NOTIFICATION_ARRAY_ENTRIES,则默认为1。

可以参看下面链接了解更多详情:

https://www.freertos.org/RTOS-task-notifications.html (公号不支持外链接,请复制链接到浏览器打开)

2.支持内存保护单元(MPU)的内核端口

ARMv7-M和ARMv8-M MPU端口现在支持仅特权访问堆。ARMv7-M MPU端口现在支持具有16个MPU区域的设备覆盖特权代码和数据的默认内存属性区域,并能够将FreeRTOS内核代码置于Flash。现在,ARMv8-M MPU端口支持无滴答空闲模式。

可以参看下面链接了解更多详情:

https://www.freertos.org/FreeRTOS-MPU-memory-protection-unit.html

五、其他更新

1.回调函数的原型(以“ Application”开头的原型,如vApplicationStackOverflowHook())现在位于FreeRTOS头文件,从而无需应用程序编写者将原型添加到它们定义功能的C文件。

2.添加了新的POSIX端口层,允许FreeRTOS在Linux操作系统的主机上运行Windows端口层,使FreeRTOS在Windows上运行的方式相同主机。

3.新版本修复了长期存在的调度程序错误:在上下文切换期间可以同时执行两个任务。

RTOS

原文标题:FreeRTOS V10.4.0更新了哪些功能?

文章出处:【微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分