ARM的十一种嵌入式操作系统
ARM、8051、AVR、MSP430、DSP、FPGA六种体系比较区别

ARM、8051、AVR、MSP430、DSP、FPGA六种体系比较区别1.前言嵌入式系统最大特征是“嵌入”二字,也就是说你的控制系统是嵌入于你的控制对象之中,所以首先是服从于对象的需求和特征,脱离对象空论谁好谁坏有何依据?学习单片机无所谓选那款,关键在于你能否掌握其本质,快速的触类旁通,你的产品是否成功就在于你能否最佳的选择好符合嵌入对象特征的MCU。
2.ARM Vs 80511.8051是8位的 ARM是32的2.速度:.ARM的主频可以达到700M而8051超过50M就很了不起了3.ARM运算处理能力强,8051侧重处理逻辑运算,算术浮点运行比较差。
4.ARM的硬件资源丰富,8051硬件资源比较单一和简单。
5.ARM的FLASH和RAM超大,8051太小,干不了大活。
3.ARM Vs AVR(低功耗)ARM是IP核,可供各大芯片商集成到各自的设计中,好比是软件语言中的C++,如果你想换一家厂商或者某家的货太贵,都会有其它的厂商来竞争,至少从理论上,你不会被一家厂商套住。
AVR这方面就差点,ATMEL一家,别无分号。
你只能在他的系列中选一个型号,无法选厂家。
好比是软件语言中的Java,虽然现在免费(指Java的SDK,不是AVR)或价格低,但市场前景更多的掌握在厂商手中。
功能方面,ARM大大优于AVR,ARM可以做PDA,手机,AVR显然不行,最糟糕的是ARM上可以跑Linux,Linux可以做多少事啊,虽说国内实际在ARM平台上跑出Linux而又愿意公开技术的人几乎没有(我正在努力朝这个方向发展),但前途绝对是光明的。
功能上的优势意味着ARM比AVR有着更广的应用范围4.ARM Vs MSP430MSP430会向着专用,更低电压,更低功耗的方向发展,不求功能大而全。
应该会有更多的型号出现以供不同场合的测量使用。
430的编程方法是在低功耗模式与任务之间切换来降低系统功耗,满足便携和节能的要求。
ARM开发教程之ARM体系的嵌入式系统BSP的程序设计

ARM开发教程之ARM体系的嵌入式系统BSP的程序设计简介:ARM公司在32位RISC的CPU开发领域不断取得突破,其结构已经从V3发展到V6。
BSP(Board Support Package)板级支持包介于主板硬件和操作系统之间,其功能与PC 机上的BIOS相类似,主要完成硬件初始化并切换到相应的操作系统。
BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说,尽管实现的功能一样,可是写法和接口定义是完全不同的。
另外,仔细研究所用的芯片资料也十分重要,例如尽管ARM在内核上兼容,但每家芯片都有自己的特色。
所以这就要求BSP程序员对硬件、软件和操作系统都要有一定的了解。
本文介绍基于ARM体系的嵌入式应用系统初始化部分BSP的程序设计。
本文引用的源码全部是基于HMS320C7202芯片设计,并已成功运行。
1 ARM开发教程之初始化过程尽管各种嵌入式应用系统的结构及功能差别很大,但其系统初始化部分完成的操作有很大一部分是相似的。
嵌入式系统的启动流程如图1所示。
1.1 设置入口指针启动程序首先必须定义指针,而且整个应用程序只有一个入口指针。
一般地,程序在编译链接时将异常中断向量表链接在0地址处,并且作为整个程序入口点。
入口点代码如下:ENTRY(_start);开始1.2 ARM开发教程之设置异常中断向量表ARM要求中断向量表必须放置在从0开始、连续8×4字节的空间内。
各异常中断向量地址以及中断的算是优先级如表1:表1 各异常中断的中断向量地址以及中断的处理优先级中断向量地址异常中断类型异常中断模式优先级(6最低)0x0 复位特权模式(SVC)10x4 未定义中断未定义指令中止模式(Undef) 60x8 软件中断(SWI)特权模式(SVC)60x0c 指令预取中止中止模式50x10 数据访问中止中止模式20x14 保留未使用未使用0x18 外部中断请求(IRQ)外部中断(IRQ)模式40x1c 快速中断请求(FIQ)快速中断(FIQ)模式 3每当一个中断发生后,ARM处理器便强制把程序计数器(PC)指针置为向量表中对应中断类型的地址值。
主流嵌入式操作系统(RTOS)有哪些?看这14种

主流嵌入式操作系统(RTOS)有哪些?看这14种整理/付斌满足实时控制要求的嵌入式操作系统(RTOS)操作系统,以下介绍14种主流的RTOS,分别为μClinux、μC/OS-II、eCos、FreeRTOS、mbed OS、RTX、Vxworks、QNX、NuttX,而国产的嵌入式操作系统包括都江堰操作系统(djyos)、Alios Things、Huawei LiteOS、RT-Thread、SylixOS。
下面分别介绍这十四种种嵌入式操作系统的特点。
1、μClinuxμClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。
同标准的Linux相比,μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP/IP网络协议等。
因为没有MMU 内存管理单元,所以其多任务的实现需要一定技巧。
μClinux在结构上继承了标准Linux的多任务实现方式,分为实时进程和普通进程,分别采用先来先服务和时间片轮转调度,仅针对中低档嵌入式CPU特点进行改良,且不支持内核抢占,实时性一般。
综上可知,μClinux最大特点在于针对无MMU处理器设计,这对于没有MMU功能的stm32f103来说是合适的,但移植此系统需要至少512KB的RAM空间,1MB的ROM/FLASH空间,而stmf103拥有256K的FLASH,需要外接存储器,这就增加了硬件设计的成本。
μClinux结构复杂,移植相对困难,内核也较大,其实时性也差一些,若开发的嵌入式产品注重文件系统和与网络应用则μClinux是一个不错的选择。
2、μC/OS-IIμC/OS-II是在μC/OS的基础上发展起来的,是用C语言编写的一个结构小巧、抢占式的多任务实时内核。
μC/OS-II能管理64个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和扩展性强等特点。
ARM嵌入式系统基础教程课后习题答案

第一章思考与练习1、举出3个书本中未提到的嵌入式系统的例子。
答:红绿灯控制,数字空调,机顶盒2、什么叫嵌入式系统嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。
嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式微控制器(Microcontroller Unit, MCU)嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP)嵌入式片上系统(System On Chip)4、什么是嵌入式操作系统?为何要使用嵌入式操作系统?是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。
其次,提高了开发效率,缩短了开发周期。
再次,嵌入式实时操作系统充分发挥了 32 位 CPU 的多任务潜力。
第二章1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么?项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。
识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。
提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。
执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。
结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。
2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险?在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。
需求风险;时间风险;资金风险;项目管理风险3、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。
ARM7、ARM9、ARM11、ARM-Cortex的关系

ARM7、ARM9、ARM11、ARM-Cortex的关系1. ARM7、ARM9、ARM11、ARM-Cortex 的关系ARM7:ARMv4 架构,ARM9:ARMv5 架构,ARM11:ARMv6 架构,ARM-Cortex 系列:ARMv7 架构ARM7 没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE 等这些现代的多用户多进程操作系统,因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间。
ucOS、ucLinux 这些精简实时的RTOS 不需要MMU,当然可以在ARM7 上运行。
ARM9、ARM11,是嵌入式CPU(处理器),带有MMU,可以运行诸如Linux 等多用户多进程的操作系统,应用场合也不同于ARM7。
到了ARMv7架构的时候开始以Cortex 来命名,并分成Cortex-A、Cortex-R、Cortex-M 三个系列。
三大系列分工明确:A 系列面向尖端的基于虚拟内存的操作系统和用户应用;R 系列针对实时系统;M 系列对微控制器。
简单的说Cortex-A 系列是用于移动领域的CPU,Cortex-R 和Cortex-M 系列是用于实时控制领域的MCU。
所以看上去ARM7 跟Cortex-M 很像,因为他们都是MCU,但确是不同代不同架构的MCU(Cortex-M 比ARM7 高了三代!),所以性能也有很大的差距。
此外,Cortex-M 系列还细分为M0、M3、M4 和超低功耗的M0+,用户依据成本、性能、功耗等因素来选择芯片。
想必楼主现在肯定知道了ARM7、Cortex-M 的区别,不过还是花了点时间整理在此,可以帮助后来的初学者搞明白这些基本的概念性问题2. ARM7,ARM9,cortex-m3,cortex-m4,cortex-a8 的区别arm 系列从arm11 开始,以后的就命名为cortex,并且性能上大幅度提升。
什么是ARM_什么是嵌入式系统

什么是ARM?什么是嵌入式系统?发布时间: 2008-11-19 来源:电力~电子设计网站作者: kapor 浏览: 2677随着ARM处理器的流行,为了使更多工程师了解ARM傅立叶撰写了系列开发文章,主要解决什么是ARM,ARM在产品项目中的开发流程,LINUX,WINCE,VXWORKS等操作系统在ARM处理器上的应用等内容。
希望对初学者有所帮助。
第一篇、嵌入式系统和ARM开发(傅立叶电子科技ARM技术研发部710065)1.嵌入式系统概述应该肯定地讲我们每一位都已经使用过嵌入式系统有关的产品,嵌入式系统已经深入到我们生活的每一个角落。
他所涉及的领域广泛到我们的想象力能及的任何地方。
嵌入式系统是相对桌面系统来讲的,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。
作为系统核心的微处理器又包括三类:微控制器(MCU)、数字信号处理器(DSP)、嵌入式微处理器(MPU)。
嵌入式比较准确一个定义如下:系统以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式系统的应用和组成嵌入式系统就是可精简计算机系统,现在一个ARM7的处理器比一个486还要快,可以挂很多设备并且价格很低。
嵌入式技术目的就是在不适宜用工控机的场合替代pc系统,而对于很多场合工控机的很多功能没有用处而用户必须要付出成本,嵌入式系统解决了这个问题,兼顾功能而又节省成本把不需要的设备裁减掉。
嵌入式系统无处不在,他的核心是处理器。
包括单片机也是嵌入式处理器的一种,在实际应用中不同等级的处理器应用方向也不同。
嵌入式微处理器的应用对比表:为什么要用位处理器?随着电子设备日新月异的发展,电子设备功能越来越完备,无论军品、工业品还是民品设计理念都越来越人性化。
很简单的讲,您家里空调、电视、DVD每样设备都单独使用一台遥控器,我们是否能够把他们几合一呢?岂不是更加方便?管理这么一堆设备从软件上来讲肯定是复杂的多了,从硬件方面当然也需要功能更加强大、功耗极低、价格更廉价的处理器来支持,32位的ARM处理器能够轻松完成以上需求。
嵌入式操作系统有哪些

嵌入式操作系统有哪些嵌入式操作系统有哪些嵌入式操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于其上的各个任务,它根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。
在有嵌入式操作系统支持的系统中,每个任务有一个优先级,根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。
经过多年的发展,比较流行的嵌入式操作系统如下:1、VxWorksVxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种实时嵌入式操作系统(RTOS),由于具有高性能的系统内核和友好的用户开发环境。
VxWorks的突出特点:可靠性、实时性和可裁减性。
它是目前嵌入式系统领域中使用最广泛、市场占有率最高的操作系统。
它支持多种处理器,如x86、i960、Sun Sparc、Motorola Mc68xxx、MIPS RX000、Power PC等。
大多数的VxWorks API是专有的.,采用GNU 的编译和调试器,具有集成开发环境T ornado 系列。
它属于商业型操作系统,目前国内很多大的公司都采用此操作系统进行嵌入式系统的开发,如中兴通讯、华为等。
2、pSOS该系统是一个模块化、高性能的实时操作系统,专为嵌入式微处理器设计,提供一个完全的多任务环境,在定制的或者商业化的硬件上具有高性能和高可靠性,可以让开发者根据操作系统的功能和内存需求定制每一个应用所需的系统。
开发者可以利用它来实现从简单的单个独立设备到复杂的、网络化的多处理器系统。
3、Windows EmbeddedWindows Embedded 产品家族是Microsoft的产品,主要是用于建立支持具有丰富应用程序和服务的32嵌入时系统,从而针对广泛的用户需求提供灵活解决方案。
此外,同支持更快的“产品上市速度”并降低开发成本,Windows Embedded 产品家族还能保证开发人员立于竞争前沿。
嵌入式系统——精选推荐

