综述:[e800专稿] ARM嵌入式简介

ARM(Advanced RISC Machines),既可认为是一个公司的名字,也可认为是对一类微处理器的统称。

ARM是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。

1991 年 ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用 ARM技术知识产权( IP )核的微处理器,即我们通常所说的 ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于 ARM 技术的微处理器应用约占据了 32 位 RISC 微处理器 75 %以上的市场份额, ARM 技术正在逐步渗入到我们生活的各个方面。
ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的

ARM 微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的 ARM 微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用 ARM 公司的授权,因此既使得 ARM 技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。
ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和众多合作伙伴。

根据IEEE(国际电机工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。这主要是从应用上加以定义的,从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。嵌入式系统的核心是嵌入式微处理器。
今天嵌入式系统带来的工业年产值已超过了1万亿美元,1997年来自美国嵌入式系统大会(Embedded System Conference)的报告指出,未来5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。美国汽车大王福特公司的高级经理也曾宣称,“福特出售的‘计算能力’已超过了IBM”,由此可以想见嵌入式计算机工业的规模和广度。1998年11月在美国加州举行的嵌入式系统大会上,基于RTOS的Embedded Internet成为一个技术新热点。在国内,“维纳斯计划”和“女锅计划”一度闹得沸沸扬扬,机顶盒、信息加电这两年更成了IT热点,而实际上这些都是嵌入式系统在特定环境下的一个特定应用。据调查,目前国际上已有两百多种嵌入式操作系统,而各种各样的开发工具、应用于嵌入式开发的仪器设备更是不可胜数。在国内,虽然嵌入式应用、开发很广,但该领域却几乎还是空白,只有三两家公司和极少数人员在从事这方面工作。由此可见,嵌入式系统技术发展的空间真是无比广大。

用ARM处理器做的嵌入式系统更是前途广阔,接下来就简介开发工具、操作系统等研发设计及制造的公司或组织。

一、 开发工具

ARM应用软件的开发工具根据功能的不同,分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等,目前世界上约有四十多家公司提供以上不同类别的产品。

用户选用ARM处理器开发嵌入式系统时,选择合适的开发工具可以加快开发进度,节省开发成本。因此一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库的集成开发环境(IDE)一般来说是必不可少的,至于嵌入式实时操作系统、评估板等其他开发工具则可以根据应用软件规模和开发计划选用。
使用集成开发环境开发基于ARM的应用软件,包括编辑、编译、汇编、链接等工作全部在PC机上即可完成,调试工作则需要配合其他的模块或产品方可完成

(一) ARM SDT

ARM SDT的英文全称是ARM Software Development Kit ,是ARM公司(为方便用户在ARM芯片上进行应用软件开发而推出的一整套集成开发工具。

ARM SDT经过ARM公司逐年的维护和更新,目前的最新版本是2.5.2,但从版本2.5.1开始,ARM公司宣布推出一套新的集成开发工具ARM ADS 1.0,取ARM SDT而代之,今后将不会再看到ARM SDT的新版本。
ARM SDT由于价格适中,同时经过长期的推广和普及,目前拥有最广泛的ARM软件开发用户群体,也被相当多的ARM公司的第三方开发工具合作伙伴集成在自己的产品中,比如美国EPI公司的JEENI仿真器。
ARM SDT(以下关于ARM SDT的描述均是以版本 2.50为对象)可在Windows95、98、NT以及Solaris 2.5/2.6、HP-UX 10上运行,支持最高到ARM9(含ARM9)的所有ARM处理器芯片的开发,包括StrongARM。

ARM SDT包括一套完整的应用软件开发工具:
 

 *armcc ARM的C编译器,具有优化功能,兼容于ANSI C。
 

 *tcc THUMB的C编译器,同样具有优化功能,兼容于ANSI C。
*armasm 支持ARM和THUMB的汇编器。
*armlink ARM连接器,连接一个和多个目标文件,最终生成ELF格式的可执行映像文件。
*armsd ARM和THUMB的符号调试器。
以上工具为命令行开发工具,均被集成在SDT的两个Windows开发工具ADW和APM中,用户无需直接使用命令行工具。
*APM Application Project Manageer,ARM工程管理器,完全图形界面,负责管理源文件,完成编辑、编译、链接并最终生成可执行映像文件等功能。

ADS(ARM Developer Suite),是在1993年由Metrowerks公司开发是ARM处理器下最主要的开发工具。ADS 是全套的实时开发软件工具,包编译器生成的代码密度和执行速度优异。可快速低价地创建ARM 结构应用。ADS包括三种调试器ARMeXtended Debugger, AXD 向下兼容的ARMDebugger for Windows/ARM Debugger forUNIX 和ARM 符号调试器。其中AXD 不仅拥有低版本ARM调试器的所有功能,还新添了图形用户界面,更方便的视窗管理数据显示,格式化和编辑以及全套的命令行界面。该产品还包括RealMonitor™(可以在前台调试的同时断点续存并且在不中断应用的情况下读写内存跟踪调试工具)。
ADS对汇编、C/C++、java支持的均很好,是目前最成熟的ARM开发工具。很多ARM开发软件(例如Keil)也是借用的ADS的编译器。ADS在2006年版本已经发布到2.2。但国内大部分开发者使用的均是1.2版本。

(二) ADS

(三) RealView MDK

RealView MDK开发工具源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。RealView MDK集成了业内最领先的技术,包括µVision3集成开发环境与 RealView编译器。支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%
RealView MDK的突出特性:
菜鸟的阿拉伯飞毯 —— 启动代码生成向导,自动引导,一日千里
启动代码和系统硬件结合紧密,必须用汇编语言编写,因而成为许多工程师难以跨越多门槛。RealView MDK的µVision3工具可以帮您自动生成完善的启动代码,并提供图形化的窗口,随您轻松修改。无论对于初学者还是有经验的开发工程师,都能大大节省时间,提高开发效率。。
高手的无剑胜有剑 —— 软件模拟器,完全脱离硬件的软件开发过程
RealView MDK的设备模拟器可以仿真整个目标硬件,包括快速指令集仿真、外部信号和I/O仿真、中断过程仿真、片内所有外围设备仿真等。开发工程师在无硬件的情况下即可开始软件开发和调试,使软硬件开发同步进行,大大缩短开发周期。而一般的ARM开发工具仅提供指令集模拟器,只能支持ARM内核模拟调试。
专家的哈雷望远镜 —— 性能分析器,看得更远、看得更细、看得更清
RealView MDK的性能分析器好比哈雷望远镜,让您看得更远和更准,它辅助您查看代码覆盖情况,程序运行时间,函数调用次数等高端控制功能,指导您轻松的进行代码优化,成为嵌入式开发高手。通常这些功能只有价值数千美元的昂贵的Trace工具才能提供。
业界最优秀的编译器——RealView 编译器,代码更小,性能更高
RealView MDK的RealView编译器与ADS 1.2比较:
代码密度:比ADS 1.2编译的代码尺寸小10%;
代码性能:比ADS 1.2编译的代码性能高20%。
配备ULINK2仿真器+ Flash编程模块,轻松实现Flash烧写
RealView MDK无需寻求第三方编程软件与硬件支持,通过配套的ULINK2仿真器与Flash编程工具,轻松实现CPU片内FLASH、外扩FLASH烧写,并支持用户自行添加FLASH编程算法;而且能支持FLASH整片删除、扇区删除、编程前自动删除以及编程后自动校验等功能,轻松方便。
绝对的高性价比——国际品质,本土价格
RealView MDK中国版保留了RealView MDK国际版的所有卓越性能,而产品价格和国内普通开发工具的价格差不多 ;另外我们还根据不同需求,专门定制了4个版本,以满足工程师们不同的需要。这绝对是您选择开发工具的首选。
更贴身的服务——专业的本地化的技术支持和服务
RealView MDK中国版用户将享受到专业的本地化的技术支持和服务,包括电话、Email、论坛、中文技术文档等,这将为国内工程师们开发出更有竞争力的产品提供更多的助力

(四) GNU
GNU是“GNU‘s Not Unix”的递归缩写。Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同)。UNIX是一种广泛使用的商业操作系统的名称。由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统部件。GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X Window视窗系统等。不过GNU计划也开发了大批其他的自由软件。
1985年Richard Stallman又创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持。尽管GNU计划大部分时候是由个人自愿无偿贡献,但FSF有时还是会聘请程序员帮助编写。当GNU计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。当中最著名的就是之后被Red Hat兼并的Cygnus Solutions
到了1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs,C语言编译器GCC,以及大部分UNIX系统的程序库和工具。唯一依然没有完成的重要组件就是操作系统的内核(称为HURD)。
1991年Linus Torvalds编写出了与UNIX兼容的Linux操作系统内核并在GPL条款下发布。Linux之后在网上广泛流传,许多程序员参与了开发与修改。1992年Linux与其他GNU软件结合,完全自由的操作系统正式诞生。该操作系统往往被称为“GNU/Linux”或简称Linux。(尽管如此GNU计划自己的内核Hurd依然在开发中,目前已经发布Beta版本。)
许多UNIX系统上也安装了GNU软件,因为GNU软件的质量比之前UNIX的软件还要好。GNU工具还被广泛地移植到Windows和Mac OS上。

(五) ARM REALVIEW DEVELOPER SUITE

RealView Developer Suite工具是ARM公司是推出的新一代ARM集成开发工具。支持所有ARM 系列核,并与众多第三方实时操作系统及工具商合作简化开发流程。开发工具包含以下组件:
· 完全优化的ISO C/C++编译器
· C++ 标准模板库
· 强大的宏编译器
· 支持代码和数据复杂存储器布局的连接器
· 可选 GUI调试器
· 基于命令行的符号调试器(armsd)
· 指令集仿真器
· 生成无格式二进制工具、Intel 32位和Motorola 32位ROM映像代 码的指令集模拟工具
· 库创建工具
· 内容丰富的在线文档

(六) IAR EWARM
Embedded Workbench for ARM 是IAR Systems 公司为ARM 微处理器开发的一个集成开发环境(下面简称IAR EWARM)。比较其他的ARM 开发环境,IAR EWARM 具有入门容易、使用方便和代码紧凑等特点。
IAR Systems 公司目前推出的最新版本是IAR Embedded Workbench for ARM version 4.30。这里提供的是32k 代码限制、但没有时间限制的Kickstart版。
EWARM 中包含一个全软件的模拟程序(simulator)。用户不需要任何硬件支持就可以模拟各种ARM 内核、外部设备甚至中断的软件运行环境。从中可以了解和评估IAR EWARM 的功能和使用方法。
IAR EWARM 的主要特点如下:
1、高度优化的IAR ARM C/C++ Compiler
2、IAR ARM Assembler
3、一个通用的IAR XLINK Linker
4、IAR XAR 和XLIB 建库程序和IAR DLIB C/C++运行库
5、功能强大的编辑器
6、项目管理器
7、命令行实用程序
8、IAR C-SPY 调试器(先进的高级语言调试器

(七) KEIL ARM-MDKARM
Keil uVision调试器可以帮助用户准确地调试ARM器件的片内外围功能(I2C、 CAN、UART、SPI、中断、I/O口、A/D转换器、D/A转换器和PWM模块等功能)。ULINK USB-JTAG转换器将PC机的USB端口与用户的目标硬件相连(通过JTAG或OCD),使用户可在目标硬件上调试代码。通过使用Keil uVision IDE/调试器和ULINK USB-JTAG转换器,用户可以很方便地编辑、下载和在实际的目标硬件上测试嵌入的程序。
支持Philips、Samsung、 Atmel、 Analog Devices、 Sharp、 ST等众多厂商ARM7内核的ARM微控制器。
高效工程管理的uVision3集成开发环境
* Project/Target/Group/File的重叠管理模式,并可逐级设置;
* 高度智能彩色语法显示;
* 支持编辑状态的断点设置,并在仿真状态下有效。
高速ARM指令/外设模拟器
* 高效模拟算法缩短大型软件的模拟时间;
* 软件模拟进程中允许建立外部输入信号;
* 独特的工具窗口,可快速查看寄存器和方便配置外设;
* 支持C调试描述语言,可建立与实际硬件高度吻合的仿真平台;
* 支持简单/条件/逻辑表达式/存储区读写/地址范围等断点。
多种流行编译工具选择
* Keil高效率C编译器;
* ARM公司的ADS/RealView 编译器;
* GNU GCC 编译器;
* 后续厂商的编译器。

(八) MULTI 2000
Multi 2000是美国Green Hills软件公司开发的集成开发环境,支持C/C++/Embedded C++ /Ada 95/Fortran编程语言的开发和调试,可运行于Windows平台和Unix平台,并支持各类设备的远程调试。
Multi 2000支持Green Hills公司的各类编译器以及其它遵循EABI标准的编译器,同时Multi 2000支持众多流行的16位、32位和64位处理器和DSP,如PowerPC、ARM、MIPS、x86、Sparc、TriCore、SH-DSP等,并支持多处理器调试。
Multi 2000包含完成一个软件工程所需要的所有工具,这些工具可以单独使用,也可集成第三方系统工具。

(九) Embest IDE
Embest IDE英文全称是Embest Integrated Development Environment,是深圳市英蓓特信息技术有限公司推出的一套应用于嵌入式软件开发的新一代集成开发环境。
Embest IDE是一个高度集成的图形界面操作环境,包含编辑器、编译器、汇编器、链接器、调试器等工具,其界面同Microsoft Visual Studio类似。 Embest IDE支持ARM、Motorola等多家公司不同系列的处理器,对于ARM系列处理器,目前支持到ARM9系列,包括ARM7、ARM5等低系列芯片。

(十) Hitool for ARM
由Hitool International Inc出品,是一种较新的ARM嵌入式应用软件开发系统,主要包括Hitool ARM Debugger、GNU Compiler(内建)、JTAG cable、评估板以及嵌入式实时操作系统ThreadX等。其中编译器模块可以替换成ARM ADS Compiler或ARM SDT Compiler。
其主要特点如下:
1) 近似MS Visual Studio的调试界面风格,可以在Win98/ME/NT等多种Win32环境下运行;
2) 优秀的工程管理器、源代码和二进制代码编辑器、字符串搜索引擎以及调试目标的自由拖放等功能;
3) 支持汇编、C以及C++源码级调试,不仅可以通过串口和并口进行本地调试,也可以通过TCP/IP进行远端调试;
4) 集成了S-Record、Binary和Disassembly格式的内存上下载工具,Flash编程工具;
5) 支持多种常用的Jtag Cable,具备通过宏和脚本实现的自动化调试功能。

(十一) JEENI仿真器
JEENI仿真器是美国EPI公司生产的专门用于调试ARM7系列的开发工具。它与PC之间通过以太网口或串口连接,与ARM7目标板之间通过JTAG口连接。该仿真器使用独立电源。
JEENI仿真器支持ARM/THUMB指令,支持汇编/高级语言调试。用户应用程序通过JEENI仿真器下载到目标RAM中。通过JEENI仿真器,用户可以观察/修改ARM7的寄存器和存储器的内容,用户可以在所下载的程序上设置断点,用户可以以汇编/高级语言单步执行程序,也可以全速运行程序,用户可以观察高级语言变量的数据结构及内容并对变量的内容在线修改。
JEENI 内部使用了一片带有高速缓存的 ARM 处理器,支持对调试操作的快速响应,比如:单步、读写存储器、读写寄存器和下载应用程序到目标板。JEENI 的这种结构,允许以太网接口在处理器执行JTAG指令的同时访问存储器。这种设计极大的提高了下载速度。
JEENI仿真器能够很好地与SDT2.5工具连接,用户可使用SDT的编译器和调试界面。JEENI 对那些正在使用ARM BlackICE/EmbeddedICE JTAG接口的用户来说是即插即用的替代品。JEENI 可用于ARM SDT 2.11a 或 SDT 2.5,另外大多数第三方的调试器也都支持 JEENI

(十二) ULINK2 仿真器
ULINK2是ARM公司最新推出的配套RealView MDK使用的仿真器,是ULink仿真器的升级版本。ULINK2不仅具有ULINK仿真器的所有功能,还增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能。开发工程师通过结合使用RealView MDK的调试器和ULINK2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG, SWD和 OCDS)、Flash编程…
ULINK2 新特点:
标准Windows USB驱动支持ULINK2即插即用
支持基于 ARM Cortex-M3的串行调试
支持程序运行期间的存储器读写、终端仿真和串行调试输出
支持10-pin 连接线 (也支持20-pin 连接线)
ULINK2主要功能:
USB通讯接口高速下载用户代码
存储区域/寄存器查看
快速单步程序运行
多种程序断点
片内Flash编程

(十三) Multi-ICE
Multi-ICE是ARM公司自己的JTAG在线仿真器,目前的最新版本是2.1版。
Multi-ICE的JTAG链时钟可以设置为5 kHz到10 MHz,实现JTAG操作的一些简单逻辑由FPGA实现,使得并行口的通信量最小,以提高系统的性能。Multi-ICE硬件支持低至1V的电压。Multi-ICE 2.1还可以外部供电,不需要消耗目标系统的电源,这对调试类似手机等便携式、电池供电设备是很重要的。
Multi-ICE 2.x支持该公司的实时调试工具MultiTrace,MultiTrace包含一个处理器,因此可以跟踪触发点前后的轨迹,并且可以在不终止后台任务的同时对前台任务进行调试,在微处理器运行时改变存储器的内容,所有这些特性使延时降到最低。
Multi-ICE 2.x支持ARM7、ARM9、ARM9E、ARM 10和Intel Xscale微结构系列。它通过TAP控制器串联,提供多个ARM处理器以及混合结构芯片的片上调试。它还支持低频或变频设计以及超低压核的调试,并且支持实时调试。
Multi-ICE提供支持Windows NT4.0、Windows95/ 98/2000/Me、HPUX 10.20 和 Solaris V2.6/7.0的驱动程序。
Multi-ICE主要优点:
快速的下载和单步速度。
用户控制的输入/输出位。
可编程的JTAG位传送速率。
开放的接口,允许调试非ARM的核或DSP。
网络连接到多个调试器。
目标板供电,或外接电源

