03.06 freertos操作系统分析并不难

说在前面

freertos的代码结构并不友好,但是它有很多的宏定义开关,内核能裁剪到最小,所以分析它的代码也能从根子里面找到系统是怎么写出来的,从而能更好的掌握这个操作系统。

代码结构

与操作系统内核相关的代码有几个文件:croutine.c,event_groups.c,list.c,queue.c,tasks.c,stream_buffer.c,timers.c,而内存管理的代码则放在文件夹portable/MemManag下,分为heap1.c、heap2.c、heap3.c、heap4.c,heap5.c。另外为了支持内核的一些临界段操作,还需要添加port.c文件。如果是第一次查看其内核源码,还是比较排斥这种做法的。

从task.c入手

大致浏览一下它的文件,可以从task.c中分析每个文件的基本结构。

它有宏定义静态分配和动态分配,然后是创建create,删除delete。event_groups.c与queue.c和stream_buffer.c等遵循这样的操作。

task.c归根揭底是对任务的相关操作,而任务包括创建,删除,挂起,切换。就这几个词就能把这个文件想做的事情归纳出来。


看到有人开始收费讲rtos相关视频,可是rtos相比linux-0.11难度级别降低很多,rtos更多的是细节的处理,这篇就慢慢更新吧。


分享到:


相關文章: