2022年嵌入式操作系统 .pdf

上传人:C****o 文档编号:34269556 上传时间:2022-08-15 格式:PDF 页数:7 大小:87.60KB
返回 下载 相关 举报
2022年嵌入式操作系统 .pdf_第1页
第1页 / 共7页
2022年嵌入式操作系统 .pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《2022年嵌入式操作系统 .pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式操作系统 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式系统是根据应用的要求,将操作系统和功能软件集成于计算机硬件系统之中,从而实现了软件与硬件一体化的计算机系统。嵌入式系统一般不提供与终端用户交互的手段,具有小巧、高度自动化、响应速度快等特点。作为嵌入式系统灵魂的嵌入式操作系统,是随着嵌入式系统的发展而出现的,它是嵌入式系统发展到一定阶段的产物。嵌入式操作系统的出现,将大大提高嵌入式系统开发的效率,改变以往嵌入式软件设计只能针对具体的应用从头做起的历史。在嵌入式操作系统之上开发嵌入式系统将减少系统开发的工作量,增强嵌入式应用软件的可移植性,使嵌入式系统的开发方法更具科学性。可以说,嵌入式操作系统的出现为嵌入式系统的发展铺平了道路。嵌入式操作

2、系统负责嵌入式系统的全部软、硬资源的分配、调度工作,控制并协调并发活动,它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。常见的几种嵌入式操作系统,现行应用中比较流行的嵌入式操作系统有Linux、WindowsCE 、VxWorks、eCos 、C/OS-II 、QNX等,下文将列举这几种相对常见的嵌入式操作系统特性 ,作为设计选择参考。1.嵌入式 Linux Linux 是开放源代码、免费使用和自由传播的操作系统,发展历史悠久 ,第三方应用软件非常丰富 ,多数自由软件都能够运行在Linux系统上。Linux经过不断改版升级 ,已经发展成一个遵循 POSIX标准的纯 32

3、 位多用户多进程操作系统。 嵌入式 Linux是将 Linux操作系统进行裁剪修改 ,使之能在嵌入式计算机系统上运行。它广泛应用在移动电话、个人数字助理 (PDA) 、媒体播放器、消费性电子产品以及航空航天等领域。嵌入式Linux 因此具有丰富的开放源代码资源,又具有嵌入式操作系统的特性,有许多公开的代码可以参考和移植 ,免费的 OS使其在价格上极具竞争力。Linux的内核小、效率高 ,内核的更新速度很快 ;Linux可定制,其系统内核最小只有约134 KB 。Linux适用于多种 CPU和硬件平台,是一个跨平台的系统。 到目前为止 ,它可以支持 Alpha、 ARM、 M68K、 MIPS

4、、 PowerPC 、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - SH 、SPARC 、MicroBlaze、Intel X86等二三十种 CPU 。Linux具有丰富的可配置组件 ,如数量繁多的设备驱动程序、多媒体、文件系统、网络、内存管理等。嵌入式Linux系统不是实时操作系统 ,RT_Linux支持实时性 ,稳定性好 ,安全性好 ,不过价格不低。也有 针对没有 MMU 设备移植的 Clinux系统(最新的 Linux2

5、.6内核可配置 MMU,支持无 MMU 的 CPU, 实际上已合并了 Clinux)。搭建嵌入式开发环境,可以免费从 Linux 官网下载 gcc 编译器、 gdb 调试器等交叉开发工具。要求运行在 Linux系统上,这对 Windows 用户来说可能是不易接受的。虽然通过Cygwin可以在 Windows 上交叉开发 Linux 程序,不过 Cygwin首先需要配置并生成交叉工具链。在生成交叉编译器的过程中 ,可能会遇到多次错误 ,就需要根据给出的出错信息,进行相应文件的修改。 并且在实践中发现 ,利用 Cygwin编译嵌入式 Linux应用程序和 Red Hat Linux编译的运行效果不

6、一致。虽然Linux 下支持的图形化交叉调试工具有不少可用资源,但针对具体的硬件平台,需要的设置工作也不少。可见,嵌入式 Linux 还缺乏好用的集成开发环境,需要消耗一定人力用于搭建开发环境。2. VxWorks VxWorks操作系统是美国WindRiver公司于 1983 年设计开发的一种嵌入式实时操作系统(RTOS), 具有高可靠性、高实时性、高性能、组件丰富可裁剪的微内核结构,以及友好的用户开发环境。它以良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高 的领域中 ,如卫星通信、军事演习、弹道制导、飞机导航等。 在美国的 F-16/FA-18战

7、斗机、B-2隐形轰炸机和爱国者导弹上,甚至火星探测器上也用到了VxWorks。支持的 CPU有 M68K、PowerPC 、ColdFire 、In-tel X86、ARM、SPARC 、MIPS等几十种。 Tornado是 WindRiver 公司推出的集成开发环境,为用户提供支持 C、C+ 语言的交叉编译器和类库。编译器包括GNU的 C/C+ 编译器和 Diab C/C+ 编译器。图形化的工程管理工具非常方便有效,可以方便地对 VxWorks操作系统、组件及工程编译参数进行配置。核心工具包括VxSim仿真器、 WindView 软件逻辑分析名师资料总结 - - -精品资料欢迎下载 - -

8、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - 仪、WindShell命令行执行工具、 CrossWind集成调试器、 Brow-ser系统对象检查工具。这些工具非常实用,方便开发调试。编辑器虽不受推崇,但好在可以设置外部编辑器。VxWorks 性能优越 ,开发调试便利 ,有强大的技术支持 ,但是昂贵的价格让开发者望而却步。3. eCoseCos(embedded Configuration operating system) 是由 RedHat推出的小型实时操作系统。它诞生于

9、 1997 年,最早是 Cygnus公司开发 ,后被 RedHat收购。它的特点是源码开放、免费、 内核可灵活配置 (配置项达 200 多项,甚至可以配置调度器的级别和最大任务个数,可以说是调整操作系统以适应应用程序),最低编译内核可小至10 KB的级别 ,适合用于微小型系统 ,比如增强型 bootloader。eCos网络发行版支持的交叉开发主机有Windows 和Linux两种版本 ,开发编译工具可支持GNU开源的开发工具链。 eCos系统包含的开发工具有软件配置和构建工具,及基于 GNU 的编译器、汇编器、链接器、调试器和仿真器。支持的 CPU有十几种 ,包括 ARM、Hitachi H

10、8300、Intelx86、MIPS 、Matsushita AM3x、Motorola 68k、PowerPC 、SuperH、SPARC 和 NEC V8xx, 可以方便对不同平台的移植。 eCos系统组件非常丰富 ,可加速开发。核心组件有硬件抽象层、实时内核、ITRON 3.0 兼容的 API、POSIX兼容的 API、ISO C和数学库、从 USB支持,TCP/IP 网络协议栈、 GDB调试支持、串口、以太网驱动等。4. C/OS-II C/OS-II是 Micrium 公司的基于 优先级抢占、多任务的小型实时操作系统。 发布于 1992年,最多可以管理 255 个任务,支持信号量及互

11、斥信号量、消息队列和消息邮箱、固定大小内存块管理、时间 /定时器管理等服务。内核代码量小巧,适合学习和研究 。作为大学实时操作系统的典型教材,它具有广泛的用户群 ,已广泛应用于高安全性的设备。其源码名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - 99%符合 MISRA C编码标准。支持的 CPU有 40 多种,主要包括 ARM、 AVR 、 Niso、 SE3208 、M. Core、ColdFire 、PowerPC 、805

12、1、80 xC52 、80 x86、SPARClite 、SH 、Xscale 、PIC18 、PIC24 、TMS320 、TMS470 、Z-80等。可以从官方网站获得45 天的免费评估源码。虽然可获得源代码 ,但并不是免费的 ,版权费针对产品、产品线或CPU 类型,而与具体产品数量无关。 开发环境的建立往往借助具体CPU的开发环境 ,比如 ARM用 ADS,x86用 Borland C+,AVR 用 AVR Studio 。嵌入式软件操作系统选择要素嵌入式开发第一步需要确定嵌入式操作系统,对于嵌入式操作系统的选择通常从以下几个方面考虑 : (1)硬件平台的限制如果在已经设计好的硬件电路上

13、移植嵌入式操作系统,首先需要确定某嵌入式操作系统是否支持该硬件平台 ,如 CPU类型、内存大小、程序存储空间大小、MMU 等因素。如果硬件电路设计留有弹性,或者是根据选择好的嵌入式操作系统进行硬件设计,就不是限制操作系统的选择,而是嵌入式操作系统限定了硬件电路的设计。(2)性能参数要求首先需要从系统需求入手,转化为操作系统对应的技术指标,如是否要求硬实时、优先级抢占式调度、中断响应速度等。当然,选用的嵌入式操作系统满足性能要求,还需要应用程序满足相应的设计要求,才能使整个嵌入式系统满足性能参数要求。嵌入式操作系统根据不同平台可裁剪、可配置,并且在不同硬件平台运行的效果也差异悬殊。大部分技术参数

14、可以从网络上找到。虽然测试的硬件平台不尽相同,但往往可以通过类比得到所设计电路的技术参数。如果有些参数无法确定,并且技术支持缺乏 ,就需要主动进行性能名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - 参数测试。(3)开发、调试环境功能强大、 容易搭建的集成开发 /调试环境能节省项目人力投入,加速开发进度。 这也是选择嵌入式操作系统时需要考虑的重要因素。大部分开发人员选择操作系统并不看操作系统特性 ,而是专注于集成开发环境的优劣,可

15、见开发环境对嵌入式开发的重要性。对集成开发环境的评价 ,主要考虑 :编辑、编译、调试界面是否友好和高度集成;支持的 PC机操作系统 ;编译器通用性 (容易掌握和移植 ),支持的编程语言 ,提供的库资源 ;是否支持版本控制 (与 Subversion或 SourceSafe直接关联 );调试环境的搭建 (搭建是否便利 ,支持哪些连接方式 ,是否支持单步、断点跟踪调试);仿真平台 (在硬件电路完成之前就可进行编程调试 ,方便单元测试 );其他辅助调试、分析工具 (如目标观察、系统分析、内存分析等 )。(4)移植操作系统的难易虽然嵌入式操作系统的一个重要作用是让程序设计工作量大大减少,将主要设计工作

16、集中在应用程序开发,但是毕竟嵌入式系统是针对具体平台配置的,移植操作系统就是要对这些差异环节编程 ,实现硬件和操作系统的连接。从层次上看,有 CPU内核移植、 CPU的移植、最小系统组成的移植、外设驱动的移植。移植的难易主要是考察在代理商或技术支持所提供的模板基础上需要实现哪些中间层模块,有哪些现成的模块可利用。操作系统移植是否相应地有支持的调试平台,程序下载环境对操作系统的移植工作也有很大影响。(5)应用模块支持应用模块支持也对嵌入式软件工作量有重要影响,如开发的嵌入式系统要求支持FTP文件传输协议 ,支持 TFT LCD 的图形界面显示 ,那么内核是否包含TCP/IP组件和网络文件系统、是

17、否包含 TFT LCD 驱动模块就对进一步的开发工作有很大影响。尤其是一些编程调试工作量大的协议、驱动,能直接利用内核组件支持是最好的解决方案。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - 除了以上几点,技术支持,可移植性支持,软件购置成本也是选择嵌入式操作系统要考虑的因素。COS 是面向中小型应用的、 其任务基于优先级的可剥夺嵌入式实时内核,其特点是小巧、性能稳定、可免费获得实现代码,所以我们选用COS 操作系统COS- 的

18、移植分析所谓移植 ,就是使一个实时内核能在其他的微处理器或微控制器上运行。为了方便移植 ,大部分 COS- 是用 C 语言编写的 ,但与硬件有关的代码仍需要用汇便语言编写。COS- 在设计之初已经考虑到可移植性,所以COS- 的移植相对来说比较容易。要移植COS- ,处理器必须满足以下要求: 1)处理器的 C 编译器能产生 可重入代码 ;可重入代码是指可以被多个任务同时调用而不被破坏的一段代码 ,这是实现多任务的基础。2)处理器支持中断 ,并且能产生定时中断 (通常为 10100 Hz);COS- 是通过处理器的定时器实现中断的。3)用 C 语言就可以开 /关中断。 C 语言可以通过宏定义进行

19、开/关中断 ,在COS- 中是OS-ENTER-CRITICAL()和 OS-EXIT-CRITICAL()两个宏实现中断的。4)处理器能支持一定数量的数据存储硬件堆栈。5)处理器有将堆栈指针以及其他CPU寄存器的内容读出、并存储到堆栈或内存中去的指令根据处理器的不同 ,一个移植实例可能需要编写或改写50-300 行的代码 ,最容易做的是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - 选择修改 CPU相同或类似的移植代码。 OS

20、-CPU.H 、 OS-CPU-A.ASM 、 OS-CPU-C.C 是COS-中与处理器相关的三个文件,COS- 的移植就是修改这三个文件。OS-CPU.H文件主要是定义数据类型,代码临界区开关中断方式,堆栈的生长方式 ,任务的切换向量以及时钟的发生频率等。C语言的 short、int、long 等数据类型与编译器相关不可移植 ,所以COS- 采用定义的整型数据结构代替他们,既可移植 ,又很直观。绝大多数微处理器和微控制器的堆栈是从上往下递减的,但是也有一些处理器使用的是相反的方式,COS- 需要知道堆栈的底端地址在哪里,从而得到堆栈的使用情况。在 OS-CPU-C.C 中COS- 的移植要

21、求用户编写10 个简单的 C函数,OSTaskStkInit() ,OS-TaskCreateHook ( ), OSTaskDelHook ( ),OS-TaskSwHook ( ),OSTaskIdleHook ( ), OS-TaskStatHook ( ),OSTimeTickHook ( ),OS-InitHookBegin ( ),OSInitHookEnd ( ),OSTCBInitHook() 。唯一必要的是OSTaskStkInit() ,其他的 9 个函数必须声明。 COS- 的 移 植 要 求 编 写OS-CPU-A.ASM中 的4 个 简 单 的 汇 编 语 言 函 数 :OSStartHighRdy() ,OSCtxSw() ,OSIntCtxSw() ,OSTickISR() ,其中 OSIntCtxSw() 较容易出错。如果编译器支持C语言中插入行汇编代码 ,就可以将所有与处理器相关的代码放到OS-CPU-C.C 文件中 ,不再有单独的汇编语言文件。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