嵌⼊式系统第⼀章⼀、嵌⼊式系统的定义:从技术⾓度定义:以应⽤为中⼼,以计算机技术为基础,软硬件可裁剪,适应应⽤系统对功能、可靠性、成本、体积、功耗等严格要求的专⽤计算机系统,是将应⽤程序、操作系统和计算机硬件集成在⼀起的系统。
⼆、常见的嵌⼊式操作系统:1.WindowsEmbedded2.VxWorks3.µC/OS4.QNX5.嵌⼊式Linux6.安卓系统三、嵌⼊式系统的特点:专⽤型强体积⼩型化实时性好可裁剪性好可靠性⾼功耗低不可垄断性四、嵌⼊式处理器有两个体系结构,特点,优缺点冯诺依曼体系结构和哈弗体系结构冯诺依曼:程序和数据共享⼀个存储空间;程序指令存储地址和数据存储地址指向⼀个存储器的不同物理位置;采⽤单⼀的地址及数据总线;程序指令和数据宽度相同。
处理器在执⾏指令时,必须从存储器中取出指令解码,再取操作数执⾏运算,在⾼速运算的时候,容易在传输通道上出现瓶颈效应。
哈弗:程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独⽴的存储器,每个存储器独⽴编址、独⽴访问。
与两个存储器相对应的是系统中的4套总线:程序的数据总线和地址总线,数据的数据总线和地址总线。
这种分离的程序总线和数据总线可允许在⼀个机器周期内同时获取指令字和操作数,从⽽提⾼了执⾏速度,⼜由于程序和数据存储器在两个分开的物理空间中,因⽽取值和执⾏能够完全重叠,提⾼了运算速度。
五、嵌⼊式微处理器的分类(P10)嵌⼊式微处理器根据功能、结构、性能运算特点和使⽤⽅法等多⽅⾯的综合因素可以粗略分成嵌⼊式微控制器(MCU)、嵌⼊式微处理器(MPU)、数字信号处理器(DSP))、CPLD/FPGA、⽚上系统(SOC)等5类。
SOC往往是在FPGA上实现的。
六、嵌⼊式微处理器如何选型(P13)1.技术指标2.熟悉原则3.成本原则4.⽀持⼯具原则5,整体原则第⼆章⼀、RISC(精简指令集)特点:1.⼤的、统⼀的寄存器⽂件2.装载/保存结构,数据处理操作只针对寄存器的内容,⽽不是直接对存储器进⾏操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM的十一种嵌入式操作系统ARM的十一种嵌入式操作系统嵌入式LINUX嵌入式Linux是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。
Linux做嵌入式的优势,首先,Linux是开放源代码;其次,Linux的内核小、效率高,可以定制,其系统内核最小只有约134KB;第三,Linux是免费的OS,Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台而且性能稳定,裁剪性很好,开发和使用都很容易。
同时,Linux内核的结构在网络方面是非常完整的,Linux对网络中最常用的TCP/IP协议有最完备的支持。
提供了包括十兆、百兆、千兆的以太网络,以及无线网络,TokenRing(令牌环网)、光纤甚至卫星的支持。
移植步骤:1.Bootloader的移植;2.嵌入式Linux操作系统内核的移植;3.嵌入式Linux操作系统根文件系统的创建;4.电路板上外设Linux驱动程序的编写。
WinCEWinCE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows95,WinCE的图形用户界面相当出色。
WinCE是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。
它的模块化设计允许它对于从掌上电脑到专用的工业控制器的用户电子设备进行定制。
操作系统的基本内核需要至少200K的ROM。
一般来说,一个WinCE系统包括四层结构:应用程序、WinCE内核映像、板级支持包(BSP)、硬件平台。
而基本软件平台则主要由WinCE系统内核映像(OSImage)和板卡支持包(BSP)两部分组成。
因为WinCE系统是一个软硬件紧密结合的系统,因此即使CPU处理器相同,但是如果开发板上的外围硬件不相同,这个时候还是需要修改BSP来完成一个新的BSP.因此换句话说,就是WinCE的移植过程主要是改写BSP的过程。
AndroidAndroid是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集。
Android作为一个完全开源的操作系统,是由操作系统Linux、中间件以及核心应用程序组成的软件栈。
通过androidSDK提供的API以及相应的开发工具,程序员可以很方便的开发android平台上的应用程序。
其整个系统由应用程序,应用程序框架,应用程序库,Android运行库,Linux内核(LinuxKernel)五个部分组成。
Android操作系统内置了一部分应用程序,包括电子邮件客户端、SMS程序、日历、地图、浏览器、通讯录以及其他的程序,值得一提的是这些所有的程序都是用java 编写的。
移植的主要的工作是驱动,硬件抽象层的移植。
为了更好地理解和调试系统,也应该适当地了解上层对硬件抽象层的调用情况。
TinyOSTinyOS是一个开源的'嵌入式操作系统,它是由加州大学的伯利克分校开发出来的,主要应用于无线传感器网络方面。
程序采用的是模块化设计,所以它的程序核心往往都很小,一般来说核心代码和数据大概在400Bytes左右,能够突破传感器存储资源少的限制。
TinyOS提供一系列可重用的组件,一个应用程序可以通过连接配置文件(AWiringSpecification)将各种组件连接起来,以完成它所需要的功能。
嵌入式实时操作系统(RTOS)在工业控制、军事设备、航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。
当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。
故对嵌入式实时操作系统的理解应该建立在对嵌入式系统的理解之上加入对响应时间的要求。
FreeRTOSFreeRTOS是一个迷你操作系统内核的小型嵌入式系统。
作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。
FreeRTOS任务可选择是否共享堆栈,并且没有任务数限制,多个任务可以分配相同的优先权。
相同优先级任务的轮转调度,同时可设成可剥夺内核或不可剥夺内核。
FreeRTOS的移植主要需要改写如下三个文件。
1.portmacro.h2.port.c3.port.asmμTenuxμTenux基于ARM微控制器平台,对uT最适用于ARMCortexM0-M4系列的微控制器,代码开源、免费,是一个功能强大的抢占式实时多任务操作系统。
μTenux除具有实时嵌入式操作系统的一般特性:可移植性,可固化,可裁剪等特性以外,它还具有如下优点:(1)微内核。
无MMU,ROM/RAM占用量小,所占ROM最大60KB,最小10KB;RAM最大12KB,最小2KB;(2)开源免费;(3)支持所有32位ARM7/9和CortexM系列的微控制器;(4)可配置多达到256个任务以及140个任务优先级;(5)有良好的商业支持,T-Engine论坛进行总的维护。
移植主要包括:芯片系统时钟移植,外设移植和通用输出/输入端口的移植以及看门狗模块移植。
由于考虑到内核代码的重要性以及其在整个移植中的重要意义,且为了整个系统有更好的实时性,可选用汇编语言编写操作系统的启动代码。
VxWorksVxWorks系统提供多处理器间和任务间高效的信号灯、消息队列、管道、网络透明的套接字。
实时系统的另一关键特性是硬件中断处理。
为了获得最快速可靠的中断响应,VxWorks系统的中断服务程序ISR有自己的上下文。
VxWorks实时操作系统由400多个相对独立的、短小精炼的目标模块组成,用户可根据需要选择适当模块来裁剪和配置系统,这有效地保证了系统的安全性和可靠性。
系统的链接器可按应用的需要自动链接一些目标模块。
这样,通过目标模块之间的按需组合,可得到许多满足功能需求的应用。
移植过程可以参考网络上一些BSP代码,BSP的英文全称为boardsupportpackage,即板级支持包,它的作用是针对特殊的硬件平台,为VxWorks内核提供操作的接口。
μClinux嵌入式Linux作为一个开放源代码的操作系统,以价格低廉、功能强大又易移植的特性正在被广泛应用,μClinux是专门针对没有MMU的处理器而设计的嵌入式Linux,非常适合中低端嵌入式系统的需求。
在GNU通用公共许可证的授权下,μClinux操作系统的用户可以使用几乎所有Linux的API函数,不会因为没有内存管理单元MMU而受到影响;而且,μClinux在标准的Linux基础上进行了适当的裁剪和优化,形成了一个高度优化的、代码紧凑的嵌入式Linux,体积小了,但是仍然保留了Linux的大多数的优点,比如稳定性好、强大的网络功能、良好的可移植性、完备的文件系统支持功能、以及标准丰富的应用程序接口API等,可以支持类似ARM7TDMI等类型多的小巧玲珑的中央处理器。
eCoseCos中文翻译为嵌入式可配置操作系统或嵌入式可配置实时操作系统。
适合于深度嵌入式应用,主要应用对象包括消费电子、电信、车载设备、手持设备以及其他一些低成本和便携式应用。
eCos是一种开发源代码软件,无任何版权费用。
eCos最大的特点是模块化,内核可配置。
如果说嵌入式Linux太庞大了,那么eCos可能就能够满足要求。
它是一个针对16位、32位和64位处理器的可移植开放源代码的嵌入式RTOS.和嵌入式Linux不同,它是由专门设计嵌入式系统的工作组设计的。
eCos具有相当丰富的特性和一个配置工具,后者能够让你选取你所需要的特性。
eCos的软件分了若干的模块,移植工作主要在他的hal层进行,所谓hal(硬件抽象层)就是把和硬件相关的软件凑到一起。
μC/OS-IIμC/OS-II是一个完整的、可移植、可固化、可裁剪的占先式实时多任务内核。
μC/OS-II绝大部分的代码是用ANSI的C语言编写的,包含一小部分汇编代码,使之可供不同架构的微处理器使用。
其结构小巧简洁且支持抢占式的多任务调度与管理。
此实时操作系统管理任务数多达64个,且提供内部程序存储器管理、系统运行时间管理、多任务实时调度与管理等功能。
由于它的作者占用和保留了8个任务,所以留给用户应用程序最多可有56个任务。
赋予各个任务的优先级必须是不相同的。
这意味着μC/OS-II不支持时间片轮转调度法。
μC/OS-II为每个任务设置独立的堆栈空间,可以快速实现任务切换。
将μC/OS-II操作系统移植到目标处理器上,需要从硬件和软件两方面来考虑。
硬件方面,目标处理器需满足以下条件:①处理器的C编译器能产生可重入代码;②用C语言可以开/关中断;③处理器支持中断,并且能够产生定时中断(通常在10~1000Hz之间);④处理器能够支持容纳一定量数据的硬件堆栈;⑤处理器有将堆栈指针和其他寄存器读出和存储到堆栈或内存中的指令。
软件方面,主要是一些与处理器相关的代码移植,其分布在OS_CPU.H、OS_CPU_C.C和OS_CPU_A.ASM这3个不同的文件中。