1239_创建一个新的FreeRTOS工程

69 篇文章 11 订阅

全部学习汇总: GitHub - GreyZhang/g_FreeRTOS: learning notes about FreeRTOS.

FreeRTOS的源代码比较简洁,必要的文件只有3个系统相关的还有1个移植相关的。但是,看了下后面,其实如果用起来的话还是有很多其他的相关文件的,比如说配置文件;再比如说如果要用软件定时器本身软件定时器的模块也是独立的文件。从不同的地方多次看到了创建一个新工程官方推荐的做法:找一个Demo然后在这个基础上做修改。当然,这个并不是唯一的方式,如果想完全从头创建也是可以的。我觉得从头创建的方式还是值得去了解一下的,这样可能会学到更多的相关细节。

启动调度器之前,FreeRTOS的工程运行跟没有使用FreeRTOS的情况下是一样的。也就是说,这个调度器开启调用后,FreeRTOS才正式开始起作用。一般来说,这个接口都是在main函数中调用的。上面建议在调用OS之前先保证基础的软硬件环境没有问题,这个一般也容易。即便是加了FreeRTOS,在启动调度之前比较靠前的位置加个断点看看一般也能够看得出来正常与否。

我画出来的这3个应该是前面提到的3个OS相关的文件,其实OS的功能很多时候是链表的处理。这个在不同的OS设计中应该是大同小异的。另外的几个文件,应该是与平台相关的文件,需要做移植或者配置。

可选的功能中,有一些功能之前我已经接触过了还是有一些概念的,比如说软件定时器。这里我划出来的这个可能是我后续需要注意的部分,之前看例程说明的时候其实就已经看到过stream buffer的概念了。当时我还多少犹豫了一下,寻思这个兴许是与串口通信相关的一个概念。如果这是FreeRTOS的一个功能概念,而且对通信的支持有优势,那么兴许我以后可以借鉴用于其他的通信设计。

这是一个工具使用的一个基础了,我倒不觉得跟FreeRTOS本身的组织有关。能够在这里连这个一起讲了,说明维护人员的工作还是很细致的。

这是配置文件的一个说明,这个跟APP本身的应用有关,不是FreeRTOS本身设计的内容,尽管里面可能会通过配置来决定FreeRTOS的一些行为表现。

关于heap的使用,这里有一个跟其他地方重复的一个需求。对于初期接触FreeRTOS的人来说,按照官方的推荐使用总归是好一些的。里面没有提到的heap_3应该是跟free,malloc是相同的。

中断向量以及中断ISR的使用在FreeRTOS中都有一个明确的要求,这个在后面的学习中还是得做一个分析。这个应该也是很多人栽坑的地方,因此在FreeRTOS官方网站的网页中我似乎看到不止一次了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值