基于ARM的十一种嵌入式操作系统

发布者:文江桂青最新更新时间:2018-02-01 来源: eefocus关键字:ARM  嵌入式  操作系统 手机看文章 扫描二维码
随时随地手机看文章

嵌入式操作系统(Embedded Operation System,EOS)是指用于嵌入式系统的操作系统。嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。嵌入式操作系统是负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能,是一种用途广泛的系统软件。

嵌入式LINUX

 

嵌入式Linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。Linux做嵌入式的优势,首先,Linux是开放源代码;其次,Linux的内核小、效率高,可以定制,其系统内核最小只有约134KB;第三,Linux是免费的OS,Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台而且性能稳定,裁剪性很好,开发和使用都很容易。同时,Linux内核的结构在网络方面是非常完整的,Linux对网络中最常用的TCP/IP协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络,以及无线网络,Token Ring(令牌环网)、光纤甚至卫星的支持。


移植步骤:1.Bootloader的移植;2.嵌入式Linux操作系统内核的移植;3.嵌入式Linux操作系统根文件系统的创建;4.电路板上外设Linux驱动程序的编写。


WinCE


WinCE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Win CE的图形用户界面相当出色。WinCE是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对于从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少200K的ROM。


一般来说,一个WinCE系统包括四层结构:应用程序、WinCE内核映像、板级支持包(BSP)、硬件平台。而基本软件平台则主要由WinCE系统内核映像(OS Image)和板卡支持包(BSP)两部分组成。因为WinCE系统是一个软硬件紧密结合的系统,因此即使CPU处理器相同,但是如果开发板上的外围硬件不相同,这个时候还是需要修改BSP来完成一个新的BSP.因此换句话说,就是WinCE的移植过程主要是改写BSP的过程。


Android


Android 是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集。Android 作为一个完全开源的操作系统,是由操作系统Linux、中间件以及核心应用程序组成的软件栈。通过 android SDK 提供的 API 以及相应的开发工具, 程序员可以很方便的开发android平台上的应用程序。其整个系统由应用程序,应用程序框架,应用程序库,Android运行库,Linux内核(Linux Kernel)五个部分组成。Android操作系统内置了一部分应用程序, 包括电子邮件客户端、SMS程序、日历、地图、浏览器、通讯录以及其他的程序,值得一提的是这些所有的程序都是用java编写的。


移植的主要的工作是驱动,硬件抽象层的移植。为了更好地理解和调试系统,也应该适当地了解上层对硬件抽象层的调用情况。


TinyOS


TinyOS是一个开源的嵌入式操作系统,它是由加州大学的伯利克分校开发出来的,主要应用于无线传感器网络方面。程序采用的是模块化设计,所以它的程序核心往往都很小,一般来说核心代码和数据大概在400 Bytes左右,能够突破传感器存储资源少的限制。TinyOS提供一系列可重用的组件,一个应用程序可以通过连接配置文件(A Wiring SpecifICation)将各种组件连接起来,以完成它所需要的功能。


嵌入式实时操作系统(RTOS)


在工业控制、军事设备、航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。故对嵌入式实时操作系统的理解应该建立在对嵌入式系统的理解之上加入对响应时间的要求。


FreeRTOS

功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。FreeRTOS任务可选择是否共享堆栈,并且没有任务数限制,多个任务可以分配相同的优先权。相同优先级任务的轮转调度,同时可设成可剥夺内核或不可剥夺内核。


FreeRTOS 的移植主要需要改写如下三个文件。1.portmacro.h 2.port.c 3. port.asm


μTenux


μTenux基于ARM微控制器平台,对uT最适用于ARM Cortex M0-M4系列的微控制器,代码开源、免费,是一个功能强大的抢占式实时多任务操作系统。μTenux除具有实时嵌入式操作系统的一般特性:可移植性,可固化,可裁剪等特性以外,它还具有如下优点:(1)微内核。无MMU, ROM/RAM占用量小,所占ROM最大60KB,最小10KB;RAM最大12KB,最小2KB;(2)开源免费;(3)支持所有32位ARM7/9和Cortex M系列的微控制器;(4)可配置多达到256个任务以及140个任务优先级;(5)有良好的商业支持,T-Engine论坛进行总的维护。


