- 0
- 0
- 约1.38万字
- 约 81页
- 2017-12-14 发布于江苏
- 举报
三讲嵌入式实时操作系统
一、嵌入式实时操作系统?C/OS 二、嵌入式Linux 三、WinCE 一、嵌入式实时操作系统?C/OS ?C/OS简介 内核结构-任务以及调度机制 ?C/OS的移植 ?C/OS简介 1、?C/OS——micro C O S,微控制器操作系统 2、?C/OS简介 美国人Jean Labrosse 1992年完成 应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等 1998年?C/OS –II 网站 公开源代码 可移植性(Portable) 绝大部分? C/OS-II的源码是用移植性很强的ANSI C写的。和微处理器硬件相关的那部分是用汇编语言写的。? C/OS-II可以在绝大多数8位、16位、32位以至64位微处理器、微控制器 、数字信号处理器(DSP)上运行。 可裁剪(Scalable) 可以只使用? C/OS-II中应用程序需要的那些系统服务,这样可以减少产品中的? C/OS-II所需的存储器空间(RAM和ROM)。这种可剪裁性是靠条件编译实现的。 占先式(Preemptive) 多任务 ?C/OS-II可以管理64个任务,然而,目前这一版本保留8个给系统。应用程序最多可以有56个任务。 可确定性 全部? C/OS-II的函数调用与服务的执行时间具有可确定性。 任务栈 每个任务有自己单独的栈, ? C/OS-II允许每个任务有不同的栈空间,以便压低应用程序对RAM的需求。 系统服务 ?C/OS-II提供很多系统服务,例如邮箱、消息队列、信号量、块大小固定的内存的申请与释放、时间相关函数等。 中断管理 中断可以使正在执行的任务暂时挂起,如果优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可达255层。 稳定性与可靠性 内核结构 任务管理 时间管理 任务之间通信与同步 任务task 典型的一个无限循环。 void mytask(void *pdata) { for (;;) { do something; waiting; do something; } } ?C/OS –II 2.5版本支持64个任务,每个任务一个特定的优先级。优先级越高,数字越小。(Windows、Linux?) 系统占用了8个任务,保留优先级为0、1、2、3、OS_LOWEST_PRIO-3、 OS_LOWEST_PRIO-2、 OS_LOWEST_ PRIO-1、 OS_LOWEST_PRIO-0 。 建立任务 OS TaskCreate() OSTaskCreateExtended() 任务状态 任务控制块(TCB) 任务控制块 OS_TCB是一个数据结构,保存该任务的相关参数,包括任务堆栈指针,状态,优先级,任务表位置,任务链表指针等。 所有的任务控制块分为两条链表,空闲链表和使用链表。 任务控制块结构 Struct os_tcb { OS_STK *OSTCBStkPtr; struct os_tcb *OSTCBNext; struct os_tcb *OSTCBprev; OS_EVENT *OSTCBEventPtr; void *OSTCBMsg; INT16U OSTCBDly; INT8U OSTCBStat; INT8U OSTCBPrio; INT8U OSTCBX, OSTCBY, OSTCBBitX, OSTCBBitY; } OS_TCB 空任务列表 任务的调度--OSSched ?C/OS是占先式实时多任务内核,优先级最高的任务一旦准备就绪,则拥有CPU所有权并投入运行。 ?C/OS中不支持时间片轮转法,每个任务的优先级不一样且是唯一的,所以任务调度的工作就是:查找准备就绪的最高优先级的任务并进行上下文切换。 将被挂起的任务寄存器入栈 将较高优先级任务的寄存器出栈 PC指针跳转到新的位置开始执行 ?C/OS任务调度所花的时间为常数,与应用程序中建立的任务数无关。(Linux?) 根据优先级找到任务在就绪任务表中的位置 根据优先级确定就绪表 假设优先级为12的任务进入就绪状态,12=1 100b,则OSRdyTbl[1]的第4位置1,且OSRdyGrp的第1位置1,相应的数学表达式为: OSRdyGrp |=0x02;
您可能关注的文档
- 【生物工程设备】讲生物质原料的预处理设备.ppt
- 【精品】江苏年生物高考热点预测:微生物的利用和生物技术在食品加工中的应用.ppt
- 【食品营养学】页ppt.ppt
- 七年级历史单元——课复习题.ppt
- 七年级语文下册单元复习.ppt
- 三单元美国近代民主政治的形成.ppt
- 三生物信息学资源与数据挖掘工具.ppt
- 三系统网络规划ppt.ppt
- 三节湿地干涸及其恢复.ppt
- 三节生命的基础蛋白质.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 课件第3讲gps伪距测量原理.pptx VIP
- 焊割工操作安全培训内容课件.pptx VIP
- 蚌埠市博物馆展览陈列大纲.pdf VIP
- 《爷爷的爷爷从哪里来》整本书阅读 课件 四年级下册语文(统编版).pptx VIP
- 指南共识│咯血诊治专家共识.pptx
- 博物馆陈列展览大纲精编.docx VIP
- Q/GDW 376.1-2009《电力用户用电信息采集系统通信协议:主站与采集终端通信协议》及编制说明1.doc VIP
- 阀门电动执行装置设计毕业设计(论文).doc VIP
- 中考数学二轮复习 专题11 二次函数与矩形、菱形的存在性问题(知识解读)(解析版).doc VIP
- 博物馆陈列展览大纲(2019最新版).docx VIP
原创力文档

文档评论(0)