嵌入式第一张归纳_第1页
嵌入式第一张归纳_第2页
嵌入式第一张归纳_第3页
嵌入式第一张归纳_第4页
嵌入式第一张归纳_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式操作系统

——uC/OS-II实时操作系统信息电子学院电科系

王成群Email:wangchengqun@手机公室:10号楼541嵌入式人才培养体系结构(参考)嵌入式应用工程师能力结构嵌入式专业知识体系至少一种嵌入式处理器。最好选用当前流行的32位处理器,如ARM7、ARM9、Cortex-M0---M4等系列,具体哪种处理器可根据学校实际情况来定。至少一种嵌入式操作系统。具体哪种操作系统可根据学校实际情况来定,但最好选用一种较简单、开源的嵌入式操作系统,学生可以直接查看操作系统源代码,如Linux、μc/osII操作系统。一套嵌入式开发工具。根据处理器不同选择不同底层程序开发工具(每种类型的处理器有不同的底层程序开发工具。如ARM处理器流行的开发环境为ADS),根据选用的嵌入式操作系统选择该应用平台的对应开发工具(如Linux系统平台的开发软件包为GCC套件),以及一些第三方的开发工具,如IAR等。一类开发语言。目前在嵌入式设备上的程序绝大多数采用C语言,因此建设采用C系列语言为学习对象。嵌入式工程师开发内容(1)硬件电路设计电路原理图设计、PCB电路设计、电路焊接与调试等硬件电路,这是典型的电子工程师所完成的工作。(2)Bootloader及底层系统开发Bootloader类似于通用计算机系统的BIOS,这是由于大多数嵌入式系统都需要运行操作系统,因此需要一个加载操作系统的程序,即Bootloader程序,这个程序的主要工作就是引导操作系统。一般来说,Bootloader是由硬件工程师完成的,其主要代码都是由汇编语言和C语言编写的,并且大量代码是与硬件直接相关的。嵌入式工程师开发内容(3)操作系统移植由于现有的操作系统并不一定适合当前硬件处理器架构,故需要对现有的操作系统内核源代码进行适当修改,重新编译,以适应新处理器,这一部分工作即所谓的操作系统移植,如ucos或Linux操作系统在ARM上的移植,ucos操作系统即为现有的操作系统,ARM为应用处理器平台,一般来说,操作系统只有少部分代码是汇编编写的,但这一部分开发仍然需要工程师熟悉硬件底层结构。(4)驱动开发由于嵌入式系统是专用系统,大量的驱动程序都需要开发者自己开发,因此,底层软件开发工程师其中一个非常重要的开发工作就是驱动程序设计,一般来说,大量驱动程序仍然是由C语言编写的(少量汇编程序),这一部分开发需要工程师熟悉硬件底层以及软件设计。(5)上层应用开发工程图形界面开发、数据库开发,网络应用程序开发。多用C/C++开发。参考资料:《嵌入式实时操作系统uC/OS-II原理及应用》

任哲编著北京航空航天大学出版社《嵌入式系统设计原理及应用》

符意德著清华大学出版社《嵌入式实时操作系统uC/OS-II》(第2版)

JeanJ.Labrosse著邵贝贝译北京航空航天大学出版社《实时系统》(翻译版)