移植主要包括:芯片系统时钟移植,外设移植和通用输出/输入端口的移植以及看门狗模块移植。由于考虑到内核代码的重要性以及其在整个移植中的重要意义,且为了整个系统有更好的实时性,可选用汇编语言编写操作系统的启动代码。


VxWorks


VxWorks系统提供多处理器间和任务间高效的信号灯、消息队列、管道、网络透明的套接字。实时系统的另一关键特性是硬件中断处理。为了获得最快速可靠的中断响应,VxWorks系统的中断服务程序ISR有自己的上下文。VxWorks实时操作系统由400多个相对独立的、短小精炼的目标模块组成,用户可根据需要选择适当模块来裁剪和配置系统,这有效地保证了系统的安全性和可靠性。系统的链接器可按应用的需要自动链接一些目标模块。这样,通过目标模块之间的按需组合,可得到许多满足功能需求的应用。


移植过程可以参考网络上一些BSP代码,BSP的英文全称为board support PACkage,即板级支持包,它的作用是针对特殊的硬件平台,为VxWorks内核提供操作的接口。


μClinux


嵌入式Linux作为一个开放源代码的操作系统,以价格低廉、功能强大又易移植的特性正在被广泛应用,μClinux是专门针对没有MMU的处理器而设计的嵌入式Linux,非常适合中低端嵌入式系统的需求。 在GNU通用公共许可证的授权下,μClinux操作系统的用户可以使用几乎所有Linux的API函数,不会因为没有内存管理单元MMU而受到影响;而且,μClinux在标准的Linux基础上进行了适当的裁剪和优化,形成了一个高度优化的、代码紧凑的嵌入式Linux,体积小了,但是仍然保留了Linux的大多数的优点,比如稳定性好、强大的网络功能、良好的可移植性、完备的文件系统支持功能、以及标准丰富的应用程序接口API等,可以支持类似ARM7TDMI等类型多的小巧玲珑的中央处理器。


eCos


eCos中文翻译为嵌入式可配置操作系统或嵌入式可配置实时操作系统。适合于深度嵌入式应用,主要应用对象包括消费电子、电信、车载设备、手持设备以及其他一些低成本和便携式应用。eCos是一种开发源代码软件,无任何版权费用。 eCos最大的特点是模块化,内核可配置。如果说嵌入式Linux太庞大了,那么eCos可能就能够满足要求。它是一个针对16位、32位和64位处理器的可移植开放源代码的嵌入式RTOS.和嵌入式Linux不同,它是由专门设计嵌入式系统的工作组设计的。eCos具有相当丰富的特性和一个配置工具,后者能够让你选取你所需要的特性。


eCos的软件分了若干的模块,移植工作主要在他的hal层进行,所谓hal(硬件抽象层)就是把和硬件相关的软件凑到一起。


μC/OS-II

      

μC/OS-II绝大部分的代码是用ANSI的C语言编写的,包含一小部分汇编代码,使之可供不同架构的微处理器使用。其结构小巧简洁且支持抢占式的多任务调度与管理。此实时操作系统管理任务数多达64个,且提供内部程序存储器管理、系统运行时间管理、多任务实时调度与管理等功能。由于它的作者占用和保留了8个任务,所以留给用户应用程序最多可有56个任务。赋予各个任务的优先级必须是不相同的。这意味着μC/OS-II不支持时间片轮转调度法。μC/OS-II为每个任务设置独立的堆栈空间,可以快速实现任务切换。


将μC/OS-II操作系统移植到目标处理器上,需要从硬件和软件两方面来考虑。硬件方面,目标处理器需满足以下条件:


①处理器的C编译器能产生可重入代码;

②用C语言可以开/关中断;

③处理器支持中断,并且能够产生定时中断(通常在10~1000 Hz之间);

④处理器能够支持容纳一定量数据的硬件堆栈;

⑤处理器有将堆栈指针和其他寄存器读出和存储到堆栈或内存中的指令。


软件方面,主要是一些与处理器相关的代码移植,其分布在OS_CPU.H、OS_CPU_C.C和OS_CPU_A.ASM这3个不同的文件中。

关键字:ARM  嵌入式  操作系统 引用地址:基于ARM的十一种嵌入式操作系统

上一篇:基于ARM9和QT的步进电机驱动控制系统
下一篇:基于ARM和智能手机的蓝牙CAN分析仪解析

推荐阅读最新更新时间:2024-03-16 15:54

基于ARM架构的优化工业控制方案设计详解
运营现代化的工厂和加工车间,在技术上都非常复杂。为实现对机械设备和生产过程的精确控制,生产企业需要采用最新系列的传感器、致动器以及伺服系统。作为添加技术以获得精确控制功能优势的范例,各个联网与自动化层现已通过连接至IT网络的控制网络添加到工厂生产车间,它们可提供商业信息与策略,这些信息和策略转而推动生产决策的制定。 这种网络化的集中工业控制模式使得技术人员与工业控制工程师能够访问丰富的数据,以便对工厂运营过程进行观察、微调和优化。工厂厂长与企业高管只需浏览一下仪表盘便能全面了解整个工厂的工作效率。 在过去,处理过程都是采用手动控制,工厂的每个环节也都是独立运作的。通过访问描述工厂实际运营状态的实时数据,管理人员能够更好地了
[单片机]
基于<font color='red'>ARM</font>架构的优化工业控制方案设计详解
linux2.6.26内核中ARM中断实现详解
看了一些网络上关于linux中断实现的文章,感觉有一些写的非常好,在这里首先感谢他们的无私付出,然后也想再补充自己对一些问题的理解。先从函数注册引出问题吧。 一、中断注册方法 在linux内核中用于申请中断的函数是request_irq(),函数原型在Kernel/irq/manage.c中定义: int request_irq(unsigned int irq, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id) irq是要申请的硬件中断号。 handler是向系统注册的中断处理函数,是
[单片机]
专家质疑Linux版龙芯笔记本使用性
“龙芯”作为中国人自己的芯片,它的每一步进展都一直备受国人瞩目。昨天,终于曝出由北京神州龙芯与四川国芯联合专为中小学生研发的龙芯笔记本电脑要小规模投产的消息。据悉,龙芯学生笔记本电脑定价仅为1998元人民币。 据了解目前龙芯学生笔记本产品设计已经完成,模具尚处于开模过程,只剩最后一道工序,小规模样品生产时间就在2007年1月,之后会适时大批量生产销售。 不过在硬件取得可喜成绩的同时,操作系统却仍然是龙芯笔记本一个较为头疼的问题。此前曾有传言称龙芯笔记本的操作系统为Linux,而此次国芯科技则表示,测试表明Linux并不适合与龙芯1号处理器系统配合使用。因为由于Linux并非为龙芯定制,也没有官方会为龙芯进行编译,所以技术支持方面会
[焦点新闻]
ARM发表白皮书:物联网的过去、现在与未来
      ARM 联合创始人兼CTO Mike Muller, 简介 物联网到底是什么? 物联网 (Internet of Things, IoT) 是包含智能、传感器功能的物理对象以及与其交互的网络、服务器和服务的集合。 这是一个趋势,而不是一个单一的行业或市场。但是,ARM 的技术设计能够使当今与未来的物联网应用和服务遍布每一个角落,并具备真正的智能。它由嵌入式微处理器和有线或无线网络组成,使这些对象能够自主感知周围环境,与其他对象通信,以及与基于互联网的服务和基于云的应用进行交互。 物联网功能可添加到任意物理对象中,如服装、珠宝、恒温器、医疗设备、家用电器、家庭自动化、工业控制,甚至是灯泡。这一趋势需要经济高效的传感技术—
