FreeRTOS V10.4.0中更新了哪些功能?

来源:FreeRTOS编辑:Stronger Huang几天前,FreeRTOS从V10.3.1升级到V10.4.0,并且许多内容进行了更新和增强。

FreeRTOS源代码Github地址:https://github.com/freertos/freertos(公用号码不支持外部链接,请复制该链接以在浏览器中打开它)1.版本管理到目前为止,FreeRTOS zip文件发行版已经包含所有这些包括的内核发行版的版本号。

例如,FreeRTOSv10.4.0.zip包含FreeRTOS内核的版本10.4.0。

但是,内核不是zip文件中包含的唯一单独版本控制的库,并且zip文件中的库数量在将来的发行版中会增加。

因此,为了更好地反映该zip文件实际上包含集成库的集合,将来的发行版将使用带有日期标记的版本而不是内核版本。

2.向后兼容性FreeRTOS升级做了很多更改,但是为了向后兼容性,除了注释版本外,还对升级和修订的代码进行了一些管理,例如:在trcConfig中将TRC_CFG_FREERTOS_VERSION设置为TRC_FREERTOS_VERSION_10_4_0 .h文件。

3.代码格式化现在,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 5.其他更新1.回调函数的原型(以&开头的原型现在,FreeRTOS头文件中有“ Application”;例如vApplicationStackOverflowHook()),从而无需应用程序编写者将原型添加到定义函数的C文件中。

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

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

有关更多信息,请参阅:https://www.freertos.org/FreeRTOS-V10.4.x.html https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/master/History.txt(公共编号不支持外部链接,请复制该链接并在浏览器中打开)推荐阅读:国家产品网络的操作系统是什么,由谁负责?如何避免标准C库引起的缓冲区溢出? ARM编译工具keil和IAR命令行编译和下载跟随微信公共帐户“ strongerHuang”,回复“ 1024”。

在后台查看更多内容,请在“按照规定加入技术交流小组。

长按可转到图片中包含的官方帐户以进行后续操作