【美】JaneW.S.Liu著姬孟洛译高等教育出版社《uC/OS-II标准教程》杨宗德,张兵编著课程备忘录:学习要点:应具备良好的操作系统知识对嵌入式系统学习有浓厚兴趣充分注重实践环节,多动手,多动脑注意关注业界嵌入式系统技术发展及应用情况课程目的:本科程通过详细了解和学习uC/OS-II嵌入式实时操作系统的内核,使同学们掌握嵌入式操作系统的基本知识掌握嵌入式实时操作系统的任务管理和调度、系统时钟、时间管理、中断、任务间的通信和同步、内存管理等方法结合实验,了解uC/OS-II操作系统的基本应用。为今后进一步学习嵌入式相关课程和从事嵌入式系统的开发设计等工作打下良好的基础课程内容:嵌入式实时操作系统的基本知识(第一章)uC/OS-II中的任务管理(第二章)uC/OS-II中的任务调度与系统初始化(第三章)uC/OS-II中的系统启动与任务管理(第四章)uC/OS-II中的任务间通信机制(第五章)uC/OS-II中的任务间单事件同步机制(第六章)uC/OS-II中的任务间多事件同步机制(第七章)uC/OS-II中的内存分区管理(第八章)在ARM7上移植uC/OS-II案例分析(补充)uC/OS-II可裁减性的实现(补充)第1章嵌入式实时操作系统的基本概念计算机操作系统的基本概念嵌入式系统的基本概念实时操作系统的基本概念uC/OS-II基本知识简介计算机操作系统计算机硬件系统:由中央处理器(CPU)、存储器、接口及外部设备等一系列实际物理设备构成--“裸机”计算机操作系统:负责对计算机系统的几类主要资源,如处理器、存储器、输入/输出设备、数据与文档资源、用户作业等进行管理,并向计算机用户提供若干服务。通过这些服务,将计算机硬件的复杂操作隐藏起来,从而为应用程序提供一个透明的操作环境。操作系统在计算机中的地位操作系统的作用和功能操作系统的作用为计算机硬件系统及其他供应用程序使用的资源是靠计算机操作系统来管理的,所以它也可看作是计算机系统资源的管理者。为应用程序及用户提供了一个界面友好,性能稳定,安全,高效操作方便的虚拟计算机(VirtualMachine)。操作系统的功能处理器的管理存储器的管理设备的管理文件的管理网络和通信的管理提供用户接口操作系统计算机操作系统的功能处理器的管理存储管理网络和通信的管理I/O设备管理文件管理任务管理任务表存储分配表文件目录设备表总之,需要一大堆表

