uc/os初始化
2024-09-20 12:21:11
操作系统初始化函数OS_INIT是操作系统在开始运行的最初,对全局变量、任务控制块、就绪表、事件及消息队列等重要数据结构进行的初始化操作,并创建空闲任务、统计任务等系统任务。该函数必须在创建用户对象及调用OSStart()启动实时任务调度之前运行。
操作系统初始化函数见表2.15
OS_InitMisc实现对操作系统一些混杂的全局变量的初始化
OS_InitRdyList对就绪表进行初始化的工作
OS_InitTCBList 控制块链表初始化
OS_InitTaskIdle创建操作系统空闲任务
TCBList初始化
μC/OS-II将任务控制块分成两个链表来管理,这就是空闲任务链表和就绪任务链表。其中,空闲任务链表包含了所有空闲的任务控制块。所谓空闲任务控制块,是指未分配给某个任务的任务控制块。创建一个新任务,前提条件就是系统里还有这样的空闲任务块。就绪链表则是将所有的就绪任务拴在一起,如果有新的任务就绪,就要将其任务控制块从空闲链表中取出,加入到就绪链表中。
注:
创建任务之后,空闲链表和就绪链表修改的代码如下:
位置在OSTaskCreate中调用OS_TCBInit函数。
具体代码:
最新文章
- TFS 2015 敏捷开发实践 – 在Kanban上运行一个Sprint
- JavaScript随笔8
- C# 对多个文件进行zip压缩
- 在centos7中安装Robot Framework
- 手把手教你在ubuntu上安装apache和mysql和php
- js中function参数默认值
- git 配置忽略文件(忽略UserInterfaceState.xcuserstate,Breakpoints_v2.xcbkptlist)
- ARM11 S3C6410 硬件浮点(VFP)实现
- C#自旋的艺术
- Spring AOP 5种通知与java动态代理
- window.open()&;&;window.showmodaldialog()
- Response响应请求操作
- google map 点击获取经纬度
- MySql数据库的导入_命令工具
- tyvj1185营业额统计
- Hibernate学习之注解学习
- LPC1768的SPI通讯
- Sql的分库分表,及优化
- Python_内置函数2_44
- Kernel Functions-Introduction to SVM Kernel &; Examples - DataFlair