基于ARM的嵌入式操作系统该如何设计

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


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


Android 是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集。Android 作为一个完全开源的操作系统,是由操作系统Linux、中间件以及核心应用程序组成的软件栈。通过 android SDK 提供的 API 以及相应的开发工具, 程序员可以很方便的开发android平台上的应用程序。

基于ARM的嵌入式操作系统该如何设计

其整个系统由应用程序,应用程序框架,应用程序库,Android运行库,Linux内核(Linux Kernel)五个部分组成。Android操作系统内置了一部分应用程序, 包括电子邮件客户端、SMS程序、日历、地图、浏览器、通讯录以及其他的程序,值得一提的是这些所有的程序都是用java编写的。


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


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


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


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

μ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系统的中断服务程序ISR有自己的上下文。VxWorks实时操作系统由400多个相对独立的、短小精炼的目标模块组成,用户可根据需要选择适当模块来裁剪和配置系统,这有效地保证了系统的安全性和可靠性。系统的链接器可按应用的需要自动链接一些目标模块。这样,通过目标模块之间的按需组合,可得到许多满足功能需求的应用。

关键字:ARM  嵌入式操作系统  Linux 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic505109.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:ARM64与ARM32 的Linux程序区别在哪里
下一篇:ARM核MCU对模拟信号隔离采集的新方案

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

微软高通合作:给ARM Windows 10设备提供更完善配套
微软今天宣布与高通公司建立合作伙伴关系,为保障 Windows on ARM 上应用的运行提供更完善的配套支持,微软将把具有 FastTrack 测试平台的 App Assure 进行扩展。微软的 App Assure with FastTrack 计划可免费提供给合格的开发人员或客户。App Assure 是一个旨在帮助客户,开发人员和独立软件供应商解决应用程序兼容性问题的程序。另外,也只有高通为 Windows 10 推出了专门的骁龙 8cx/7cx 处理器。高通高管表示:“移动计算的未来是配备 4G / 5G 连接的功能强大,轻薄的长续航 PC。我们很高兴看到 App Assure 计划将帮助确保在搭载骁龙的 Windows
发表于 2020-09-25
Arm Neoverse路线图升级,服务器市场再迎曙光
日前,Arm基础设施事业部高级副总裁兼总经理Chris Bergey表示:“在基础设施领域,Neoverse技术已在新的服务器与系统级芯片设计中崭露头角,其中软件与工具的支持也相当丰富且完整。开发者不仅能看到Neoverse带来性能与效率的大幅提升,也能在基础设施部署体验上享受到更多的设计自由度与灵活性。“实际上,Arm一直以来都想在服务器和PC等市场占据一席之地,但这是一个格外漫长的旅程,经过多年的努力才得以实现。在经历了许多质疑和错误的尝试之后,到了2020年,再没有人可以忽视Arm在服务器市场的地位了。Arm不止具有竞争力,而且在多项指标上实际上处于领先地位。Chris Bergey日前细数了Arm近两年所获得的成就
发表于 2020-09-24
<font color='red'>Arm</font> Neoverse路线图升级,服务器市场再迎曙光
谈谈Zynq SoC里ARM NEON SIMD架构扩展集的使用
在所有Zynq All Programmable SoC 的内部, 你都会发现一个双核的ARM Cortex -A9 MPCore处理器,而且Zynq SoC中的这两个处理器中都设有ARM NEON SIMD架构扩展集。那么为什么您需要采用ARM NEON SIMD扩展集呢?那是因为你可以因此大幅提升你的软件性能。你可能看不到您把关键任务转入Zynq SoC可编程逻辑所获得的那么大幅的加速,但是在很多应用中您都会看到某种加速现象。诀窍就在于NEON扩展集的使用!这一特殊决窍的秘诀在于 Project Ne10的NE10开源库。设立Ne10项目的目的是提供一套通用、有效的函数,可以大大优化ARM架构,包括NEON SIMD扩展集
发表于 2020-09-24
谈谈Zynq SoC里<font color='red'>ARM</font> NEON SIMD架构扩展集的使用
将Zynq SoC上的两个ARM Cortex
到目前为止我们摸索使用过的Zynq All Programmable SoC PS(处理器系统)部分的所有设备都是只利用了一个ARM Cortex-A9处理器内核(内核0),然而在Zynq SoC 的PS部分包含有两个处理器内核,对于很多应用程序来说我们想要利用两个处理器内核,这样才能取得最大化的性能。使用两个处理器内核处理不同的任务被称作非对称多处理机制(AMP),而且包含不同的组合方式:在内核0与内核1上运行不同的操作系统在内核0上运行操作系统,在内核1上执行程序代码(或者反过来)在两个处理器内核上执行不同的程序代码有两种多核处理的方法:对称机制和非对称机制。在我们介绍这两种方法的区别前,我们要先清楚什么是多核处理:“多核处理
发表于 2020-09-24
将Zynq SoC上的两个<font color='red'>ARM</font> Cortex
ARM、DSP、FPGA的区别是什么?
ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。DSPDSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号
发表于 2020-09-24
Opencv移植和Zedboard测试
继上次生成了ARM架构的链接库之后,我们要把他们拷贝到装载有文件系统的SD卡中即可,在拷贝时,最好是/usr/lib下实践一:将那些lib拷贝到U盘里面,因为之前跑过demo,里面就是一个简易的linux系统,就暂且用他试试了,正常启动后,挂载U盘,这些在之前都有做过,mount /dev/sda1 /mnt拷贝文件夹 cp -R /mnt/lib /usr/ 结果出现提示空间不足,仔细发现问题,发现这个ramdisk镜像最大只能有8M,而整个lib有10.3M,肯定会提示空间不足了,在看看/usr/lib下有哪些文件发现拷贝了一些lib文件进来。这时就想到了实践二的方法、。疑问:然后还有一个就是书上的一句话,如果你使用
发表于 2020-09-24
Opencv移植和Zedboard测试
何立民专栏 单片机及嵌入式宝典

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

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