研究ucos ,今天突然发现从初始化开始,也是可以很快的了解流程。废话不多说了。我做了一个简易的excel文件。
是关于函数OS_Init() 函数。
定义一个栈指针变量 |
定义一个栈大小的变量 size |
调用端口特定的初始化代码 |
清除中断和进程的中断嵌套计数 |
多任务初始化为停止状态 |
清除进程锁嵌套计数 |
初始化任务块当前指针为NULL |
初始化任务快最高优先级准备指针为NULL |
初始化当前优先级为 0 |
初始化高优先级为 0 |
初始化优先级备份为 0 |
配置使用进程锁时间 |
初始化进程锁起始为 0 |
初始化进程锁最大时间为 0 |
初始化进程锁当前最大时间为 0 |
这个宏没有定义 |
时间片轮转调度为 0 |
时间片轮转调度不使能 |
时间片轮转总时间为 100 个滴答 |
进入if 判断 |
将中断服务程序的栈空间 清零 |
系统钩子函数可以调用用户函数,扩展功能。 |
初始化创建任务的钩子指针 |
初始化删除任务的钩子指针 |
初始化返回任务的钩子指针 |
初始化空闲任务的钩子指针 |
初始化状态任务的钩子指针 |
初始化切换任务的钩子指针 |
初始化时间tick钩子指针 |
判断特定寄存器数目大于 0 |
初始化任务寄存器下一个的ID 为 0 |
进入事件初始化模块 |
会进入内存初始化模块 |
消息池初始化 |
进入if 判断 |
可以进入if 判断 |
可以进入if 判断 |
由于定义的是0,不进入if 判断 |
不进入if 判断 |
用于计算cpu 利用率 |
配置定时器模块 |
我只是简单的将表格的一部分粘贴了上来,实在无法粘贴整张表。我把整张表上传上来,但是还有很多的不足。读者在看的时候,还是希望能够把自己的想法加入到里面去。
文件下载位置: