全部学习汇总: GitHub - GreyZhang/g_FreeRTOS: learning notes about FreeRTOS.
官方的例子很难覆盖每一种硬件以及编译器的组合,因为设计一部分硬件不相干的例子这样可以确保用户能够快速了解OS的基础功能。
为了能够保证不依赖于硬件,相关的例子中没有任何IO访问。而是采用对变量进行修改的方式来取代。
用户需要做的事情:
1, 一个非RTOS但是可以运行的程序,保证启动代码以及链接文件的正确性。看起来,整理对OS独占分区没有什么特别的要求。
2, 加RTOS代码,可以从Demo中取。
3, 处理编译器的包含目录。
4, 自己创建配置文件,或者,干脆先拷贝一个Demo中较为相似的。
针对每一个例程的功能不去仔细看了,从相关的描述至少可以得到一个与硬件无关的功能清单:
1, 任务以及定时器的创建;
2, 队列发送;
3, 队列接收;
4, 软件定时器的使用;
5, TickHook;
6, 事件信号;
7, idle hook;
8, 内存申请失败以及堆栈溢出的测试。
这是代码中需要用户修改的第一部分,半导体厂商给的相关头文件引用增加。
硬件初始化接口实现。
一堆代码看起来都是可以复用的,但是这里有一个时钟设置需要考虑一下。
结合自己的理解,可能这部分功能只是典型的工作内容并不是一个完整的指导。一个典型的问题点:堆栈配置、上下文切换、Tick中断等在这里全都没有说明。可能,这里更多的侧重点还是例程功能本身吧!