当前位置:文档之家› 单片机和嵌入式系统概述

单片机和嵌入式系统概述

单片机和嵌入式系统概述
单片机和嵌入式系统概述

单片机和嵌入式系统概述

第一章单片机(和嵌入式系统)概述

1.1 单片机(和嵌入式系统)的发展

1.1.1计算机发展的三个浪潮

1第一个浪潮(1946?1975 ),大型机硬件导向:计算机只能由专家操作,

把处理后的信息交用户使用,信息处理与使用分离。一集中处理时代2第二个浪潮(1976?1993 )台式计算机导向:PC机普及,信息由处理

者个人享有不能互发信息,难以共享。信息处理与使用者结合。一分散处理时代3第三个浪潮(1994??),网络导向:计算机通过网络互连进行全球通信,引入网络就是计算机的新概念。软件可以象数据一样驻留在网络上,软件程序可以实时执行,用户可随时到达存放所需程序的地址,而不受计算机类型和操作系

统的限制。信息收集、处理、分析和存储都商业化。T网络处理时代

1.1.2计算机发展简史

第一代到第四代计算机都是以电子器件的发展更新来划分的,而第五代以后的计算机则是以设计思想的更新来划分。

1 第一代电子管计算机(1946?1958 )

(1)硬件

逻辑器件:电子管和继电器

内存:汞延迟线,静电存储管,53年出现磁芯(统治20年)

外存:磁带机、穿孔纸带机和卡片机,56年IEM生产磁盘机

(2)软件:54年以前几乎没有软件,主要用机器语言--二进制代码指令

后期发展了汇编语言

(3)性能

运算速度:几千次到几万次

平均稳定运行时间:几小时

(4)特点

体积大、功耗大、价格大,速度慢、容量小、可靠性差

(5)典型机器

佃42年美籍保加利亚人,爱荷华州立学院数学系文森特■阿培纳索夫(Vincent Atanasoff)与其助手克里夫德贝利(Clifford Berry)研制成功世界上第一台数字电子计算机ABC。采用300个电子管,用电容器做存储器,穿孔卡片作为辅助存储器,运算速度为1次/s。用于解线性代数方程。1973年美国法院把发明权归属于阿培纳索夫。

由美国宾夕法尼亚大学的工程师埃克特(J.Presper Eckert)和物理学家毛希利(John.W.Mauchly)于1945年12月研制成功,于1946年2月正式公开表演数字式电子计算机ENIAC (Electronic Numerical Integrator And Computer)。佃47年运到马里兰州陆军阿伯丁试炮场的弹道研究实验室正式使用。

用了 1 8 8 0 0只电子管、12 bit字长、内存17 kB, 300次乘法/s,

5000次加法/s,占地165 m2,重量3 0 T,耗电15 0 kW。

1953年4月IEM—701

1954年11月IEM—650

(1) 硬件

逻辑器件:晶体管

内存: 磁芯

外存: 磁盘和磁带机

(2) 软件

