uC/OS-ll 读书笔记1

第一章

操作系统的主要功能:

1.处理器的管理:  对中断的管理         对处理器工作进行调度

2.存储的管理

3.设备的管理

4.文件的管理

5.网络和通信管理

6.提供用户接口

 

嵌入式计算机系统的特点:专用性强,可裁剪性好,实时性与可靠性好,功耗低

 

嵌入式操作系统的特点:微型化,可裁剪性,实时性,高可靠性,易移植性

 

实时操作系统的要求:逻辑成功 时间正确

实时操作系统的条件:1.必须是多任务系统

                    2.任务切换时间应与系统中的任务数无关

                    3.中断延时的时间可预知并尽可能短

 

任务代码:

void mytask(void *pdata)

{

for(;;)

{

    用户编写的代码;

}

}

嵌入式操作系统主要提供内存管理,多任务管理,外围资源管理三项服务

 

第二章

1.任务在ucosII中有五种状态:

 ①睡眠状态

 ②就绪状态

 ③运行状态

 ④等待状态

 ⑤中断服务状态

 

 

2.用户任务代码的一般结构:

 通常是一个无限循环结构,并且在循环中可以响应中断,这种结构也叫 超循环结构

例:

void Mytask(void *pdata)

{

for( ; ; )

{

可以被中断的用户代码;

OS_ENTER_CRITICAL();   //进入临界段,关中断

不可以被用户中断的用户代码;

OS_EXIT_CRITICAL();   //进入临界段,开中断

可以被中断的用户代码;

}

}

OSInit();  //初始化ucosII

OSTaskCreate(MyTask1,......);//创建任务函数

OSStart();//启动任务函数

 

3.系统任务:空闲任务统计任务

空闲任务的代码如下:

void OSTaskIdle(void *pdata)

{

#    if  OS_CRITICAL_METHOD == 3

       OS_CPU_SR cpu_sr;

#endif  

pdata = pdata;  //防止某些编译器报错

for(; ; )

{

OS_ENTER_CRITICAL();             //关闭中断

    OSdleCtr++;                 //计数

OS_EXIT_CRITICAL();               //打开中断

}

}

 

统计任务OSTaskStart()每秒计算一次cpu在单位时间内被使用的时间,并以百分比显示在OSCPUsage这个变量中。若用户使用这个统计任务,必须把在头文件OS_CFG.H中的系统配置常数OS_TASK_STAT_EN设置为1,在统计之前必须调用OSStatInit()对统计任务初始化。

 

4.ucosII 每个任务都具有唯一的优先级别,分位64个优先级别,其中0最高。常数OS_LOWEST_PRIO代表最低优先级别,一旦被定义,系统中的优先级别为012.......OS_LOWEST_PRIO,OS_LOWEST_PRIO个。如果应用程序中还使用了统计任务,则系统会把优先级别OS_LOWEST_PRIO - 1自动赋给统计任务,因此用户可以使用的优先级别是012......OS_LOWEST_PRIO - 2,共OS_LOWEST_PRIO - 1个。

 

2.2任务堆栈

为了方便定义任务堆栈,在文件OS_CPU.H中专门定义了一个数据类型OS_STK

typedef unsigned int OS_STK;

这样定义一个OS_STK类型的一个数组即可,例如:

#define TASK_STK_SIZE 512;  //定义长度

OS_STK TaskStk[TASK_STK_SIZE];  //定义数组作为任务堆栈

调用函数OSTaskCreate()来创建一个任务时,数组的指针传递给函数中的堆栈栈顶餐胡ptos,就可以把数组与任务关联寄来

INT80 OSTaskCreate(

                 void (*task)(void *pd),     //指向任务的指针

 void *pdata,             //传递给任务的参数

 OS_STK *ptos,           //任务堆栈栈顶的指针

 INT8U prio             //指定任务优先级别的参数

 )

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值