嵌入式系统和嵌入式操作系统什么是嵌入式系统?嵌入到对象体系中,为实现对象体系智能化控制的计算机系统称作嵌入式计算机系统,简称“嵌入式系统”。“嵌入性”、“专用性”、“计算机系统”是其三大要素。以应用为中心,计算机技术为基础,软件硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。专用计算机系统(非PC智能电子设备)以应用为中心以计算机技术为基础软件硬件可裁剪适应应用系统对功能、可靠性、成本、体积、功耗严格要求嵌入式系统的学科发展史与通用计算机系统相比的特点:面向特定应用;结合了计算机技术、半导体技术和电子技术等技术;软件和硬件设计都要求高效率;软件、硬件和具体应用及行业特点有机地结合在一起;软件一般都固化在存储器或单片机中。嵌入式系统的学科发展史嵌入式微处理器实时和多任务处理能力限定时间内完成多个任务集成度高利于小型化存储区保护功能强大避免错误交叉作用低功耗功耗为mW甚至uW级嵌入式系统诞生于微型机时代把微型机嵌入式到对象体系中实现智能控制嵌入式计算机系统应运而生例如,嵌入到舰船中做成自动驾驶仪、轮机状态监测系统、数控机床的主控制器等形成对象领域的计算机应用学科,由对象领域(如舰船学科)的电子工程师实现的没有对象学科介入,就没有嵌入式系统的发展现代计算机技术的两大分支嵌入式计算机系统(综合学科)嵌入到对象体系中的计算机不再具有通用计算机系统的形态与功能通用计算机系统(计算机学科)嵌入式系统的独立发展道路不可兼顾的两大分支通用计算机系统:高速、海量数据处理能力嵌入式计算机系统:对象系统智能化控制不同的技术发展道路:通用计算机系统:计算机体系结构、操作系统、通用微处理器技术(现代计算机领域)…嵌入式计算机系统:对象系统需要的外围电路与接口电路技术(现代电子技术领域)…嵌入式系统解决更小型、更廉价、更可靠的计算机系统嵌入式系统的发展,超出了计算机学科范围要借助电子技术应用科学的帮助嵌入式系统的多学科综合发展计算机专家创造了经典的体系结构电子、电器产业的接力与发展单片机直接进入电子技术领域,迅速将传统的电子系统转向现代电子系统计算机专家淡出单片机应用,对象体系的应用工程师主导了嵌入式系统的发展道路后PC时代计算机学科的新机遇计算机学科大规模介入嵌入式系统后PC时代计算机专业回归嵌入式系统计算机的大企业化发展模式松耦合的网络/通信技术发展嵌入式系统软硬件平台成熟计算机学科的介入掀起32位热潮Intel重新进军嵌入式系统嵌入式微处理器简史1971年Intel公司推出第一片4位微处理器Intel4004随后德州仪器公司推出第一个商用的4位机TMS1000ROM1024个字节,RAM32字节(64个4位字),4位输入接口,19位输出接口70年代中期陆续产生了8位机:Intel公司的Intel8080,Zilog公司的Z80,National半导体公司的NSC800,Intel公司的Intel8085等1980年Intel公司推出MCS-51系列8位单片机实施技术开放政策,引起多家公司加盟生产该系列结构的产品随后产生了16位、32位单片微处理器TI公司的9904,MSP430,Intel的8086,Motorola的68000,Intel的8096National的32000,Intel的80386,ARM微处理器分为两种微处理器芯片内部仅包含单纯的中央处理器单元,称为一般用途型微处理器(通用型)芯片内部不仅包含微处理器,而且包含ROM,RAM,及I/O接口等装置,称为单片机(SingleChipMicro-Controller)单片机型和通用型的微处理器分类4位8位16位32位64位单片机型TMS1000COPS8048,80516805,Z8809668200ARM32bCordMips32bCordMips64bCord通用型400440408085,6809Z80,65028086,8028680186,Z800080386,8048668000,奔腾PowerPC620各种不同字长的嵌入式微处理器应用范围嵌入式微处理器字长典型应用产品4位计算器,电话,CD随身听,充电器,玩具,寻呼机,照相机,遥控器,防盗器,各种计量仪器8位电脑显示器,电视游戏机,空调,马达控制器,传真机,电话答录机,寻呼机,家用电器,各种工业控制装置16位移动电话,摄像机,录像机,各种多媒体应用,各种工业控制装置32位工作站,激光打印机,数码相机,调制解调器,掌上型电脑,路由器,彩色传真机,卫星定位系统,网络家电,制导武器,工业控制装置64位高级工作站,多媒体应用嵌入式系统的部分应用嵌入式系统的特点专门用于特定任务嵌入式系统是专用系统,而PC是通用计算平台。这是嵌入式系统与通用计算机系统的最大区别技术融合集计算机,通信以及其它高新技术于一体。例:机顶盒主要内部构建为:嵌入式系统、MPEG解码器和光纤视频接收器等,多种高技术集成。有实时约束要求系统在规定的时间内完成任务分两种类型时间关键性约束:必须在某个时间范围内完成任务,否则由其控制的功能就会失效。如:飞机自动导航系统时间敏感性约束:反映时间越快越好,但超时后,不会造成灾难性后果。嵌入式系统的特点(续)有功耗约束嵌入式系统往往应用在移动场合或无人值守的场合,电源共给比较紧缺。如:手机、GPS定位跟踪仪软件精简固化嵌入式系统的软件一旦调试完毕就装入ROM中运行,一般没有系统软件和应用软件的明显区别。一方面有利于控制系统的成本,同时也利于实现系统安全系统内核小一般用于小型电子装置,系统资源相对有限,内核较之传统的操作系统要小得多。如:ENEA公司的OSE分布式系统,内核只有5K,uC/OS操作系统最小内核只有1.4K,WinCE内核为4M多一点嵌入式系统的特点(续)高可靠性使用人员多为非计算机专业人士,使用场合不定,环境条件往往恶劣,因此,其健壮性和可靠性是该类系统的必备条件应用于机器人、军事电子场合,对可靠性的要求尤为严格。资源比PC少得多只执行有限的任务,内存很小,也不需要太多的外设资源嵌入式系统需要专用的开发工具只能执行程序,本身不提供开发环境宿主机:用于程序的开发目标机:嵌入式系统实际运行的计算机非垄断市场属于小型系统,研制周期短,成果见效快,易于获得知识产权。呈现百家齐放、各领风骚的局面。嵌入式操作系统什么是嵌入式操作系统运行在嵌入式硬件平台,对整个系统及其所有操作部件、装置等资源进行统一协调、指挥和控制的系统软件。特点:微型化可裁减性实时性高可靠性易移植性嵌入式操作系统通常包括:与硬件相关的底层驱动软件;系统内核;设备驱动接口;通信协议;图形界面;标准化浏览器等。实时操作系统(RTOS)定义:如果计算机系统能使计算机系统及时响应外部事件的请求,并能及时控制所有实时设备与实时任务协调运行,且能在一个规定的时间内完成对事件的处理,那么这种操作系统就是“实时操作系统”两个基本要求:逻辑正确:实时系统的计算必须产生正确的结果时间正确:实时系统的计算必须在预定的周期内完成硬实时系统:超出响应时间会带来灾难性后果往往在硬件上需添加专门用于时间和优先级管理的控制芯片软实时系统超出响应时间会使系统性能下降主要在软件方面通过编程实现时限的管理如:uC/OS实时操作系统RTOS在嵌入式系统中的位置嵌入式硬件平台BSP(板级支持包)KERNELFSTCP/IP设备驱动设备I/O调试工具其它组件应用RTOSC/C++分时操作系统定义:操作系统可按管理的任务数把CPU分成若干个时间片,将每个时间片分配给一个任务,CPU按时间片轮流执行这些任务。系统响应时间没有要求如:WindowsCE2.0,uCLinux多用于网络,通信,PDA等应用实时操作系统需要满足的条件实时操作系统首要特点是实时性。为此:实时操作系统必须是多任务的。实时操作系统内核应该是可剥夺型的。三个条件:实时操作系统必须是多任务系统任务的切换时间应与系统中的任务数无关中断延时的时间可预知并尽可能短多任务的优势?分成多个小任务提高实时性,设计和维护方便内核的类型不可剥夺型内核可剥夺型内核任务的切换时间--不受应用程序因素的影响中断延时自CPU响应中断到CPU专向中断服务程序之间所用的时间不可剥夺型内核中断响应示意可剥夺型内核中断响应示意嵌入式系统的任务及嵌入式实时操作系统嵌入式系统的任务对一个装置或设备的控制任务,任务的功能相对固定,因此在一般情况下嵌入式实时操作系统支持的典型任务应该是一个无限循环结构C语言编写的任务代码:voidmytask(void*pdata){ for(;;) {

用户编写的代码; }}嵌入式实时操作系统主要提供三项服务内存管理多任务管理外围资源管理嵌入式操作系统主要都以提供“微内核”为主其他由开发人员自己设计或外购如:窗口系统界面(MiNiGUI)、文件管理模块、通信协议(TCP/IP包)嵌入式操作系统的现状商业产品WindRiver公司的VxWorks、pSOS微软公司的WindowsCE手持设备嵌入式操作系统如:PlamOS、Symbian、WinCE、EPOC源码开放的免费产品uCLinuxuC/OS-II

嵌入式实时操作系统简介VxWorks美国WindRiver公司1983年设计开发的实时嵌入式系统(RTOS),美国JPL实验室研制的著名“索杰纳”火星车采用该操作系统特点:高可靠性、高实时性、高可裁减性,价格昂贵VxWorks的组成微内核I/O系统文件系统完全的TCP/IP协议栈(基于BSD4.4)板极支持包

(BoardSupportPackage,BSP)目标代理(TargetAgent)VxWorks组成框图WindowsEmbedded(三种家族产品)WindowsCE3.0:一种针对小容量、移动式、智能化、32位、连接设备的模块化实时嵌入式操作系统WindowsNTEmbedded4.0:一种针对基于PC体系结构解决方案的全功能嵌入式操作系统带有ServerAppliance的Windows2000:为建立能够利用Windows2000强大功能的专用服务器设备,提供了一种快捷方式pSOS原属于ISI公司产品,已被WindRiver公司兼并模块化、高性能的实时嵌入式操作系统PalmOS3COM旗下的PalmComputing掌上电脑公司的产品在PDA市场上占有很大的市场份额PalmOs的特点处理速度快耗电量低,使用时间长具备执行低内存需求应用程序的能力与PC间的数据交换容易应用软件的开发性高PalmOs的开发工具开发工具很多GNUC、Codewarrior以及PocketC专业程序设计者可使用C/C++来开发,而一般人则可使用程序产生器来完成Codewarrior是Palm程序设计领域中功能最强大的开发工具嵌入式Linux(uCLinux)(自由免费产品)开放源代码,不存在黑箱技术内核小、功能强大、运行稳定、系统健壮、效率高易于定制剪裁,在价格上极具有竞争力不仅支持x86CPU,还可以支持其他数十种CPU芯片有大量的且不断增加的开发工具沿用Unix的发展方式,遵循国际标准,可以方便地获得众多第三方软硬件厂商的支持内核的结构在网络方面是非常完整的。提供了对十兆、百兆、千兆以太网、无线网络、令牌网、光纤网、卫星等多种联网方式的全面支持uC/OS-Ⅱ美国的JeanLabrosse先生业余时间,自己编写的。1992年初发表了uC/OS,1999年出版了介绍uC/OS-Ⅱ的书籍。2000年得到了美国联邦航空管理局对商用飞机的、符合RTCADO178B标准的认证。嵌入式实时操作系统分类嵌入式实时嵌入式操作系统的种类繁多,大体上可分为两种,商用型和免费型。商用型的实操作系统功能稳定、可靠,有完善的技术支持和售后服务,但往往价格昂贵,如Vxworks、QNX、WinCE、PalmOS等。免费型的实时操作系统在价格方面具有优势,目前主要有Linux、eCos和μC/OS-Ⅱ,稳定性与服务性存在挑战。μC/OS-Ⅱ得到了美国航空管理局的认证,可用在飞行器上。这说明μC/OS-Ⅱ是稳定可靠的,可用在与人性命攸关的安全紧要的系统上。本课程讲授的就是μC/OS-Ⅱ。它是一个十分小的内核。uC/OS-Ⅱ系统框图uC/OS-Ⅱ主要特点:公开源代码:http://www.uCOS-II.com可移植性:绝大部分代码使用ANSIC编写,可移植性较强向上兼容:从uC/OS升级到uC/OS-Ⅱ很方便可固化可裁减占先式:总是运行就绪条件下的优先级最高的任务多任务:可以管理64个任务,其中保留8个给系统可确定性:函数调度与任务的执行时间是可知的任务栈:每个任务都有自己独立的栈,压低应用程序对RAM的要求中断管理:中断可以使正在执行的程序挂起,终端嵌套层达255层系统服务:提供很多的系统服务,邮箱、消息队列、信号量等稳定性与可靠性:1992年以来已经有很多的商业应用软件品质获得认证:2000年7月得到了美国联邦航管理局的认证教学适用性:容易获得C语言编写的源代码及注释为什么选择学习μC/OS-II一.凡从事嵌入式系统开发工作的人,必须对嵌入式操作系统有足够的了解。二.对于初学者,从μC/OS-II开始是个明智的选择。

1.μC/OS-II麻雀虽小,却五脏基本全(它是个微内核)。

2.可以学习实时系统的一些编程技巧。

3.可以把在学校中学到的操作系统抽象概念具体化。

4.具有很强的实用性。

5.学习数据结构应用的好例子。操作系统中经常使用的数据结构(数组)数组1。同一数据类型数据的集合;2。占用连续内存空间;3。其中的所有元素名称都相同,但每个元素都有一个编号;4。元素名去掉编号(下标),得到的是数组名,数组名是个指针。inta[10]a[0]a[1]a[2]a[3]a[9]aa+1使用上的特点:1。分类存放;2。检索速度快且恒定;3。缺点:占用连续空间大……a+2a+3a+9应用:记录同类事物的表、取口纸操作系统中经常使用的数据结构(位图)位图是数组的一种特殊应用a[10](可以记录80个事物的状态)a[0]a[1]a[2]a[3]a[9]aa+1……a+2a+3a+9应用:登记表1/0D7D6D5D4D3D2D1D0操作系统中经常使用的数据结构(结构)1。不同数据类型数据的集合;2。占用连续内存空间;structStudent{

intage;char*name;charsex;};使用上的特点:1。不分类存放,但用来描述同一事物;2。检索速度快且恒定;应用:通讯录中的一条记录、工具箱、厨房等等nextnext两个元素的链表操作系统中经常使用的数据结构(链表)structStudent{Student*next

intage;char*name;charsex;};1。同数据类型数据的集合;2。不占用连续内存空间。使用上的特点:1。分类存放,但空间上不连续(不需要大量的连续存储空间);2。检索速度慢,且耗费的时间不固定;应用:存放大量的较大的表,类似档案柜操作系统中经常使用的数据结构(队列)按照先进先出的规则组织的数据结构可以用数组也可以用链表来实现主要用于对象的排队操作系统中经常使用的数据结构(堆栈)按照先进后出规则组织的数据结构主要用数组来实现主要用于程序模块的嵌套运行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论