研究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 利用率 |
| 配置定时器模块 |
我只是简单的将表格的一部分粘贴了上来,实在无法粘贴整张表。我把整张表上传上来,但是还有很多的不足。读者在看的时候,还是希望能够把自己的想法加入到里面去。
文件下载位置:
https://download.csdn.net/download/luzire/11032239