汇编语言、高级语言FORTRAN 、COBOL(59年开发,61年完成卜ALGOL

(I960年)的编译系统,管理/监控程序

(3) 性能

运算速度:几万到几十万次/秒 平均稳定运行时间:数十小时

IBM 7090 IBM 7094 4 4 1B

10 8—乙(DJS — 6) 10 9 X —2

3 第三代集成电路计算机(1964?1971 )

10 4(DJS — 2)

1 9 5 8 年

10 3(DJS —l) 2 第二代晶体管计算机(1958?1964) (4)典型机器 1 9 5 9年11月 1 9 6 2年9月

(1)硬件

逻辑器件:中小规模集成电路

内存:磁芯存储器和磁膜存储器

69年IEM 360/85部分采用半导体存储器

70年IEM 3 7 0 / 1 4 5全部采用半导体存储器

外存:磁盘(机)

(2)软件

6 5年出现高级语言BASIC,60年代末发明高级语言PASCAL(67年开发,71年完成),并出现多道、分时操作系统和网络系统软件

(3)性能

运算速度:几十万到几百万次/秒

平均稳定运行时间:几百小时

(4)典型机器

1 9 6 4 年IBM 3 6 0DJ S-200

19 7 1 年IBM 37 07 09(TQ-16)

NOVA(DJ S

-

-100)

PDP-11(DJ S

--180)

1974 DJS-130 4 第四代大规模集成电路计算机(1971??) (1)硬件

逻辑器件:大规模集成电路

内存:大规模集成电路

外存:磁盘、光盘

(2)软件

高级语言FORTH (70 年)、C(72 年)、Ada (79 年)、LOGO 人工

智能语言LISP、Prolog

操作系统、数据库管理系统、Win dows

(3)性能

运算速度:几千万到几亿次/秒

(4)典型机器

19 8 1 年Cyber-205、Cray-1、YH— 1(1亿次/秒)

ILLIAC-IV (美宇航局阿姆斯中心):64个处理机,1.5亿?2亿次/秒

PEPE (美弹道导弹防御局):256个处理机,10亿次/秒

70年代计算机技术开始加速,80年代2?3年就一个档次飞跃,90年代一年一个样,机器的生命周期仅1?1 ? 5年。

Intel 8086/8088 IBM PC/RT

80286 IBM PC/AT

80386

80486

Pentium CPU 含310万个晶体管,速度可达1.12亿次/秒Pentium Pro

CPU 含520万+ 1550万个晶体管

Motorola 68000 —68010 —68020 —68030 —68040 Apple Maci ntosh 5第五代人工智能计算机

这是面向知识处理的新型计算机,其目标是能通过推理做出判断,能听懂自然语言,能识别印刷体和手写体字,能对语言的意义加以理解,能说自然语言,甚至可能在思考问题方面超过人类的个体。但是由于种种原因,日本实施的第五代计算机计划未能成功。

6第六代神经网络计算机

这是一种仿真人大脑结构的新型计算机。目标是可以对图形、图像直接处理, 对非逻辑的复杂问题具有推断和知觉判断的能力,甚至还具有总结经验教训、归纳推理的能力。

95年11月中科院半导体所研制成功数字和模拟混合电路的神经网络计算机“预言神一号; 2000万亿次/秒,可用于图像、文字和语音识别。

1.1.3微处理器与微型计算机发展简况

1.>86系列

⑴ Intel

71 72 74 78 79 82 85 89

4040 —8008 —8080 —8085 —8086 —8088 —80186 —80286 —80386 —80486

93.3

96

97

97

99.2

2000.11

Pentium — Pentium Pro — MMX Pentium — Pentium n — Pentium 川—Pentium 4

—Merced(l ntel+HP)

64bit

⑵ AMD

K5 — K6 — K6-2 — k6-3 — K7(Athlo n)— 2. 其他系列

⑴ Motorola 6800 —68000 —68010 — 68020 —68030 —68040

(Apple Maci ntosh)

—6502 (Apple 机)

⑵ Zilog

Z80 — Z8000 — Z80000

⑶ IBM+Apple+Motorola: Power PC 601 — 602 — 603e — 604 —620

3. 高端处理器:用于工作站、服务器

⑴ DEC(Compaq): Alpha 21064 —21164 — 21264 —21364 —21464

(5

万亿次)

⑵ Sun: SPARC — Ultra SPARC

可扩展性(1000 多个 )

(集成度达1600万T )

⑶ MIPS:R4400 — R8000 — R10000

4bit 8bit 16bit 准 16bit 32bit (用于SGI 图形工作站)

⑷ARM: ARM7系列彳氐功耗

ARM9 系列

ARM9E 系列

ARM10系列

SecurCore SC100

Stro ng ARM

XScale

ARM11系列

微处理器发展的另一个方向是小型化、面向控制,发展成微控制器

1.1.4单片机(微控制器)的发展概况

71 年Intel:4040 叩

74 年Fairchild:准单片机F8(需加一片3851-1k ROM+CTC+PIO 档

75年TI:4位单片机TMS-1000

76 年Intel:MCS-48 系列-8048 (ROM ),8748(EPROM),8035(无ROM)

78 年Motorola:M6801

78 年Zilog:Z8 系列,Super 8

80 年Intel:8 位MCS-51 系列-8051 (ROM ),8751(EPROM),8031(无

ROM)

82 年Intel:16 位MCS-96 系列8096

88年准16位8098 于98年停产

90 年Motorola:68HC05 —68HC11 —68HC12 —68HC16 —683 XX

90年代后,微控制器的发展百花齐放、五彩缤纷,老公司不断推陈出新,I 新的公司鼎故革新,推出了很多各具个性的微控制器。

1.I ntel:

71 72 74 76 80 82 85 88

4040 f 8008 f 8080 —8085 —8048 —8051 —8096 —80196 —8098

—Philips 80C51(l 2C)

—Atmel AT89C51(Flash)

—AVR AT90S XXXX(高速)

—AVR AT91 系列(ARM Core)

—Cygnal C8051F(高速,SoC)

2.TI : MSP430系列(低功耗)

3.SCENIX : SX系列(极高速)

4.Microchip: PIC系列(高性能价格比)

1.1.5 嵌入式系统的发展

1.低中端嵌入式系统应用

面向控制的应用都采用微控制器(单片机)实现,过去都是采用汇编语言

编程,用仿真器调试。没有开发平台,只能通过软硬兼施,从设计硬件电路原理图开始,印制板设计、加工、安装、焊接、编程、调试、测试都要熟悉。既难又繁,容易出错,需要慢慢积累经验才能得心应手。

采用C-51高级语言编程,利用C编译器编译成机器码再下载执行,大大提高了开发效率?

2.中高端嵌入式系统应用

面向数字信号处理、通信、网络应用等复杂的应用,由于涉及到TCP/IP

等协议和用户图形界面(GUI )的复杂性,一般都需要借助于嵌入式操作系统

EOS平台,米用咼级语言C/C++/Java进行开发。

1.2嵌入式系统的技术特征

1.专用计算机系统(非PC机形态):看不到计算机的计算机应用系统

⑴ 以应用为中心,量体裁衣定制。

⑵以计算机技术为基础,硬件与软件紧密结合。

⑶ 适应应用系统对功能、可靠性、成本、体积、功耗严格要求

2.知识集成系统

⑴技术密集、资金密集。

⑵高度分散、不可垄断。

⑶面向应用、不断创新。

1.3嵌入式系统应用

嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括:

1.工业控制

基于嵌入式芯片的工业自动化设备具有很大的发展空间,目前已经有大量的

8、16、32位嵌入式微控制器应用在工业过程控制、数控机床、电力系统、电网安全、电网设备监测、石油化工系统等领域。就传统的工业控制产品而言,低端型往往采用的是8位单片机,但是随着技术的发展,32位、64位的微处理器逐渐成为工业控制设备的核心,在未来几年内必将获得更大的发展。

2.交通管理控制

在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块、GSM模块的移动定位终端已经在各种运输行业获得了成功的使用。目前GPS设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。图1-11即是GPS手持机。

图1-1 GPS手持机

3.信息家电

这将成为嵌入式系统最大的应用领域,冰箱、空调等的网络化、智能化将引领人们的生活步入一个崭新的空间。即使不在家里,也可以通过电话线、网络进行远程控制。在这些设备中,嵌入式系统将大有用武之地。图1-2是信息家电的

一种-- 家庭网络视频电话。

图1-2信息家电:家庭网络视频电话4?家庭智能管理系统

水、电、煤气表的远程自动抄表,安全防火、防盗系统,其中嵌入的专用控制芯片将代替传统的人工检查,并实现更高、更准确和更安全的性能。目前在服务领域中,一些手持设备已经体现出了嵌入式系统的优势。

5. POS网络

公共交通无接触智能卡(CSC-Contactless Smart Card)发行系统、公共电话卡发行系统、自动售货机(如图1-3所示)、各种智能ATM终端将全面走入人们的生活,到时手持一卡就可以行遍天下。

图1-3智能售货机

6.环境监测

环境监测包括水文资料实时监测、防洪体系及水土质量监测、堤坝安全、地震监测网、实时气象信息网、水源和空气污染监测。在很多环境恶劣、地况复杂的地区,嵌入式系统将实现无人监测。

7.机器人

嵌入式芯片的发展将使机器人在微型化、高智能方面优势更加明显,同时会大幅度降低机器人的价格,使其在工业领域和服务领域获得更广泛的应用。

除了以上这些应用领域,嵌入式系统还有其他方面的应用。可以毫不夸张地

说,嵌入式系统已经进入到现代社会人们生活的方方面面,可是说是无处不在”尤其是在控制方面的应用。就远程家电控制而言,除了开发出支持TCP/IP的嵌

入式系统之外,家电产品控制协议也需要制订和统一,这需要家电生产厂家来做。同样的道理,所有基于网络的远程控制器件都需要与嵌入式系统之间实现接口,然后再由嵌入式系统来控制并通过网络实现控制。所以,开发和探讨嵌入式系统有着十分重要的意义。

嵌入式操作系统简介以及发展史

嵌入式操作系统简介以及发展史 导语:嵌入式操作系统离我们生活并不远,甚至我们生活中处处都可见,比如各种路由器,机顶盒,洗衣机,空调,手机等。嵌入式操作系统的定义: 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用操作系统。嵌入式系统的发展:嵌入式操作系统并不是一个新生的事物,从20世纪80年代起,国际上就有了一些IT组织,公司开始进行商用嵌入式系统和专用操作系统的研发,这期间涌现了一些著名的嵌入式操作系统:windows CEVxWorkspSOSQNXPalm OSOS-9LynxOS目前,有很多商用嵌入式操作系统都在努力的为自己争取嵌入式市场的份额。但是,这些专用操作系统均属于商业化产品,价格昂贵,而且,他们的源码不公开,使得各自的嵌入式系统上的应用软件不能互相兼容。这导致了商业嵌入式系统对支持各种设备存在了很大的问题,使软件移植变得相当困难,但是,在这个时候,我们伟大的linux操作系统横空出世, 由于linux自身诸多的优点以及优势,吸引了许多开发商的 目光,使得linux成为了嵌入式操作系统的新宠。嵌入式操 作系统发展的四个阶段:第一阶段:无操作系统的嵌入式算法阶段,以单芯片为核心的可编程控制器的系统,具有监测,

伺服,指示设备相配合的功能。应用在一些专业性极强的工业控制系统,使用古老的汇编语言进行系统的直接控制。第二阶段:以嵌入式CPU为基础,简单操作系统为核心的嵌入式操作系统,CPU种类繁多,通用性差,系统开销小,效率高,一般配备系统仿真器,操作系统有一定的兼容性,软件较为专业,用户界面不够友好,系统主要用来监测系统和应用程序运行。 第三阶段:通用的嵌入式实时操作系统阶段,以嵌入式操作系统为核心的嵌入式系统,能运行于各种微处理器上,兼容性好,内核小,效率高,具有高度的模块化和扩展化,有文件管理和目录管理,设备支持,多任务,网络支持,图形窗口以及用户界面等功能,具有大量的应用程序接口(API),软件非常丰富,代表就是linux。 第四阶段:以Internet为标志的嵌入式操作系统,这是一个正在迅速发展的阶段,现在非常多的嵌入式操作系统已经有了接入Internet的能力。通过一个综合网关。 常见的嵌入式操作系统:uC/OS-Ⅱ:uC/OS-Ⅱ是一个公开源码,结构小巧,实时内核的实时操作系统。是一种基于优先级的可抢占式的硬实时内核,其内核提供任务管理与调度,时间管理,任务同步和通信,内存管理,中断服务等功能。其内核最小可以编译至2KB左右。-RTLinux:RTLinux是一个源代码开放的具有硬实时特性的多任务操作系统,他是通

ARM嵌入式系统开发综述.

视听研究所 主页:论坛: 所有资料均收集于各网站。 若您认为有关资料不适合公开,请联系newvideo@https://www.doczj.com/doc/6d1541232.html, 我们会第一时间删除。 感谢各位网友的无私奉献和支持! 加密时间:2008-2-1 获取更多权威电子书请登录 ARM 嵌入式系统开发综述 ARM 开发工程师入门宝典 获取更多权威电子书请登录 前言 嵌入式系统通常是以具体应用为中心,以处理器为核心且面向实际应用的软硬件系统,其硬件是整个嵌入式系统运行的基础和平台,提供了软件运行所需的物理平台和通信接口;而嵌入式系统的软件一般包括操作系统和应用软件,它们是整个

系统的控制核心,提供人机交互的信息等。所以,嵌入式系统的开发通常包括硬件和软件两部分的开发,硬件部分主要包括选择合适的MCU 或者SOC 器件、存储器类型、通讯接口及I/O、电源及其他的辅助设备等;软件部分主要涉及OS porting和应用程序的开发等,与此同时,软件中断调试和实时调试、代码的优化、可移植性/可重用以及软件固化等也是嵌入式软件开发的关键。 嵌入式系统开发的每一个环节都可以独立地展开进行详细的阐述,而本文的出发点主要是为嵌入式开发的初学者者提供一个流程参考。因为对于初学者在面对一个嵌入式开发项目的时候,往往面临着诸多困难,如选择什么样的开发平台?什么样的器件类型?在进行编译时怎样实现代码优化?开发工具该如何选择和使用?在进行程序调试时应该注意那些问题以及选择什么样的嵌入式OS 等等。希望通过本文,能帮助初学者了解有关ARM 嵌入式系统开发流程。 获取更多权威电子书请登录 目录 前言 (2) 1 嵌入式开发平台 (4) 1.1 ARM的开发平台: (4) 1.2 器件选型 (7) 2 工具选择 (11) 3 编译和连接 (13) 3.1 RVCT的优化级别与优化方向 (16) 3.2 Multifile compilation (21) 3.3调试 (22)

嵌入式操作系统的种类与特点

1.3.1 嵌入式操作系统的种类、特点与发展 1.嵌入式操作系统的种类 一般情况下,嵌入式操作系统可以分为两类: 非实时操作系统:面向消费电子产品等领域,这类产品包括个人数字助理(PDA)、移动电话、机顶盒、电子书等。 实时操作系统RTOS(Real-Time Embedded Operating System):面向控制、通信等领域,如windriver公司的vxworks、isi的psos、qnx系统软件公司的qnx等。 (1)非实时操作系统 早期的嵌入式系统中没有操作系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备。在这种情况下,通常把嵌入式程序分成两部分,即前台程序和后台程序。前台程序通过中断来处理事件,其结构一般为无限循环;后台程序则掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。这就是通常所说的前后台系统。一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。对于实时性要求特别严格的操作通常由中断来完成,仅在中断服务程序中标记事件的发生,不再做任何工作就退出中断,经过后台程序的调度,转由前台程序完成事件的处理,这样就不会造成在中断服务程序中处理费时的事件而影响后续和其它中断。 实际上,前后台系统的实时性比预计的要差。这是因为前后台系统认为所有的任务具有相同的优先级别,即是平等的,而且任务的执行又是通过FIFO队列排队,因而对那些实时性要求高的任务不可能立刻得到处理。另外,由于前台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其它任务得不到机会被处理,从而造成整个系统的崩溃。由于这类系统结构简单,几乎不需要RAM/ROM的额外开销,因而在简单的嵌入式应用被广泛使用。 (2)实时操作系统 所谓实时性,就是在确定的时间范围内响应某个事件的特性。而实时系统是指能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。“在确定的时间内”是该定义的核心。也就是说,实时系统是对响应时间有严格要求的。 实时系统对逻辑和时序的要求非常严格,如果逻辑和时序出现偏差将会引起严重后果。实时系统有两种类型:软实时系统和硬实时系统。软实时系统仅要求事件响应是实时的,并不要求限定某一任务必须在多长时间内完成;而在硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理。通常,大多数实时系统是两者的结合。实时应用软件的设计一般比非实时应用软件的设计困难。实时系统的技术关键是如何保证系统的实时性。实时操作系统可分为可抢占型和不可抢占型两类。 嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。 从某种意义上说,没有操作系统的计算机(裸机)是没有用的。在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。 操作系统的实时性在某些领域是至关重要的,比如工业控制、航空航天等领域。想像飞机正在空中飞行,如果嵌入式系统不能及时响应飞行员的控制指令,那么极有可能导致空难事故。有些嵌入式系统应用并不需要绝对的实时性,比如PDA播放音乐,个别音频数据丢失并不影响效果。这可以使用软实时的概念来衡量。

嵌入式系统概论讲解

第一章嵌入式系统概论 参考习题 1、嵌入式系统本质上是什么系统? 答:从本质上讲,嵌入式系统中的计算机总是处于一种实时计算模式,也可以认为嵌入式计算机应具有某种实时性。也就是说,从嵌入式系统的广义概念考虑,嵌入式系统都可以看成是实时系统。 2、嵌入式系统开发与PC机软件开发的区别是什么? 答:嵌入式开发就是设计特定功能的计算机系统,形象的说就是开发一种嵌入在一个机器上实现特定功能的一个系统。PC的开发往往是上层应用程序,会更多的和业务流程,数据库,UI打交道。嵌入式的开发主要是和底层打交道,例如内存,NAND, 各种控制器,中断调度等等。当然现在也有很多需要在嵌入式设备上开发上层应用程序的需求了。 3、嵌入式系统基本概念? 答:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可配置,对功能、可靠性、成本、体积、功耗有严格约束的专用系统。这类系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统(可选择)以及应用程序等四个部分组成的。 4、嵌入式系统分类?

答:(1)按微处理器位数划分 按所采用的处理器位数,可以分为4位、8位、16位、32位和64位系统。 (2)按应用类别划分 可以简单地划分为信息家电、通信、汽车电子、航空航天、移动设备、军用电子、工业控制、环境监控等各种类型。 (3)按系统的实时性划分 硬实时系统、软实时系统和自适应实时。 (4)按工业界应用的复杂程度划分 简单单处理器系统 可扩展单处理器系统 复杂嵌入式系统 制造或过程控制中使用的计算机系统 第二章ARM嵌入式微处理器技术基础 参考习题 1、ARM32位指令、16位指令的特点。 答:ARM微处理器支持32位的ARM指令集和16位Thumb指令集,每种指令集各有自己的优点和缺点:ARM指令集效率高,但代码密度低;Thumb指令集具有较高的代码密度,却仍保持ARM的大多数性能上的优势,可看做ARM指令集的子集。

嵌入式系统开发方法综述

嵌入式系统开发方法综述 刘丹 (机械工业仪器仪表综合技术经济研究所,北京市 100055)Liu Dan (Instrumentation Technology & Economy Institute, Beijing 100055) Development Methods of Embedded System Abstract: Embedded systems have particular properties, such as real-time, concurrency, distribution, high reliability,and etc., which lead to large challenges and urgent requirements for corresponding methods and tools when developing such systems. From the view of engineering practice, the paper summarizes what problems developers will face during embedded system design, and what main methods and technologies will be used for resolving such problems. These methods and technologies are called embedded system developing methods. Key words: Embedded System HW-SW Co-Design Method Formal Modeling Method Structural Design Method Object-Oriented Design Method 【摘 要】嵌入式系统的实时性、并发性、分布性和高可靠性等特点使得系统的开发面临巨大挑战,迫切需 要相应开发方法的指导和开发工具的支持。本文从工程实践角度出发,总结在嵌入式系统设计过程中,开发人员会面临哪些主要问题,以及为解决问题而产生哪些主要方法和技术。这些方法和技术被统称为嵌入式系统的开发方法。 【关键词】嵌入式系统 软硬件协同设计方法 形式化建模方法 结构化设计方法 面向对象设计方法 收稿日期:2008-08-01作者简介:刘丹(1977-),女,博士,毕业于中科院沈阳自动化研究所,现就职于机械工业仪器仪表综合技术经济研究所,主要从事工业自动化、控制网络的技术和标准化研究,现负责PROFIBUS PA产品的认证测试工作。 引言 嵌入式系统是指以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用环境对功能、实时性、可靠性、成本、体积、功耗等严格约束的专用计算机系统。嵌入式系统的内容广泛,小到一个芯片,大到复杂的分布式系统都可以称为嵌入式系统,通常以SoC、单片机、单板机、多板式箱式结构、嵌入式PC等形式嵌入到信息家电、数字通信、工业控制、航空航天、医疗设施、军事电子等领域的设备或系统中,作为处理和控制的核心。 嵌入式系统的实时性、并发性、分布性和高可靠性等特点使得系统的开发面临巨大挑战,迫切需要相应的开发方法的指导和开发工具的支持。嵌入式系统开发方法的研究内容包括设计方法论、工程开发技术、以及相应辅助工具的开发。现代的系统开发是一个基于模型(model-based)的,从规约到实现的过程。模型是反映真实世界和系统实现两方面的抽象,帮助开发人员把握应用的最重要特性,是系统分析与验证的 基础,并为软件和硬件的实现要素提供表示视图。因此,系统模型设计在整个开发过程中最为重要。此外,任何工程开发技术都是在一定设计方法基础上提出一系列开发步骤,辅助工具则为这些设计方法和开发技术提供自动或半自动的工具支持。因此,设计方法决定了系统开发过程中的其它分析、验证、实现等方法,或者广义上说,系统的设计方法就是系统的开发方法。 本文从工程实践角度出发,总结在嵌入式系统设计过程中,开发人员会面临哪些主要问题,以及为解决问题而产生哪些主要方法和技术。这些方法和技术被统称为嵌入式系统的开发方法。 1 软硬件“分离”设计方法与软硬件协同设计方法 首先,用户或产品开发决策者要根据对产品性能、体积、开发成本以及上市时间等设计指标的评估,决定系统最终是以电路板式,还是以芯片式的形式实现。一般而言,对性能和体积要求不高,产品数量小,如1~几百个,但要求上市时间早的嵌入式系统,多采用电路板式实现;反之,系统体积小,产品数量大,但对上市时间要求比较松的嵌入式系统,多采用SoC芯片式实现。相应地,对于设计者而言,不同的实现形式一般应用不同的设计方法,包括软硬件“分离”设计和软硬件协同设计。 Review and Research

(完整版)嵌入式系统课后答案马维华

第1章嵌入式系统概述 1,什么是嵌入式系统嵌入式系统的特点是什么 嵌入式系统概念: (1) IEEE对嵌入式系统的定义:用于控制,监视或者辅助操作机器和设备的装置. (2)一般定义:以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统. 嵌入式系统的特点: (1) 专用的计算机系统 (2) 必须满足环境要求 (3) 必须能满足对象系统的控制要求 (4) 是集成计算机技术与各行业应用的集成系统 (5) 具有较长的生命周期 (6) 软件固化在非易失性存储器中 (7) 必须能满足实时性要求 (8) 需要专用开发环境和开发工具 2,简单分析几种嵌入式操作系统的主要特点,包括嵌入式Linux,Windows CE,uCOS II 及VxWorks. (1)嵌入式Linux:有多个主流版本,根据应用需求,性能略有差别.μCLinux是Linux小型化后,适合于没有MMU的微处理器芯片而裁剪成的操作系统,μCLinux保持了传统Linux操作系统的主要特性,包括稳定,强大的网络和文件系统的支持,μCLinux裁剪了大量的Linux内核以缩小尺寸,适合像512KB RAM,1MB Flash这样小容量,低成本的嵌入式系统.RT_Linux即能兼容通常的Linux,又能保证强实时性. (2)Windows CE:开发平台主要为WinCE Platform Builder,有时也用EVC环境开发一些较上层的应用.WinCE开发难度远低于嵌入式Linux,实时性略低,常用于手机,PDA等手持设备中. (3)uCOS II:结构小巧,抢先式的实时嵌入式操作系统,具有执行效率高,占用空间小,可移植性强,实时性能好和可扩展性能等优点.主要用于小型嵌入式系统. (4) VxWorks: 集成开发环境为Tornado,Vxworks因出现稍早,实时性很强,并且内核可极微(最小8K),可靠性较高等.通常应用在通信设备等实时性要求较高的系统中. 第2章嵌入式处理器体系结构 1,具体说明ARM7TDMI的含义,其中的T,D,M,I分别代表什么 ARM7TDMI是ARM7处理器系列成员之一,采用V4T版本指令.T表示Thumb,该内核可从16位指令集切换到32位ARM指令集;D表示Debug,该内核中放置了用于调试的结构,支持片内Debug调试;M表示Multiplier,支持位乘法;I表示Embedded ICE ,内含嵌入式ICE宏单元,支持片上断点和观察点. 2,ARMV4及以上版本的CPSR的哪一位反映了处理器的状态若CPSR=0x000000090,分析系统状态.CPSR=0x000000090表示当前处理器工作于ARM状态,系统处于用户模式下. CPSR的BIT5(T)反映当前处理器工作于ARM状态或Thumb状态. 3,ARM有哪几个异常类型,为什么FIQ的服务程序地址要位于0x1C 在复位后,ARM处理器处于何种模式,何种状态 ARM的7种异常类型:复位RESET异常,未定义的指令UND异常,软件中断SWI异常,指令预取中止PABT异常,数据访问中止DABT异常,外部中断请求IRQ异常,快速中断请求FIQ 异常.在有快速中断发生时,CPU从0x1C处取出指令执行.ARM复位后处于管理模式,工作于ARM状态. 4,为什么要使用Thumb模式,与ARM代码相比较,Thumb代码的两大优势是什么

适合STM32的嵌入式操作系统

一下是网络收集的几种适合stm32的嵌入式操作系统,打算最近都移植一下,先做个记录。 基于STM平台且满足实时控制要求操作系统,有以下4种可供移植选择。分别为μClinux、μC/OS-II、eCos、FreeRTOS和都江堰操作系统(djyos)。下面分别介绍这四种嵌入式操作系统的特点及不足。 1、μClinux μClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。同标准的Linux相比,μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP/IP网络协议等。因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。 μClinux在结构上继承了标准Linux的多任务实现方式,分为实时进程和普通进程,分别采用先来先服务和时间片轮转调度,仅针对中低档嵌入式CPU 特点进行改良,且不支持内核抢占,实时性一般。 在内存管理上由于μClinux是针对没有MMU的处理器设计的,不能使用处理器的虚拟内存管理技术,只能采用实存储器管理策略。系统使用分页内存分配方式,在启动时对实际存储器进行分页。系统对内存的访问是直接的,操作系统对内存空间没有保护,多个进程可共享一个运行空间,所以,即使是一个无特权进程调用一个无效指针也会触发一个地址错误,并有可能引起程序崩溃甚至系统崩溃。 μClinux操作系统的中断管理是将中断处理分为两部分:顶半处理和底半处理。在顶半处理中,必须关中断运行,且仅进行必要的、非常少、速度快的处理,其他处理交给底半处理;底半处理执行那些复杂、耗时的处理,而且接受中断。因为系统中存在有许多中断的底半处理,所以会引起系统中断处理的延时。 μClinux对文件系统支持良好,由于μClinux继承了Linux完善的文件系统性能,它支持ROMFS、NFS、ext2、MS-DOS、JFFS等文件系统。但一般采用ROMFS 文件系统,这种文件系统相对于一般的文件系统(如ext2)占用更少的空间。但是ROMFS文件系统不支持动态擦写保存,对于系统需要动态保存的数据须采用虚拟RAM盘/JFFS的方法进行处理。

归纳嵌入式系统概论习题

第一题单项选择题 1、ADDS R0,R1,R2执行完成后,不会对CPSR中的哪一位产生影响( B)? A、N B、C C、V D、F 2、FD表示( B )。 A、满递增堆栈 B、满递减堆栈 C、空递增堆栈 D、空递减堆栈 3、已知R0=0xFFFFFC0F,则执行MVN R1,R0后,R1的值为(C )。 A、0xFFFFFFFF B、0xFFFFFFF0 C、0x3F0 D、0x3F 4、在Linux中使用ls命令显示当前目录的所有内容应使用(A)参数? A、-l B、-a C、-d D、-i 5、在EMBEST IDE开发环境中,程序的默认入口地址为( C )。 A、0x C000 B、0x 1C00 C、0x 8000 D、0x 0 6、已知R0=0x1000,R1=0x2000则执行CMP R0,R1后,R0的值为(B) A、0x2000 B、0x1000 C、0xFFFFF000 D、0xFFFFEFFF 7、已知R1=0x2F,则执行mov R0,R1,ASL #2后,R0的值为(D )。 A、0xBC B、0xBF C、0x2F0 D、0x2F 8、在Linux中查看文件前10行内容的命令是( D)。 A、less B、cat C、tail D、head 9、已知R0=0xFC,则执行BIC R0,#0x3C后,R0的值为( D )。 A、0x18 B、0x24 C、0xC0 D、0x30 10、已知R0*R1=0x1C2F3E4D5C6B,则执行SMULL R2,R3,R0,R1后,R2和R3的值分别为(D)。 A、R2=0x1C2F3E4D R3=0x5C6B B、R2=0x5C6B R3=0x1C2F3E4D C、R2=0x1C2F R3=0x3E4D5C6B D、R2=0x3E4D5C6B R3=0x1C2F 11、EMPU是( B )。 A、嵌入式微控制器 B、嵌入式微处理器 C、片上系统 D、嵌入式数字信号处理器 12、以下不属于CPSR的条件码标志位的是(A)。 A、F B、N C、Z D、C 13、S3C44B0X的内核工作电压是( B )。 A、3.0V B、2.5V C、3.5V D、 1.5V 14、Linux中删除目录的命令是(B)。 A、rm B、 rmdir C、mkdir D、del 15、能实现ARM处理器在两种工作状态之间进行切换的命令是( D )。 A、B B、 BL C、 BLX D、BX 16、若CPSR寄存器的低5位(4-0)的值为10010,则ARM处理器工作于(B) 模式。 A、FIQ B、IRQ C、USER D、SVC

嵌入式系统

第一章绪论 1.嵌入式系统的定义、特点和分类 2.嵌入式操作系统 3.嵌入式系统的选型 4.嵌入式系统的发展趋势 5.嵌入式系统的关键技术 6.嵌入式系统的应用 思考与练习 1.什么是嵌入式系统?嵌入式系统的特点是什么? 2.请说出嵌入式系统与其它商用计算机系统的区别。 3.嵌入式系统的关键技术有哪些? 4.请说明嵌入式系统技术发展及开发应用的趋势。 5.你知道嵌入式系统在我们日常生活中哪些设备中应用?说明其采用的处理器是什么?采用的哪一个嵌入式操作系统? 6.开发嵌入式系统的计算机语言主要有哪几种?分别用在什么场合?7. 嵌入式系统和专用集成电路的关系是什么? 第二章嵌入式系统设计方法 1. 需求分析与系统分析法 2.软硬件协同设计方法 3.嵌入式硬件开发方法 4.嵌入式软件开发方法 5.构件式开发方法 6.软件调试与软件测试方法 思考与练习 1.请说出嵌入式系统设计的主要方法及设计流程。在嵌入式系统开发的总体设计中,需要进行哪几方面的工作? 2.嵌入式硬件调试的主要方法及技术手段有哪些? 3.什么是构件式开发方法?说明该方法对嵌入式系统开发具有什么意义,并举例说明。4.需求分析阶段分为哪几个步骤?每个步骤完成什么工作? 5.在进行系统设计时,概要设计和详细设计的工作内容有什么不同? 6.在嵌入式系统实现阶段,需要选择开发平台,通常开发平台的选择包括哪些内容?7.在当今IT 时代,为了使产品尽快进入市场,就产品开发阶段,你认为有哪些方法可以加快产品的开发速度? 8.什么是“黑盒”测试?什么是“白盒”测试?什么是“灰盒”测试? 9.嵌入式系统开发中,使用软件组件技术有什么好处? 10.什么是知识产权核(Intellectual Property Core,简称IP Core)?指出“软知识产权核(Soft IP Core)”、“硬知识产权核(Hard IP Core)”、“固知识产权核(Firm IP Core)”的意义和差别。 11.根据嵌入式软件开发的不同阶段,嵌入式开发工具有哪些种类? 12.从底层硬件到上层应用,嵌入式软件的开发可以分为哪几种? 13.什么是交叉开发环境? 14.什么是OCD 调试方法?指出OCD 的主要形式JTAG 和BDM 的特点和区别? 15.嵌入式软件的调试运行环境和固化运行环境主要区别是什么?

嵌入式系统的发展概况及其发展前景

嵌入式系统的发展概况及其发展前景 随着信息技术的高速发展,电子产品越来越普及,这些产品的发展得益于嵌入式系 统技术的快速发展,如Mp3 、手机等日常用品就是嵌入式系统技术的应用。但嵌入式系统技术的应用还远不止此,在工业控制、交通管理、信息家电、家庭智能管理、网络及电子商务、航天航空、军事设备、船舶等领域都有着重要的应用。嵌入式系统技术正悄然地影响着我们的生活,给我们带来了巨大的便利。它在我们的生产、生活中有着广泛的应用,并且有着良好的发展前景。一、嵌入式系统发展历程 嵌入式系统的发展大致经历了4 个阶段: 第一阶段:单片微型计算机(SCM )阶段,即单片机时代。这一阶段的嵌入式系统硬件是单片机,软件停留在无操作系统阶段,采用汇编语言实现系统的功能。这阶段的主要特点是:系统结构和功能相对单一、处理效率低、存储容量也十分有限,几乎没有用户接口。 第二阶段:微控制器(MUC )阶段。主要的技术发展方向是:不断扩展对象系统要求的各种外围电路和接口电路,突显其对象的智能化控制能力。这一阶段主要以嵌入式微处理器为基础、以简单操作系统为核心,主要特点是硬件使用嵌入式微处理器,微处理器的种类繁多,通用性比较弱;系统开销小,效率高。 第三阶段:片上系统(SOC)。主要特点是:嵌入式系统能够运行于各种不 同类型的微处理器上,兼容性好,操作系统的内核小,效果好。 第四阶段:以Internet 为标志的嵌入式系统。嵌入式网络化主要表现在两个方面, 一方面是嵌入式处理器集成了网络接口,另一方面是嵌入式设备应用于网络环境中、嵌入式系统的含义 目前,嵌入式系统还没有比较权威、比较统一的定义,人们从不同的角度来理解嵌入式系统,描述嵌入式系统。

嵌入式软件开发流程

嵌入式软件开发流程 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。 图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS 的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。 图1.2 嵌入式开发不同阶段的常用软件 嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。 1.交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。

嵌入式系统的发展过程与现状

嵌入式系统的发展过程与现状 在信息技术和网络技术高速发展的后PC时代,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术等众多领域。随着各种嵌入式产品的开发和推广,嵌入式技术和人们的生活将会越来越密切。在PC时代,可能有人从来没有接触过计算机。但是在后PC 时代,他就不可能不接触嵌入式系统。因为嵌入式系统存在于生活的方方面面,从洗衣机、电冰箱等到家用电器,到自行车、汽车等交通工具,以及办公室里的几乎每一个电气设备,其中可能都有嵌入式系统,或者都属于嵌入式技术开发和改造的对象。 我们所说的嵌入式系统由于使用的范围很广,因此并没有一个比较统一的定义。一般我们可以认为嵌入式系统一般指非PC系统,它包括硬件各软件两部分。硬件包括处理器(或微处理器)、存储器、外设器件、I/O端口和图形控制器等。软件部分包括操作系统和应用程序编程。因此我主要从芯片,外围器件,软件和开发系统的发展来阐述嵌入式系统的发展过程与现状。 首先,就嵌入式系统的芯片(嵌入式处理器)而言,我们知道嵌入式系统的出现最初是基于单片机发展起来的。因此可以说嵌入式系统的芯片的发展是伴随着微处理器的发展成长起来的,最早的单片机是Intel公司的8048,它出现在1976年。Motorola同时推出了68HC05,Zilog公司推出了Z80系列,这些早期的单片机均含有256字节的RAM、4K的ROM、4 个8位并口、1个全双工串行口、两个16位定时器。之后在80年代初,Intel又进一步完善了

8048,在它的基础上研制成功了8051,这在单片机的历史上是值得纪念的一页,迄今为止,51系列的单片机仍然是最为成功的单片机芯片,在各种产品中有着非常广泛的应用。同样嵌入式系统的芯片也是经过了由低到高的发展过程。如最初ARM系列的ARM1,其地址空间是26位,仅支持26们寻址空间。不支持乘法或协处理器指令。而在实际应用当中工控的要求往往较高,需要各种各样的设备接口,除了进行实时控制,还须将设备状态,传感器的信息等在显示屏上实时显示。这些要求8位的处理器是无法满足的,以前多数使用16位的处理器,随着处理器快速的发展,目前32位、64位的处理器逐渐替代了16位处理器,进一步提升了系统性能。而这也正成为一种市场的潮流。 其次在芯片飞速发展的同时,其外设也得到了长足的发展。外部设备指嵌入式目标系统与真实环境交互的各种设备,包括通用串行总线、存储设备、鼠标、键盘。液晶显示、红外线数据传输和打印设备等。因为现代加工技术发展,过去那种设定程序后就让其固定地按程序运行的方式已经不能满足人们对现代产品加工的要求了,人们迫切的希望嵌入式系统具有人机交互的功能。例如我们传统的电视、电冰箱其中也嵌有处理器,但是这些处理器过去只是在控制方面应用。而现在只有按钮、开关的电器显然已经不能满足人们的日常需求,具有用户界面,能远程控制,智能管理的电器是未来的发展趋势。我想这也是嵌入式系统外设发展的一个原因。 最后作为一个系统,往往是在硬件和软件交替发展的双螺旋的

嵌入式软件开发流程

嵌入式软件开发流程

————————————————————————————————作者:————————————————————————————————日期:

嵌入式软件开发流程 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。 图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS 的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。 图1.2 嵌入式开发不同阶段的常用软件 嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。 1.交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。

嵌入式linux系统开发概述

嵌入式linux系统开发概述 作者:谷丰,[email=您可以通 过%3Ca%20href=]gufeng77@https://www.doczj.com/doc/6d1541232.html,[/email]" target="_blank">您可以通过 gufeng77@https://www.doczj.com/doc/6d1541232.html,和他联系 基于linux的嵌入式系统开发是一个很大的课题,涵盖了从硬件到软件设计的多个领域,由于linux的开源特性,导致开发中可以使用的软件和工具多不胜数,从最底层与系统硬件直接打交道的引导装载程序(bootloader),到linux操作系统的分发版(distribution),再到上层的图形用户界面(GUI)乃至应用程序(application),可供选择的软件实在是太多了,这对开发者来说是一种恩赐。但由于标准的不统一,对于刚刚步入这个领域的初学者来说,很难在短时间内全部了解和掌握它们。本文论述了嵌入式linux开发的基本模式和概念,给出了一些常用的软件和工具,旨在带领他们更快的走入这个奇妙的世界。 1 引导装载程序(bootloader) 引导装载程序通常是在任何硬件上执行的第一段代码,它的主要任务视装载设备的不同而不同。在台式机和笔记本这样的常规系统中,经常存在多个操作系统并存的情况,因此bootloader的主要作用就是选择系统使用何种操作系统来引导。常用的引导程序有LILO或GRUB,通常将它们装入硬盘的主引导记录(Master Boot Record)中,或者装入linux 驻留的磁盘的第一个扇区。 在嵌入式系统中,情况有些不同。首先,嵌入式设备通常需要经常地移 动,考虑到在移动过程中的震动,一般不会采用机械式结构设计的硬盘为存 储设备;而且从成本控制上说,硬盘的价格比较高,除非是需要大容量存储 的场合,硬盘不适合作为嵌入式设备的存储介质。目前采用得比较多的是闪 存设备,闪存设备是与存储设备功能类似的特殊芯片,而且它

嵌入式系统的发展概况及其发展前景

嵌入式系统的发展概况 及其发展前景 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

嵌入式系统的发展概况及其发展前景 随着信息技术的高速发展,电子产品越来越普及,这些产品的发展得益于嵌入式系统技术的快速发展,如Mp3、手机等日常用品就是嵌入式系统技术的应用。但嵌入式系统技术的应用还远不止此,在工业控制、交通管理、信息家电、家庭智能管理、网络及电子商务、航天航空、军事设备、船舶等领域都有着重要的应用。嵌入式系统技术正悄然地影响着我们的生活,给我们带来了巨大的便利。它在我们的生产、生活中有着广泛的应用,并且有着良好的发展前景。 一、嵌入式系统发展历程 嵌入式系统的发展大致经历了4个阶段: 第一阶段:单片微型计算机(SCM)阶段,即单片机时代。这一阶段的嵌入式系统硬件是单片机,软件停留在无操作系统阶段,采用汇编语言实现系统的功能。这阶段的主要特点是:系统结构和功能相对单一、处理效率低、存储容量也十分有限,几乎没有用户接口。 第二阶段:微控制器(MUC)阶段。主要的技术发展方向是:不断扩展对象系统要求的各种外围电路和接口电路,突显其对象的智能化控制能力。这一阶段主要以嵌入式微处理器为基础、以简单操作系统为核心,主要特点是硬件使用嵌入式微处理器,微处理器的种类繁多,通用性比较弱;系统开销小,效率高。 第三阶段:片上系统(SOC)。主要特点是:嵌入式系统能够运行于各种不同类型的微处理器上,兼容性好,操作系统的内核小,效果好。 第四阶段:以Internet为标志的嵌入式系统。嵌入式网络化主要表现在两个方面,一方面是嵌入式处理器集成了网络接口,另一方面是嵌入式设备应用于网络环境中。 二、嵌入式系统的含义 目前,嵌入式系统还没有比较权威、比较统一的定义,人们从不同的角度来理解嵌入式系统,描述嵌入式系统。 1.从应用角度:嵌入式系统被定义为以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应系统对功能、可靠性、成本、体积、功耗严格要求

嵌入式系统概述

1 嵌入式系统概述 嵌入式系统(Embedded System )也称嵌入式计算机系统。顾名思义,嵌入式系统是计算机的一种特殊形式,是计算机技术、通信技术、半导体技术、微电子技术、语音图像数据传输技术,甚至传感器等先进技术和具体应用对象相结合后的更新换代产品。嵌入式系统不仅和一般的PC 机上的应用系统不同,而且针对不同的具体应用而设计的嵌入式系统之间的差别也很大。嵌入式系统强调硬件和软件的协同性与整合性,软件和硬件可剪裁的,适用于应用系统对功能、可靠性、成本、体积、功耗和应用环境等有严格要求的专用计算机系统。 嵌入式系统特别强调“量身定做”的原则,开发人员往往需要针对某一种特殊用途开发出一个截然不同的嵌入式系统,其特点如下。 (1)嵌入式系统具有应用针对性 应用针对性是嵌入式系统的一个基本特征,体现这种应用针对性的首先是软件,软件实现特定应用所需要的功能,所以嵌入式系统应用中必定配置了专用的应用程序;其次是硬件,大多数嵌入式系统的硬件是针对应用专门设计的,但也有一些标准化的嵌入式硬件模块,采用标准模块可降低开发的技术难度和风险,缩短开发时间,但灵活性不足。 (2)嵌入式系统硬件扩展能力要求不高 硬件上,嵌入式系统作为一种专用的计算机系统,其功能、机械结构、安装要求比较固定,所以一般没有或仅有较少的扩展能力;软件上,嵌入式系统往往是一个设备固定组成部分,其软件功能由设备的需求决定,在相对较长的生命周期里,一般不需要对软件进行改动。但也有一些特例,比如现在的手机,尤其是安装有嵌入式操作系统的智能手机,软件安装、升级比较灵活,但相对于桌面计算机,其软件扩展能力还是相当弱。 (3)嵌入式系统操作系统精简 在现代的通用计算机中,没有操作系统是无法想象的,而在嵌入式计算机中情况则大第 章

嵌入式操作系统

嵌入式操作系统有哪些? 下面介绍国外和国内常用的实时操作系统。 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/IEC9945-1:1990标准。POSIX现在已经发展成为一个非常庞大的标准族,某些部分正处在开发过程中。POSIX与IEEE1003和2003家族的标准是可互换的 (3)Palm OS 3Com公司的Palm OS在掌上电脑和PDA市场上占有很大的市场份额。它有开放的操作系统应用程序接口(API),开发商可以根据需要自行开发所需的应用程序。 目前共有3500多个应用程序可以运行在Palm Pilot上。其中大部分应用程序均为其他厂商和个人所开发,使Palm Pilot的功能得以不断增多。这些软件包括计算器、各种游戏、电子宠物、地理信息等。在开发环境方面,可以在Windows95/98/NT以及Macintosh下安装Palm Pilot Desktop。Palm Pilot可以与流行的PC平台上的应用程序(如Word,Excel等)进行数据交换。

相关主题
文本预览
相关文档 最新文档