[手机便携]
基于ARM的可重构数控系统设计
引言 数控系统的开放性、可重构设计、模块化、网络化是当前数控技术领域研究的热点。开放式数控的技术本质是标准化,它的目标是把复杂的数控技术产品体系分割开,形成公认的模块化构件,让更多的厂商能够参与到数控技术的广阔市场中来。显然,模块化是开放式控制的原始基础和技术雏形,而实现这一目标的前提是共同制定一个产品的标准,准确地说,就是制定一个共同遵循接口的标准,以实现庞大数控系统架构的分解和集成。 可重构数控的技术本质是柔性化。其实际上和原有的柔性制造系统一脉相承,只不过加入了管理学和运筹学的技术内容。不同的是,这种管理过程不是完全由人来主导,而是在人预先定义的决策下,由控制系统本身按照某种程度的自动化来实施的,其目标是系统实现
[单片机]
基于<font color='red'>ARM</font>的可重构数控系统设计
高通/AMD/华为/ARM等七家公司组建CCIX联盟
CPU处理器擅长通用任务处理,GPU这样的处理器则擅长专用处理,但浮点性能极强,CPU+GPU这样的异构运算在当前已不鲜见,而它只是主处理器+加速器架构中的一种,其他还有CPU+FPGA、CPU+网络芯片等等。为了统一加速器芯片互联,AMD、ARM、华为、IBM、高通、Mellanox及Xilinx赛灵思七家公司组建了CCIX联盟,共推开放加速器架构,不过Intel及NVIDIA两家公司并没有参与其中。 出于功耗及空间方面的考虑,数据中心等应用中已经开始使用加速器,大数据分析、搜索、机器学习、NFV(网络虚拟化)、4G/5G无线、内存内数据处理、视频分析及网络处理等应用中已经受益于可在不同系统架构中无缝移动数据的加速器引擎
[手机便携]
ARM初学者理清ARM开发思路
简介: 我们从启动代码、芯片资料、操作系统程序、最小系统版这四个方面来为新手进行讲解,帮你理清ARM开发思路。 做个最小系统板:如果从没有做过ARM的开发,建议一开始不要贪大求全,把所有的应用都做好,因为ARM的启动方式和dsp或单片机有所不同,往往会遇到各种问题,所以建议先布一个仅有Flash、SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。使最小系统能够正常运行,任务就完成了一半,好在ARM的外围接口基本都是标准接口,如果已有这些硬件的布线经验那就更好了。 写启动代码 根据硬件地址先写一个能够启动的小代码,包括以下部分:初始化端口、屏蔽中断、把程序拷贝到SRAM中、完成代码的重映射、配置中断
[单片机]
芯原业界领先的嵌入式GPU IP赋能先楫高性能的HPM6800系列RISC-V MCU
先楫新一代的仪表显示产品具有高画质、低功耗等特点 2024年3月4日,中国上海—— 芯原股份今日宣布先楫半导体(简称“先楫”)的HPM6800系列新一代数字仪表显示及人机界面系统应用平台采用了芯原的高性能2.5D图形处理器(GPU)IP。 HPM6800系列产品基于RISC-V CPU内核,具备高算力、低功耗、高集成度和出色的多媒体功能,适用于汽车仪表、人机交互界面(HMI),以及电子后视镜(CMS)等需要复杂图形处理、高分辨率显示和高性能多媒体用户界面的应用。 芯原支持OpenVG的2.5D GPU IP能够为MCU/MPU设备提供高能效的图形处理和优质的图像输出,同时显著降低CPU负载。 凭借成熟的可扩展性,该GP
[嵌入式]
芯原业界领先的<font color='red'>嵌入式</font>GPU IP赋能先楫高性能的HPM6800系列RISC-V MCU
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved