<返回更多

FreeRTOS初相识

2020-03-15    
加入收藏

欲剖析FreeRTOS,首先得从其框架着手,从粗到细,再从细回归到粗,最终大一统。

在收集了解FreeRTOS相关信息的过程中,首先让我感到意外的是,它是由亚马逊的团队进行开发和维护,然而和这个名字联系起来,又感觉有点反差萌,不过这倒也是它的最大特色--免费。拥有亚马逊这顶带着光环的帽子,是不是也让大家将它作为选项之一立下汗马功劳呢?毕竟巨人的肩膀给人感觉更稳重,可靠,不过我认为,作为一家企业,如果其愿景是成为行业领跑者,必须具备在巨人将肩膀撤离的情况下,继续生存发展的能力。我一直这么认为,这两年发生的事,也证实了这一点。

闲话少叙,言归正传,本次了解一下FreeRTOS的框架和目录结构。

识"大体"

关于FreeRTOS架构及其在系统中的位置,下面这张图表示的很清楚,橙色方框部分即为亚马逊提供的:

FreeRTOS初相识

 

可见,系统的软件方面,FreeRTOS之上为用户应用,之下为厂家提供的操作硬件的适配库,其除了内核外,还提供了一些连接协议,WiFi管理库,蓝牙管理库,无线更新,基础库等,这些组件,无疑为产品化应用攒下深厚的内功。其中部分内容,单个单词能认识,连起来就不知道是啥玩意了,从亚马逊官网上摘下来,先建立起一个初步印象:

 

FreeRTOS初相识

 

 

下一步准备剖析内核,在正式剖析内核之前,自然需要把代码下载下来,先并分析其目录结构。

FreeRTOS有很多下载途径,如FreeRTOS官网(https://www.freertos.org/),Amazon FreeRTOS控制台以及GitHub,大致分析三种下载方式的差异,如下表:

 

FreeRTOS初相识

 

 

综上,考虑到肯定需要实操,而当前没有实体平台可用,则采用通过Amazon FreeRTOS控制台方式下载下来的基于windows仿真环境代码,其代码量少,方便理清逻辑,也很方便进行实操。

目录结构如下:

FreeRTOS初相识

 

--AmazonFreeRTOS

---- demos                          demo程序

---- freertos_kernel             FreeRTOS内核程序

---- libraries                        一些标准库,厂商库,第三库等

---- projects                        IDE工程文件

---- tests                             项目测试用脚本,代码等

---- tools                             工具

---- vendors                        平台厂商开发的驱动等

---- CHANGELOG.md

---- checksums.json

---- CMakeLists.txt

---- CODE_OF_CONDUCT.md

---- CONTRIBUTING.md

---- directories.txt

---- LICENSE

---- PreLoad.cmake

---- README.md

也可以和Free RTOS官方网站的代码目录结构进行对比一下

FreeRTOS初相识

 

前面Amazon FreeRTOS的目录freertos_kernel就完整对应这里的Source。而这里的Demo目录,则包含了多达170多个平台Demo程序。

且听下回

现在对系统架构及目录结构知道个一二了,可以开始探索FreeRTOS内核了!

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>