二、 操作系统

(一)μC/OS-II
μC/OS-II 是一种基于优先级的抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息、队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。

(二)VxWorks
VxWorks 是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。Tornado 是WRS 公司推出的一套实时操作系统开发环境,类似Microsoft Visual C,但是提供了更丰富的调试、防真环境和工具。
VxWorks操作系统有以下部件组成:
内核(wind):
多任务调度(采用基于优先级抢占方式,同时支持同优先级任务间的分时间片调度)
任务间的同步
进程间通信机制
中断处理
 定时器和内存管理机制
I/O 系统
VxWorks 提供了一个快速灵活的与 ANSI C 兼容的 I/O 系统,包括 UNIX 标准的Basic I/O(creat(), remove(), open(),close(), read(), write(), and ioctl().),Buffer I/O (fopen(), fclose(), fread(), fwrite(), getc(), putc()) 以及POSIX 标准的异步 I/O。VxWorks 包括以下驱动程序:网络驱动、管道驱动、RAM盘驱动、SCSI驱动、键盘驱动、显示驱动、磁盘驱动、并口驱动等。
VxWorks 提供了一个实用例程的扩展集,包括中断处理、看门狗定时器、消息登录、 内存分配、字符扫描、线缓冲和环缓冲管理、链表管理和 ANSIC标准。
在 Tornado 开发系统中,开发工具是驻留在主机上的。但是也可以根据需要将基于目标机的Shell 和装载卸载模块加入 VxWorks。
嵌入式Vxworks系统的主要应用领域主要有以下几方面:
1.数据网络:如:以太网交换机、路由器、远程接入服务器等
2.远程通讯:如:电信用的专用分组交换机和自动呼叫分配器,蜂窝电话系统等
3.医疗设备:如:放射理疗设备
4.消费电子:如:个人数字助理等
5.交通运输:如:导航系统、高速火车控制系统等
6.工业:如:机器人
7.航空航天:如:卫星跟踪系统
8.多媒体:如:电视会议设备
9.计算机外围设备:如:X终端、I/O 系统等
总之,VxWorks的系统结构是一个相当小的微内核的层次结构。内核仅提供多任务环境、进程间通信和同步功能。这些功能模块足够支持VxWorks在较高层次所提供的丰富的性能的要求。
VxWorks6.0版本新增功能:
风河通用平台VxWorks版(GPP)是所有设备软件应用程序的首要基础平台。此通用平台基于全球应用最广泛的运行时操作系统--VxWorks而构建。最新版本(VxWorks 6.1)中的各运行时组件可向后兼容VxWorks的早期版本。此最新版本包含了增强的内存保护、容错管理,并支持最新的网络和安全协议以及设备与企业间的连通性。
通用平台组合了最为严格和确定性的实时操作系统,其产品完全集成了现有的产品开发解决方案,从而能够满足贵企业的各种苛刻需求。它无缝集成了业界标准的RTOS(VxWorks 6.1)、功能强大的开发套件(Workbench 2.3)、网络和安全协议、用于工程人员快速启动项目的培训以及迅速扩展您开发团队综合技能的各种专业服务。

(三)pSOS
pSOSystem是美国系统集成公司(Integrated Systems, Inc. 简称ISI公司,现已与美国WindRiver系统公司合并)根据几十年从事嵌入式实时系统理论研究与实践活动而设计开发的实时嵌入式操作系统。pSOSystem 集成了一整套嵌入式软件模块、工具和服务。作为嵌入式系统微内核设计的先驱者之一,ISI公司将pSOSystem构造成适于嵌入式应用系统开发、在嵌入式实时领域具有领导地位的实时操作系统。pSOSystem从ISI 公司和许多第三厂家得到大量的支持。
pSOSystem 是一个专门为嵌入式微处理器设计和开发的模块化、高效率的实时操作系统。它提供了基于标准化开放系统的完整的多任务环境,例如:对网络文件系统的支持。
pSOSystem 的设计宗旨是为了实现高效、可靠、易于使用的嵌入式实时软件,以支持用户自己设计的或商品化的硬件系统。
pSOSystem 的每一部分都是完全“自包含”的,这种机制允许开发者根据每个应用的特殊要求对操作系统的功能和内存进行裁剪和配制。pSOSystem 的这种设计,使得开发人员对简单的独立设备及复杂的可容错多处理机系统都可以灵活配置。
pSOSystem提供了一套集成化的交叉开发工具以支持应用系统的开发。该集成环境可在PC机或工作站上运行。这些工具可通过多种连接机制与目标机通讯。

(四)Palm OS
Palm OS是Palm公司开发的专用于PDA上的一种操作系统,这是PDA上的霸主,一度普占据了90%的PDA市场的份额。虽然其并不专门针对于手机设计,但是Palm OS的优秀性和对移动设备的支持同样使其能够成为一个优秀的手机操作系统。其最新的版本为Palm OS 5.2。目前具有手机功能的Palm PDA如Palm公司的Tungsten W。而Handspring公司(目前已被Palm公司收购)的Treo系列则是专门使用Palm OS的手机,如Treo 270以及最新的倍受瞩目的Treo 650
Palm OS是一种32位的嵌入式操作系统,用于掌上电脑。此系统是3Com公司的Palm Computing 部开发的。(Palm Computing目前已经独立成一家公司。) Palm OS与同步软件HotSync结合可以使掌上电脑与PC机上的信息实现同步,把台式机的 功能扩展到了手掌上。 目前,基于Palm OS的掌上电脑主要是3Com的系列产品,如Palm IIIx,Palm V,Palm VII, IBM WorkPad c3用的也是Palm OS。Sony等公司也获得了Palm Computing的许可,将开发 基于Palm OS的掌上电脑。Palm OS与Windows CE间的搏斗正在展开。

(五)QNX
QNX是由一家位于加拿大的 QNX软件系统有限公司开发的实时操作系统。 QNX是一个分布式、嵌入式、可规模扩展的实时操作系统。它遵循POSIX.1 (程序接口)和POSIX.2 (Shell和工具)、部分遵循POSIX.1b(实时扩展)。它最早开发于1980年,到现在已相当成熟。QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。

