嵌入式处理器和嵌入式操作系统

嵌入式处理器和嵌入式操作系统
1.2.1 嵌入式微处理器
嵌入式微处理器有许多种流行的处理器核,芯片生产厂家一般都基于这些处理器核生产不同型号的芯片。本节将主要介绍以下几种嵌入式处理器的架构,以及典型芯片制造商生产的芯片型号。
1. arm/strongarm
arm(advanced risc machines)公司是全球领先的16/32位risc微处理器知识产权设计供应商。
arm公司通过转让高性能、低成本、低功耗的risc微处理器、外围和系统芯片设计技术给合作伙伴,使他们能用这些技术来生产各具特色的芯片。
arm已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的risc标准。
arm处理器有三大特点:
小体积、低功耗、低成本而高性能;16/32位双指令集;全球的合作伙伴众多。
2. mips
mips是microprocessor without inter---locked pipeline stages的缩写,是一种处理器内核标准,它是由mips技术公司开发的。
mips技术公司是一家设计制造高性能、高档次的嵌入式32位和64位处理器的厂商,在risc处理器方面占有重要地位。
2000年,mips 公司发布了针对mips 32 4kc的新版本以及未来64位mips 64 20kc处理器内核。
mips技术公司既开发mips处理器结构,又自己生产基于mips的32位/64位芯片。
为了使用户更加方便地应用mips处理器,mips公司推出了一套集成的开发工具,称为mipsidf(integrated dev--elopment framework),特别适用于嵌入式系统的开发。
3. powerpc
powerpc架构的特点是可伸缩性好,方便灵活。powerpc处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备等各个方面。
目前powerpc独立微处理器与嵌入式微处理器的主频从25mhz~700mhz不等,它们的能量消耗、大小、整合程度、价格差异悬殊,主要产品模块有主频350mhz~700mhz powerpc 750cx和750cxe以及主频400mhz的powerpc 440gp等。
嵌入式的powerpc 405(主频最高为266mhz) 和powerpc440 (主频最高为550mhz) 处理器内核可以用于各种集成的系统芯片(soc)设备上,在电信、金融和其它许多行业具有广泛的应用。
4. x86
x86系列处理器是我们最熟悉的了,它起源于intel架构的8080,再发展出286、386、486,直到现在的pentium4、athlon和amd的64位处理器hammer。从嵌入式市场来看,486dx是当时和arm、68k、mips和superh齐名的五大嵌入式处理器之一,8080是第一款主流的处理器。
今天的pentium和当初的8080使用相同的指令集,这有利也有弊,利是可以保持兼容性,至少10年前写的程序在现在的机器上还能运行;弊是限制了cpu性能的提高。
5. 68k/cold fire
motorola 68000(68k) 是出现得比较早的一款嵌入式处理器,68k采用的是cisc结构,与现在的pc指令集保持了二进制兼容。
cisc是个人电脑cpu常用的,intel、amd、via都采用了cisc指令集,只有apple电脑中的power pc使用了risc架构。最初使用cisc指令集是有道理的,因为cisc指令数量少,执行效率更高,而且当时的cpu时钟频率不同,没有牵涉到现在的超标量和超流水线的问题。
risc是精简指令集,每条指令长度都一样,有利于简化译码结构,减少处理器的晶体管数量,这对于嵌入式处理器来说是很重要的。
1994年,motorola又推出了基于risc结构的68k/cold fire系统微处理器。
目前基于该架构的嵌入式微处理器主要有mcf5272,它基于第二代coldfire v2核心,在66mhz下操作速度为63dhrystone 2.1mips,是迄今最高的v2性能。
1.2.2 嵌入式操作系统
下面介绍国外和国内常用的实时操作系统。
1. 国外著名的实时操作系统
国外实时操作系统已经从简单走向成熟,有代表性的产品主要有vxworks,qnx,palm os,windows ce等,占据了机顶盒、pda等的绝大部分市场。
其实,实时操作系统并不是一个新生的事物,从20世纪80年代起,国际上就有一些it组织、公司开始进行商用嵌入式系统和专用操作系统的研发。
(1) vxworks
vxworks操作系统是美国windriver公司于1983年设计开发的一种实时操作系统。vxworks拥有良好的持续发展能力、高性能的内核以及良好的用户开发环境,在实时操作系统领域内占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通信、军事演习、导弹制导、飞机导航等。
在美国的f-16、fa-18战斗机,b-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用了vxworks。它是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。它支持多种处理器,如x86,i960,sun sparc,moto--rola mc68xxx,mips rx000,power pc, arm , strongarm等。大多数的vxw---orksapi是专有的。
(2) qnx
qnx是一个实时的、可扩充的操作系统;它部分遵循posix相关标准,如posix.1b 实时扩展;它提供了一个很小的微内核以及一些可选的配合进程。
其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间中运行。所有其他操作系统服务都实现为协作的用户进程,因此qnx内核非常小巧(qnx4.x大约为12kb),而且运行速度极快。这个灵活的结构可以使用户根据实际的需求,将系统配置成微小的嵌入式操作系统或包括几百个处理器的超级虚拟机操作系统。
posix 表示可移植操作系统接口(portable operating systeminterface,缩写为posix 是为了读音更像unix)
电气和电子工程师协会(ieee)最初开发posix 标准,是为了提高unix 环境下应用程序的可移植性。
然而,posix 并不局限于unix.许多其它的操作系统,例如dec openvms 和windows nt ,都支持posix标准,尤其是ieee std.1003.1-1990(1995 年修订)或posix.1, posix.1 提供了源代码级别的c 语言应用编程接口(api)给操作系统的服务程序,例如读写文件.
posix.1 已经被国际标准化组织(iso)所接受,被命名为iso/iec 9945-1:1990 标准。
posix 现在已经发展成为一个非常庞大的标准族,某些部分正处在开发过程中。posix 与ieee 1003 和2003 家族的标准是可互换的
(3) palm os
3com公司的palm os在掌上电脑和pda市场上占有很大的市场份额。它有开放的操作系统应用程序接口(api),开发商可以根据需要自行开发所需的应用程序。
目前共有3500多个应用程序可以运行在palm pilot上。其中大部分应用程序均为其他厂商和个人所开发,使palm pilot的功能得以不断增多。这些软件包括计算器、各种游戏、电子宠物、地理信息等。在开发环境方面,可以在windows 95/98/nt以及macintosh下安装palm pilot desktop。 palm pilot可以与流行的pc平台上的应用程序(如word,excel等)进行数据交换。
(4) windows ce
microsoft windows ce是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核至少需要200kb的rom。
(5) lynxos
lynx real-time systems的lynxos是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循posix.1a,posix.1b和posix.1c标准。
lynxos支持线程概念,提供256个全局用户线程优先级;提供一些传统的、非实时系统的服务特征,包括基于调用需求的虚拟内存, 一个基于motif的用户图形界面,与工业标准兼容的网络系统以及应用开发工具。
motif是开放软件基金(osf)于1989年推出的一个图形用户界面系统。
由于它融合了多种图形用户界面产品中的优点,因此得到了osf的所有成员及广大第三方厂商的广泛支持。
目前motif已作为软件产品在os/2、unix、sysv、osf/1、vms、macintoshos、ultrix等48中操作系统平台上实现,并可在pc、工作站、小型机和大型机等各种计算机系统上运行。
为了讲清楚motif是什么概念.先讲一下图形用户界面系统的层次结构(详细的知识大家查阅),一般的图形用户界面系统由六个层次构成:桌面管理系统、用户模型、窗口模型、显示模型、操作系统、硬件平台.motif位于用户模型层.它建立在xwindow系统之上,也就是说它以xwindow系统做显示模型的窗口模型。
motif由工具箱(motiftoolkit)、用户界面语言(ui-l)、窗口管理程序(mwm)、风格指南文档(styleguide)等四部分组成:
motiftoolkit是一个具体的xtoolkit产品,它包括xtintrinsics、motif对象元类集合和操纵这个对象元类集合的简便函数等三个部分。
利用motif开发的应用程序通常可分为两个部分:一部分是有关应用程序界面的代码;另一部分是关于应用程序具体功能的代码。一般来说,应用程序中这两个部分是不会相互干扰的。比如说菜单项位置的变动、标图的更换就都不会影响应用程序的功能。基于上述事实,motif引入了用户界面语言来解决用户界面的描述问题。
3.象其他窗口管理程序一样,motif的窗口管理程序提供了一个对屏幕上的窗口进行管理的手段,同时它页强化了用户界面视感的一致性.mwm支持motif风格指南所描述的各种窗口操作及显示窗口时的各种约定。
4.motif的风格指南以文档的形式说明了在motif环境下开发应用程序时应遵守的规范。
(6) 嵌入式linux
随着linux的迅速发展,嵌入式linux现在已经有许多的版本,包括强实时的嵌入式linux(如新墨西哥工学院的rt-linux和堪萨斯大学的kurt-linux)和一般的嵌入式linux 版本(如uclinux和pocket linux等)。
其中,rt-linux通过把通常的linux任务优先级设为最低,而所有的实时任务的优先级都高于它,以达到既兼容通常的linux任务又保证强实时性能的目的。
另一种常用的嵌入式linux是uclinux,它是针对没有mmu的处理器而设计的。它不能使用处理器的虚拟内存管理技术,它对内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。它专为嵌入式系统做了许多小型化的工作。
由于嵌入式系统越来越追求数字化、网络化和智能化,因此原来在某些设备或领域中占主导地位的软件系统越来越难以为继,因为要达到上述要求,整个系统必须是开放的、提供标准的api,并且能够方便地与众多第三方的软硬件沟通。
linux主要特点如下:
linux是开放源码的,不存在黑箱技术,遍布全球的众多linux爱好者又是linux开发的强大技术后盾;
linux的内核小、功能强大、运行稳定、系统健壮、效率高;
linux易于定制裁剪,在价格上极具竞争力;
linux不仅支持x86 cpu,还可以支持其他数十种cpu芯片;
有大量的且不断增加的开发工具,这些工具为嵌入式系统的开发提供了良好的开发环境;
linux沿用了unix的发展方式,遵循国际标准,可以方便地获得众多第三方软硬件厂商的支持;
linux内核的结构在网络方面是非常完整的,它提供了对十兆/百兆/千兆以太网、无线网络、令牌网、光纤网、卫星网等多种联网方式的全面支持。
在图像处理、文件管理及多任务支持等诸多方面,linux的表现也都非常出色,不仅可以充当嵌入式系统的开发平台,本身也是嵌入式系统应用开发的好工具。
(7) uc/os
uc/os是源码公开的实时嵌入式操作系统。
uc/os-ⅱ的主要特点如下:
公开源代码,系统透明,很容易就能把操作系统移植到各个不同的硬件平台上。
可移植性强,uc/os-ⅱ绝大部分源码是用ansi c写的,可移植性 (portable)较强。而与微处理器硬件相关的那部分是用汇编语言写的,已经压到最低限度,使得uc/os-ⅱ 便于移植到其他微处理器上。
可固化,uc/os-ⅱ是为嵌入式应用而设计的,这就意味着,只要开发者有固化(romable) 手段 (c编译、连接、下载和固化) ,uc/os-ⅱ可以嵌入到开发者的产品中成为产品的一部分。
可裁剪,通过条件编译可以只使用uc/os-ⅱ中应用程序需要的那些系统服务程序,以减少产品中的uc/os-ⅱ所需的存储器空间 (ram和rom) 。
占先式,uc/os-ⅱ完全是占先式 (preemptive) 的实时内核,这意味着uc/os-ⅱ总是运行就绪条件下优先级最高的任务。大多数商业内核也是占先式的,uc/os-ⅱ在性能上和它们类似。
实时多任务,uc/os-ⅱ不支持时间片轮转调度法 (round-roblin scheduling) 。 该调度法适用于调度优先级平等的任务。
可确定性,全部uc/os-ⅱ的函数调用与服务的执行时间具有可确定性。
由于uc/os-ii仅是一个实时内核,这就意味着它不像其他实时操作系统那样提供给用户的只是一些api函数接口,有很多工作往往需要用户自己去完成。
把uc/os-ⅱ移植到目标硬件平台上也只是系统设计工作的开始,后面还需要针对实际的应用需求对uc/os-ⅱ进行功能扩展,包括底层的硬件驱动、文件系统、用户图形接口 (gui) 等,从而建立一个实用的rtos。
2. 国内著名的实时操作系统
国内的实时操作系统研究开发有两种类型。
一类是中国自主开发的实时操作系统,如电子科技大学嵌入式实时教研室和科银公司联合研制开发的实时操作系统delta os (道系统) 、凯思公司的hopen os (女娲计划) 、中科院北京软件工程研制中心开发的casspda以及浙江大学自行研制开发的嵌入式操作系统hbos等;
另一类是基于国外操作系统二次开发完成的,这类操作系统大多是专用系统,在此就不对这类系统进行介绍了。
(1) deltaos
deltaos是电子科技大学嵌入式实时教研室和科银公司 (专门从事嵌入式开发) 联合研制开发的全中文的嵌入式操作系统,提供强实时和嵌入式多任务的内核,任务响应时间快速、确定,不随任务负载大小改变,绝大部分的代码由c语言编写,具有很好的移植性。
它适用于内存要求较大、可靠性要求较高的嵌入式系统,主要包括嵌入式实时内核deltacore、嵌入式tcp/ip组件deltanet、嵌入式文件系统deltafile以及嵌入式图形接口deltagui 等。
同时,它还提供了一整套的嵌入式开发套件lamdatool,是国内嵌入式领域内不可多得的一整套嵌入式开发应用解决方案,已成功应用于通信、网络、信息家电等多个应用领域。
(2) hopen os
hopen os是凯思集团自主研制开发的实时操作系统,由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。其核心hopen kernel的规模一般为10kb左右,占用空间小,并具有实时、多任务、多线程的系统特征。
(3) eeos
eeos是中科院计算所组织开发的开放源码的实时操作系统。该实时操作系统重点支持p-java,要求一方面小型化,一方面能重用linux的驱动和其他模块。
中科院计算所将在2-3年内持续加大投资,以期将其扩展成能力强,功能完善,且稳定、可靠的嵌入式操作系统平台。这包含e2实时操作系统、e2工具链及e2仿真开发环境的完整环境。
(4) hbos
hbos系统是浙江大学自主研制开发的全中文实时操作系统。它具有实时、多任务等特征,能提供浏览器、网络通信和图形窗口等服务;可供进行一定的定制或二次开发;能为应用软件开发提供api接口支持;可用于信息家电、智能设备和仪器仪表等领域开发应用。
在hbos系统平台下,已经成功地开发出机顶盒和数据采集等系统。
3. 操作系统选择
表 1-1给出了几种国内流行嵌入式操作系统比较。

HMC713MS8对数检波器/控制器概述
什么是卤素灯_卤素灯的优点与缺点_卤素灯和氙气灯区别
新能源汽车为什么采用中控大屏?
如何安装ubuntu14.04操作系统
光纤快速连接器/冷接子的使用教程
嵌入式处理器和嵌入式操作系统
最后倒计时已开始,重压之下华为的抗美487天
展会邀请 | 虹科诚邀您参加5月17-18日北京机器视觉展
基于光操控的生物传感研究领域取得重要进展
VR社交还没迎来最好的时代 发展的节点尚未到来
中国移动预判2019年市面上大概会有30款左右的5G手机
GGII:6月储能项目中标4.39GW/8.89GWh
赛普拉斯半导体推出了一款高精度高性能的CYONS1001G激光传感器
物联网常用的通信是哪种协议
真我GT5 Pro黑玻1TB版12月29日10点起售
MCU需求量上涨同时MCU产能却没能达到要求最终引爆MCU市场缺货
使用HLS封装的缩放IP来实现视频图像缩放功能
vivoX9、vivoxplay6这两部vivo手机磨砂黑发布确实有点晚
颜卿分享均联智行全球化座舱解决方案演进之路
儒卓力提供全新2.4GHz范围扩展器来帮助电池续命