ucosii阅读笔记

发布 2021-05-02 18:54:28 阅读 9415

任务的基本概念。

从程序设计的角度来说,任务实质上是一个线程。

从储存的角度来说,任务由三部分组成:任务程序**(任务执行)、任务堆栈(任务环境)和任务控制块(任务属性)。

为了方便管理,ucos把每个任务都作为一个节点:

任务状态。嵌入式系统每一具体时刻只允许一个任务占用cpu,所以ucosii具有五种状态:睡眠状态、就绪状态、运行状态、等待状态和中断服务状态。

用记任务**的一般结构。

超循环结构:无限循环+中断响应。

void mytask(void *pdata)

for(;;

可以被中断的用户**;

os_enter_critical进入临界段(关中断)

不可被中断的用户**; /临界段**(不可中断)

os_exit_critical退出临界段(开中断)

可以被中断的用户**;

用户程序的一般结构。

任务是一个线程,因此它不是被主函数或其他函数调用。主函数只负责创建与启动任务,而由操作系统来调度。

用户应用程序结构:

void mytask(void *pdata)

主函数程序结构:

void main()

osinit();初始化ucosii

ostaskcreate(mytask,……创建用户任务。

osstart();启动任务。

系统任务---空闲任务、统计任务。

空闲任务:当系统某时间段无事可做时调度。(必须使用)优先级别为最低。

void ostaskidle(void *pdata)

操作:osidlectr加1计数。

统计任务:可选择使用void ostaskstat(void *p_arg)优先级别次低。

操作:计算单位时间内cpu的利用率,存放于变量oscpuusage中。

使用:头文件os_中配置常数os_task_stat_en为1

调用函数osstatinit(void)进行初始化。

任务优先级。

每个任务优先级都是唯一的,0代表最高级,数字越大,优先级别越小。

头文件os_常数os_lowest_prio定义优先级别,任务优先级别为0,1,2,……os_lowest_prio,共os_lowest_prio+1个。

任务堆栈。所谓堆栈,就是在存储器中按数据“后进先出(lifo)”的原则组织的连续存储空间。为了满足任务切换和响应中断时保存cpu寄存器中的内容及存储任务私有的需要,每个任务都应该设有自己的堆栈。

堆栈是任务的重要组成部分。

ucosII详解

第1章范例1 1.00 安装 c os ii1 1.02 不依赖于编译的数据类型2 1.03 全局变量3 1.04 os enter critical 和 os exit critical5 1.05 基于pc的服务5 1.05.01 字符显示5 1.05.02 花费时间的测量6 1.05.03 其...

阅读笔记格式阅读笔记格式

阅读笔记格式 阅读笔记格式4篇。读书笔记一则。文。题。每个人都是一扇窗。作。者。田。野。语文知识积累。好词。碧野飞花。伤天暮景。惨淡愁云。和风徐徐。春意盎然。热情洋溢。好句。和不同的人交往,就像打开一扇不同的窗子。然而,就像蜜蜂永远迷恋花丛,就像花儿永远期待春光。我们每个人都希望结识一个优秀的朋友,...

英语阅读笔记

考研英语阅读笔记。第一,扫描提干,划关键项。第二,通读全文,抓住中心。1.通读全文,抓两个重点 首段 中心句 核心概念常在第一段,常在首段出题 其他各段的段首和段尾句。其他部分略读,有重点的读 2.抓住中心,用一分半时间思考3个问题 文章叙述的主要内容是什么?文章中有无提到核心概念?作者的大致态度是...