(六)Windows CE
WindowsCE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。
WindowsCE版本主要有1.0、2.0、3.0、4.0、4.2、5.0 和6.0

(七)Linux
简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
Linux的出现,最早开始于一位名叫Linus Torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix(是由一位名叫Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能,因而开始了Linux雏形的设计。
绝大多数基于Linux内核的的操作系统使用了大量的GNU软件,包括了shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如Emacs。正因为如此,GNU计划的开创者理查德·马修·斯托曼博士提议将Linux操作系统改名为GNU/Linux。但有些人只把操作系统叫做"Linux"。
Linux 的历史是和GNU紧密联系在一起的。
1983年,理察·马修·斯托曼(Richard Stallman)创立了G [3]NU计划(GNU Project)。这个计划有一个目标是为了发展一个完全免费自由的Unix-like操作系统。自1990年代发起这个计划以来,GNU 开始大量的产生或收集各种系统所必备的元件,像是——函式库(libraries)、编译器(compilers)、侦错工具(debuggers)、文字编辑器(text editors)、网页服务器(web server),以及一个Unix的使用者接口(Unixshell)——除了执行核心(kernel)仍然付阙外。1990年,GNU计划开始在马赫微核(Mach microkernel)的架构之上开发系统核心,也就是所谓的GNU Hurd,但是这个基于Mach的设计异常复杂,发展进度则相对缓慢。
从1983年开始的GNU计划致力于开发一个自由并且完整的类Unix操作系统,包括软件开发工具和各种应用程序。到1991年 Linux 内核发布的时候,GNU已经几乎完成了除了系统内核之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下,GNU组件可以运行于Linux内核之上。整个内核是基于GNU通用公共许可,也就是GPL(GNU General Public License,GNU通用公共许可证)的,但是Linux内核并不是GNU 计划的一部分。1994年3月,Linux1.0版正式发布,Marc Ewing成立了 Red Hat 软件公司,成为最著名的Linux分销商之一。

ARM嵌入式的定义和开发工具介绍相关推荐

  1. ARM嵌入式Linux系统设计与开发

    ARM嵌入式Linux系统设计与开发 基本信息 作者: 俞辉    李永    刘凯    王晓虹    丛书名: 高等院校计算机教材系列 出版社:机械工业出版社 ISBN:9787111300045 ...

  2. 第一节:开发工具介绍及环境变量配置(讲师笔记篇)

    01.01_计算机基础知识(计算机概述)(了解) A:什么是计算机?计算机在生活中的应用举例 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代 ...

  3. web标准 浏览器介绍 开发工具介绍 HTML介绍 HTML颜色介绍 规范 HTML结构详解 {前端之前端初识}...

    前端之前端初识 前端初识 本节目录 一 web标准 二 浏览器介绍 三 开发工具介绍 四 HTML介绍 五 HTML颜色介绍 六 规范 七 HTML结构详解 一 web标准 web准备介绍: 1.w3 ...

  4. L1D1:嵌入式Linux C语言开发工具及基础命令

    嵌入式Linux C语言开发工具及基础命令 一.ubuntu环境搭建 请自行准备VMware workstation15安装包 及 ubuntu18.04.iso镜像文件.可参考链接:VMware W ...

  5. Java新手看招 常用开发工具介绍

    Java新手看招 常用开发工具介绍 Java的应用越来越广泛,学习Java的人也越来越多.学过程序设计的人知道,使用Basic进行程序设计,可以使用QBasic.Visual Basic等开发工具:使 ...

  6. java基础-Eclipse开发工具介绍

    java基础-Eclipse开发工具介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 所谓工欲善其事必先利其器,即将身为一名Java开发工程师怎么能没有一款好使的IDE呢?今天就 ...

  7. 前端面试题(重点整理):谈谈你对web标准和W3c的认识、什么是ECMA、什么是html、浏览器和开发工具介绍

    目录 一.对web标准和W3C的认识 1.1 web标准 1.2 W3C的认识 二.什么是ECMA 三.什么是html 四.浏览器和开发工具介绍 4.1 浏览器介绍 4.2 开发工具介绍 一.对web ...

  8. Java网络 1.3 开发工具介绍

    开发工具介绍 概述 开发工具 总结 概述 任何纯本文编辑器都能够编辑 html, 比如记事本, editplus, notepad++. 下面我们来看一些比较有名的专门制作网页的工具. 开发工具 Dr ...

  9. 人工智能点点通-AI开发工具介绍-钱兴会-专题视频课程

    人工智能点点通-AI开发工具介绍-732人已学习 课程介绍         本课程主要介绍人工智能的开发工具,为大家进行人工智能学习打下基础 课程收益     了解常见的人工智能工具及框架 讲师介绍 ...

最新文章

  1. 界面 高炉系统_浅议工业互联网与传统计算机系统的关系
  2. 教你获取WindowsNT的Admin权限的方法
  3. jdk源码分析书籍 pdf_如何阅读源码?
  4. 解决为什么导入了tomcat进入myeclipse却在server中找不到
  5. oracle快速排序法,经典算法系列之快速排序算法
  6. Java中TimeZone(时区)类的简单使用
  7. 《霸王别姬》经典台词
  8. mysql 基础教程 很全
  9. 《JAVA程序设计教程(第7版)英文版》pdf 附下载链接
  10. simotion基本功能手册_深入浅出西门子运动控制器——SIMOTION实用手册(1CD)
  11. Android studio配置Google play服务
  12. win10如何录制内部声音(非麦克风录音)
  13. c语言对称矩形的判定,八年级数学下册 第19章 矩形、菱形与正方形 19.1.2 矩形的判定教案 (新版)华东师大版...
  14. 数据分析:新冠疫情实时数据爬取
  15. 优酷网(Youku.com)架构经验
  16. 表的自然连接(数据结构链表链接)
  17. Linux-tab键应用
  18. UDS之浅谈10服务
  19. 近年现场比赛补题(From 2013 to 2018)[持续更新]
  20. sql镜像备份 转 浪客 博客

热门文章

  1. 在线支付——如何防止订单重复支付?
  2. C/C++获取系统时间戳,精确到毫秒
  3. 装饰工程作业指导书-1
  4. k8s 安装nfs_kubernetes挂载nfs报错 | 运维笔记
  5. 键盘大小写切换时小写shift和大写caps Lock按键问题
  6. (毕业设计资料)基于单片机GPS轨迹定位和里程统计系统
  7. c++第二次作业-定期存款利息计算器
  8. 电商平台促销管理功能解析,数商云S2B2C商城系统开启日化行业数字零售新模式
  9. 奥哲网络张华:蛰伏十五年的低代码平台或成未来主流
  10. 学习日志-《掘金/知乎-低代码》笔记