文档库 最新最全的文档下载
当前位置:文档库 › ARM嵌入式系统开发综述.

ARM嵌入式系统开发综述.

ARM嵌入式系统开发综述.
ARM嵌入式系统开发综述.

视听研究所

主页:论坛:

所有资料均收集于各网站。

若您认为有关资料不适合公开,请联系newvideo@https://www.wendangku.net/doc/3514776799.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)

4 操作系统 (23)

4.1 哪里可以得到os 软件包 (Open Source and Linux

Kernel (25)

4.2 安装镜像 (26)

4.3 交叉编译 (26)

总结 (27)

获取更多权威电子书请登录

1 嵌入式开发平台

通常嵌入式开发的平台主要包括基于SoC 或MCU 开发板,板上提供常用的外设、接口和其他功能模块,开发者一般根据自己的应用需要选择适合自己板级开发平台。在这样的平台上开发者可以进行硬件的扩展,操作系统移植和应用软件的开发、调试及固化,并最终形成自己的产品推向市场。但是基于该平台的软件开发工作往往需要等到硬件平台完成后才能开展,这显然不利于缩短TTM (Time to Market),同时调试的过程也是需要反复迭代和修改设计的过程,因此硬件方案的变动在所难免。因此在系统方案没有最终定型前,急于搭建硬件平台不仅费时费力,而且也会造成系统开发成本的提高。因此在进行方案设计的时候,利用CPU 或者其他外设的模型进行早期的评估是非常必要的。

1.1 ARM的开发平台:

! ARMulator 仿真平台

这是一套最基础的ARM 指令集仿真器,内嵌于ADS 和RVDS 中,是每一位ARM 开发者的很好的起点。ARMulator 可以模拟执行开发人员编写的C 或汇编程序,支持源代码调试,帮助开发者确定代码编写的正确性。另一方面,ARMulator

还能大致统计出,诸如:代码执行周期数,Cache 命中率,存储器访问等利于我们优化代码的信息。但ARMulator 是基于CPU 的模拟,缺点在于比较难于模拟整个芯片系统的行为。

! RealView Integrator-CP平台

获取更多权威电子书请登录

https://www.wendangku.net/doc/3514776799.html,/products/DevTools/IntegratorFamily.html

RealView Integrator-CP平台(RealView Integrator Compact Platform)可以整合Core Module。Core Module FPGA 还整合了ARM PrimeCell 系列周边器件和内存控制器,包括LCD ,MMC 卡,音频解码,以及客户自己开发AHB 接口器件。

! Versatile PB/AB平台

https://www.wendangku.net/doc/3514776799.html,/products/DevTools/VersatileFamily.html

Versatile Platform Baseboard(Versatile PB)是一个可以开发软硬件的PCB 平台,可以用LogicTile ,AnalyzerTile 进行扩展,用来连接用户开发的器件,逻辑分析仪等。而Versatile Application Baseboard(Versatile AB)主要区别是硬件扩展功能有限,因而主要用来进行软件应用开发。

! Emulation Baseboard(EB )

https://www.wendangku.net/doc/3514776799.html,/products/DevTools/EB.html

EB 平台有一块相对大的FPGA (Xilinx Virtex2 XC2V6000)可以放下用户设计的周边器件,EB 可以通过CoreTile 和LogicTile 进行扩展,使用户做原型验证更加方便。

! ESL 虚拟平台

https://www.wendangku.net/doc/3514776799.html,/products/DevTools/RealViewCREATE_Family.html

ARM ESL虚拟平台利用SystemC 模型构建整个SoC 系统,可以基于两种模型构建:时钟精确型(CA )和时钟近似型(CX ),CA 模型提供了和实际硬件时钟节拍一直的精确度,利用ESL SoC Designer工具在ESL CA模型构建虚拟

获取更多权威电子书请登录

仿真平台上,SoC 硬件工程师利用ESL 工具提供的强大的诸如Core 运行状态监视、Bus Profiling、Cache 工作状态和Memory Mapping等可视化插件对系统性能观测和分析,定位系统性能的瓶颈,实现硬件的性能优化和功能划分。

此外,对于嵌入式软件开发工程师而言,ESL 虚拟平台带来的最大好处是让软件开发在更早的阶段开展,而不必等到在硬件平台上进行此工作。这样以来软硬件开发工作可以并行提高,缩短产品上市时间,软硬件的协同开发还可以尽早发现系统bug ,降低开发风险和成本。同时该虚拟平台还提供了ARM 软件开发调试工具接口同步进行软件调试,在ESL 虚拟平台上实现软硬件的协同仿真,可以实现优化软件的目的。

从图1看,传统流程中容易引起反复的环节,而对引入ESL 的开发流程,可将诸如驱动开发调试等,提前放置到虚拟开发平台上进行,实现系统设计的优化、

缩短开发周期等。而且仿真环境所能提供的调试手段,是FPGA 平台所无法比拟的。

图1 传统和引入ESL 工具的SoC 开发流程

获取更多权威电子书请登录

! RTSM

https://www.wendangku.net/doc/3514776799.html,/products/DevTools/RealTimeSystemModel1176.html

RTSM (实时系统模型)是对整个芯片系统在指令集层面上的仿真,它能提供快速、准确的指令仿真,以及与RealView Debugger的无缝连接。大型应用程序的开发可以使用 RTSM模拟技术来完成。 RTSM模拟包括LCD 显示器、键盘和鼠标等外设的仿真。不到5s ,就可以利用PC 在ARM 处理器上对OS 的启动过程进行模拟,用户可以在ARM 提供的RTSM 上进行快速的软件仿真。这是OEM 在开发

软件系统时成本最低的方法。想象一下,芯片公司不用等到芯片生产出来,也不用把缓慢的FPGA 板交给方案厂商或OEM ;只需要将整个芯片的模型交付,下游厂家就可以尽早尽快地将软件方案开发完毕。最终产品几乎可以从芯片生产出来就准备上市。

1.2 器件选型

器件的选择归根结底是为嵌入式系统选择合适的处理器芯片。ARM 处理器是最常见的嵌入式处理器之一,它以低功耗、低成本和高性能而深受业界的青睐。而且ARM 是目前产业中资源最为广泛的嵌入式处理器,基于广大的ARM 合作伙伴计划,开发者可以在这个联盟里寻求到各种自己意想不到的帮助。从图2给出了常见的ARM 处理器的架构和支持的操作系统。目前在业内广为人知的ARM 处理器主要有ARM7系列和ARM9系列,同时为了关注今后嵌入式系统的发展,也有必要了解一下最新的ARM11和ARM Cotex系列处理器。

获取更多权威电子书请登录

图2 ARM体系结构

ARM7系列

ARM7TDMI 是ARM7系列中使用最广泛的,它是从最早实现32位地址空间编程模式的ARM6内核发展而来的,并增加了64位乘法指令,支持片上调试、16位Thumb 指令集和EmbeddedICE 观察点硬件。ARM7TDMI 属于ARM v4体系结构,采用冯诺伊曼结构,3级流水处理,平均0.9DMIPs/Mhz性能。不过

ARM7TDMI 没有MMU (Memory Management Unit)和Cache ,所以仅支持那些不需要MMU 和Cahce 的小型实时操作系统,如VxWorks 、uC/OS-II和uLinux 等RTOS 。其他的ARM7系列内核还有ARM720T 和ARM7E-S 等。

ARM9系列

ARM9TDMI 相比ARM7TDMI ,将流水级数提高到5级从而增加了处理器的

获取更多权威电子书请登录

时钟频率,并使用指令和数据存储器分开的哈佛结构以改善CPI 和提高处理

器性能,平均可达1.1DMIPs/Mhz,但是ARM9TDMI 仍属于ARM v4T体系结构。在ARM9TDMI 基础上又有ARM920T 、ARM940T 和ARM922T ,其中ARM940T 增加了MPU (Memory Protect Unit)和Cache ;ARM920T 和ARM922T 加入了MMU 、Cache 和ETM9(方便进行CPU 实时trace ),从而更好的支持象Linux 和WinCE 这样的多线程、多任务操作系统。

ARM9E 系列

ARM9E 系列属于ARM v5TE,在ARM9TDMI 的基础上增加了DSP 扩展指令,是可综合内核,主要有ARM968E-S 、ARM966E-S 、ARM946E-S 和

ARM926EJ-S (v5TEJ 指令体系,增加了Java 指令扩展),其中ARM926EJ-S 是最具代表性的。通过DSP 和Java 的指令扩展,可获得70%的DSP 处理能力和

8x 的Java 处理性能提升。另外分开的指令和数据Cache 结构进一步提升了软件性能;指令和数据TCM (Tightly Couple Memory:紧耦合存储器)接口支持零等待访问存储器;双AMBA AHB总线接口等。ARM926EJ-S 可达250Mhz 以上的处理速度,很好地支持Symbian OS、Linux 、Windows CE和Palm OS等主流操作系统。

ARM11系列

ARM11系列主要有ARM1136、ARM1156、ARM1176和ARM11 MP-Core 等,它们都是v6体系结构,相比v5系列增加了SIMD 多媒体指令,获得1.75x 多媒体处理能力的提升。另外,除了ARM1136外,其他的处理器都支持AMBA 3.0-AXI 总线。ARM11系列内核最高的处理速度可达500Mhz 以上(其中90nm

获取更多权威电子书请登录

工艺下,ARM1176可达到

750Mhz )以及600DMIPS 的性能,请参考和图3相关描述。

图3 ARM11系列内核

基于ARMv6架构的ARM11系列处理器是根据下一代的消费类电子、无线设备、网络应用和汽车电子产品等需求而制定的。其的媒体处理能力和低功耗特点使它特别适合于无线和消费类电子产品;其高数据吞吐量和高性能的结合非常适合网络处理应用;另外,在实时性能和浮点处理等方面ARM11可以满足汽车电子应用的需求。

ARM Cotex系列

Cortex 系列是ARM 公司目前最新内核系列,属于v7架构,主要有

Cortex-A8、Cortex-R4、Cortex-M3和Cortex-M1等处理器,其中A8是面向高性能的应用处理器,最高可达1Ghz 的处理速度,更好的支持多媒体及其他高性能要求,最高可达2000DMIPS ;R4主要面向嵌入式实时应用领域(Real-Time ),7级流水结构,相对于上代ARM1156内核,R4在性能、功耗和面积(PPA :Performance ,Power and Area)取得更好的平衡,>1.5DMIPS/Mhz和高于400Mhz 的处理速度。而M3主要是面向低成本和高性能的MCU 应用领域,相比

ARM7TDMI ,M3面积更小,功耗更低,性能更高。Cortex-M3处理器的核心

获取更多权威电子书请登录

是基于哈佛架构的3级流水线内核,该内核集成了分支预测,单周期乘法,硬件除法等众多功能强大的特性,使其在Dhrystone benchmark上具有出色的表现(1.25 DMIPS/MHz)。根据Dhrystone benchmark的测评结果,采用新的Thumb ?-2指令集架构的Cortex-M3处理器,与执行Thumb 指令的

ARM7TDMI-S ?处理器相比,每兆赫的效率提高了70%,与执行ARM 指令的ARM7TDMI-S 处理器相比,效率提高了35%。

目前已经有Cortex 系列内嵌的产品问世,如TI 公司推出的基于Cortex-A8内核的OMAP3430,TI 、ST 和Luminary 也推出了基于Cortex-M3内核的低成本高性能32位MCU ,更多详情请登陆这些公司的主页查询。

2 工具选择

根据开发目标平台的不同,ARM 提供不同的工具解决方案。

MDK-ARM

RealView Microcontroller Development Kit(MDK 支持基于ARM7,

ARM9,Cortex-M3微控制处理器,例如Atmel ,Freescale ,Luminary ,NXP ,OKI ,Samsung ,Sharp ,ST ,TI 等厂家的产品。MDK 提供工业标准的编译工具和强大的调试支持。MDK 是专为MCU 的用户开发嵌入式软件而设计的一套开发工具。包括根据器件定制的调试仿真支持,丰富的项目模版,固件示例以及为内存优化的RTOS 库。MDK 上手容易,功能强大,适合微控制器应用程序开发。

RVDS

获取更多权威电子书请登录

正如前面所介绍RVDS 是专为SOC ,FPGA 以及ASIC 用户开发复杂嵌入式应用程序或者和操作系统平台组件接口而设计的开发工具。RVDS 支持器件设计,支持多核调试,支持基于所有ARM

和Cortex 系列CPU 的程序开发。RVDS 还可以和第三方软件进行很好的连接。

图4 RVDS和RV-MDK

如上图表示:MDK 主要是为终端客户提供价格低廉,功能强大的开发工具。集成了RealView 编译工具,Keil uVision开发环境,支持基于

ARM7,ARM9,Cortex-M1,Cortex-M3产品的仿真,提供非常高效的RTOS

Kernel ,除此,提供的Real-Time 库还有TCP/IP网络套件,Flash 文件系统,USB 器件接口,CAN 总线接口等,方便终端用户进行应用开发。因此对于MDK

用户来说,他们得到的就是可以对MCU 进行仿真和调试,容易使用又没有冗余的功能,关键是价格实惠,而且用户可以先试用再购买。

对于芯片设计公司以及相关解决方案提供商来说,需要的是更加强大的工具,可以进行多核调试,需要更加先进的调试和分析功能,可以支持多种操作系

获取更多权威电子书请登录

统,可以进行IP 整合开发,可以结合ESL 工具进行架构评估,系统软硬件划分等,那么选择RVDS 可以提供完整解决方案。

3 编译和连接

ARM RealView 编译工具已经发展了16年,一直致力于为客户提供最好的编译器。RVDS 是ARM 公司继SDT 与ADS1.2之后主推的新一代开发工具,目前最高版本是3.1。它由RealView 编译器(RVCT )、RealView 汇编器(armasm )、RealView 连接器(armlinker ),以及RealView 调试器

(RVDebugger )三部分组成。

RVDS对代码密度的提升、代码执行速度的提高,都可以由ARM 开发工具自动实现,而不需要软件开发人员花费过多的时间手动优化高级语言代码。这是RVDS 的优势所在。

先前版本中的编译器armcc ,tcc ,armcpp ,tcpp 已经整合成一个编译器armcc ,可以将标准的C 或C++语言源程序编译成32位ARM 指令代码或者16位Thumb 指令代码或者Thumb-2指令代码。

编译器输出的ELF 格式的目标文件,包含调试信息。除此之外,编译器可以输出所生成的汇编语言列表文件。

RVDS的编译器根据最新的ARM 架构进行特别的优化,针对每个ARM 架构都提供最好的代码执行性能,最优的代码密度。可以根据需要选择调试信息级别,以及不同的代码优化方向和优化级别。

RVCT中C 和RogueWaveC++库包括

获取更多权威电子书请登录

! 完整ISO 标准C 语言库

标准C 语言函数集,C 语言库需要的支持函数以及在Semihosted 执行环境中需要的目标相关的函数。

ARM C 语言库结构使用户很容易定义目标相关函数,以适应特定的目标环境。

! 浮点函数库使用ARM 在IEEE754标准(二进制浮点算法)上实现的浮点环

境。

! RogueWaveC++库

RogueWaveC++库包含标准C++函数,编译器需要的支持函数。

各种源文件经过ARM 编译器编译后生成ELF 格式的目标文件。这些目标文件和相应的C/C++运行时库经过ARM 连接器处理后,生成ELF 格式映像文件。ARM连接器可以去除使用不到的代码段和函数,这样可以减少内存的使用。ARM连接器可以将不同的指令代码和数据代码放置到不同的内存地址范围。(https://www.wendangku.net/doc/3514776799.html,/support/faqdev/1245.html)

通常在嵌入式系统中,指令和数据代码会固化在非易失性存储器中(ROM 或Flash ),可以从这些地方上电启动。从运行速度方面考虑,部分指令和数据代码

会在启动后搬运到易失性存储器(RAM中,因此连接器可以使用一些方法机制来配置调度。

这种分散装载(scatterloading )的机制可以让把不同的指令和数据分散的放到不同的地址,而且这些地址在系统启动和系统运行可以是不同的映射。

获取更多权威电子书请登录

详细的地址分配可以是用参数来指定,或者用一个描述文件来作为连接器的参数。使用描述文件会使维护起来非常简单,而且如果要改变地址分配,不需要把整个项目完全重新来做,只要把项目中需要的目标重新连接即可。

一个scatterloading 文件的示例:

LOAD_FLASH 0x04000000 0x80000 ; 启动地址和长度

{

EXE_FLASH 0x04000000 0x80000

{

init.o (Init, +First ;

* (+RO ;

}

32bitRAM 0x0000 0x2000

{

vectors.o (Vect, +First ;

int_handler.o (+RO

}

16bitRAM 0x2000 0x80000

{

* (+RW,+ZI ;

}

}

获取更多权威电子书请登录

! 本文件定义了启动区域和三个执行区域。在大括号外面定义了启动区域

(LOAD_FLASH),里面三个定义了执行区域

(EXEC_FLASH,32bitRAM,16bitRAM。

! 为了提高运行速度,异常向量(在vectors.s )和异常句柄(在

int_handler.c)被重新放置到32bitRAM 的零地址开始的地方。

! 可以读写的变量被复制到16bitRAM 的0x2000地址开始的地方。

! 零初始化的数据和可读写数据放在16bitRAM 内。

! 其他不需要搬运的代码只需要还放在Flash 里就好。

3.1 RVCT的优化级别与优化方向

提到RVCT 就不能不提armcc 的四个优化级别和两个编译选项,-O1、-O2、-O3、-O4,以及-Otime 、-Ospace 。

-Ospace 与-Otime 负责给编译器提供代码优化的大方向,告知编译器编译任务的主要目标是代码密度(-Ospace )还是代码性能(-Otime )。而-O1、-O2、-

O3、-O4则分别代表4种逐次递进的不同优化级别。

OSpace 还是OTime ?

显然代码密度与代码执行速度在很多情况下是一对矛盾。以下面的代码为例。例1中左右两段代码可以完成相同的任务,但是左边的有较高的代码密度,右边的则有较高的执行速度。因为当expr = 0时,标志循环结束时,右边的代码可以顺序执行下去;而左边代码必须先跳转至循环体首部判断expr 的值,随

获取更多权威电子书请登录

后再跳转道循环体尾,继续执行下一条指令。

例1 代码速度与尺寸的对比

while (expr if (expr do

{ { do

body; { body; }

}

那么我们什么时候使用Otime 什么时候使用Ospace 呢?Otime 与Ospace 需要开发人员根据系统实际需求来决定,最好的情况是在两者之间找到一个合适的平衡点,而不是单纯的追求速度或者代码尺寸的缩小。即,将不同的代码模块根据其特性分别使用不同的编译选项。

此外,RVCT 编译器支持很多非常有用的编译选项,如--no_inline(取消所有代码的内联函数)、--split_ldm(限制LDM/STM指令的最大操作寄存器数目)、--split_sections(将每个函数,而不是源文件,作为一个编译单元进行操作)等等。

编译器的所有这一切都可以严格根据开发者的要求,帮助开发人员得到系统真正需要的优化过了的代码。

O3还是O2?

} while (expr;

获取更多权威电子书请登录

老的开发工具,如ADS1.2中,只有3种递进的代码优化级别,对应3种编译选项,即-O0(Minimum optimization)、-O1(Restricted optimization)、-O2(High optimization )。

使用-O0编译选项时,RVCT 编译器只对代码作最基本的优化操作,编译结束后用户得到的代码与用户手写源代码之间的差距很小,这种特性的主要作用是为了方便用户在程序开发阶段的调试工作,避免由于优化而产生的调试屏障。此外,很多资深软件工程师偏向于手写优化代码,在这种情况下,由于代码已经被优化过,可以使用-O0编译选项减少RVCT 的工作量,节省编译链接的时间。

-O1与-O2则分别是相对于-O0更加高级别的编译优化选项,前者提供有限的优化;后者则会对代码进行较大程度的优化改进操作。

RVDS 中新增加了-O3(Maximum optimization)编译选项,它可以最大程度的发挥RVCT 编译器的优势,将代码编译成最优。O3与O2都是较高级别的编译优化选项,但-O3相比较于-O2,主要优势有以下几点。当用户使用-O3选项时:

――编译器会自动对代码进行髙阶标量优化。所谓的高阶标量优化就是编译器对根据代码特点,针对循环、指针等进行髙阶优化。

――编译器会把尽可能多函数的编译为内联(inline )函数;

――Multifile compilation功能被自动使能。

对于循环与指针的髙阶优化(High-level scalar optimizations)

当编译选项为-O3 –Otime 时,RVCT 会根据代码的具体情况,针对循环、

获取更多权威电子书请登录

指针等部分作髙阶优化工作:循环解开(Loop unrolling)、融合(fusion )、位置调整(interchange )、指针优化等等。以例2的函数为例。例2是一段简单的C 循环函数,在循环中含有数组指针调用。

例2

CodeA

void increment(int *restrict b, int *restrict c

{ int i;

for (i = 0; i < 100; i++

{

c[i] = b[i] + 1;

}

}

CodeB

void increment(int *b, int *c

{

int i;

int *pb, *pc;

int b3, b4;

pb = b - 1;

pc = c - 1;

b3 = pb[1];

获取更多权威电子书请登录

for (i = (100 / 2; i != 0; i--

{

b4 = *(pb += 2;

pc[1] = b3 + 1;

b3 = pb[1];

*(pc += 2 = b4 + 1;

}

}

仔细观察可以发现,CodeA 与CodeB 可以完成同样的功能,即将数组b 的每个成员加1赋值给数组c 对应成员。但是CodeB 与CodeA 相比,有较高的执行速度。主要体现在以下几点:

――循环100次变成了循环50次(loop unrolling),减少了跳转次数;

――数组变成了指针,减少每次计算数组偏移量的指令;

浅谈嵌入式系统的现状及发展前景

课程考核论文 课程名称信息学导论 学生姓名曾文静 学号1141304067 系、专业信息工程系电子科学与技术专业 2013年6 月15 日 浅谈嵌入式系统的现状及发展前景 摘要:从嵌入式系统的含义、特点、开发平台及其工业特征出发 ,深入阐述了嵌入式计算机技术的发展现状 ,展望了嵌入式系统产业在我国的广阔发展前景景。 1. 嵌入式系统的发展趋势及典型应用产品 在现在日益信息化的社会中,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人,需要的已经不再仅仅是那种放在桌上处理文档,进行工作管理和生产控制的计算机"机器";各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算机,任何一个普通人可能拥有从大到小的各种使用嵌入式技术的电子产品,小到mp3,PDA等微型数字化产品,大到网络家电,智能家电,车载电子设备。而在工业和服务领域中,使用嵌入式技术的数字机床,智能工具,工业机器人,服务机器人也将逐渐改变传统的工业和服务方式。近几年,嵌入式系统产品日臻完善,并在全世界各行业得到广泛应用。嵌入式系统产品的研制和应用已经成为我国信息化带动工业化、工业化促进信息化发展的新的国民经济增长点。随着信息化、智能化、网络化的发展,嵌入式技术将全面展开,现在嵌入式已经成为通信和消费类产品的共同发展方向。总体来说,嵌入式系统分别在硬件和软件方面获得发展。嵌入式系统必将成为当今IT界的又一焦点,开发自主知识产权的嵌入式处理器和嵌入式操作系统,对于我们国家的民族IT产业来讲具有十分重要的战略意义。从国内IT市场来看,嵌入式系统及其产品在由家电产品和Internet衍生出来的新型市场中占有主导地位和独特份额。 在消费家电的智能化的今天,嵌入式更显重要。像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字相机(DC)、数字摄像机(DV)、U-Disk 、机顶盒(Set Top Box)、高清电视(HDTV )、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等,都是典型的嵌入式系统。据预测,随着Internet的迅速发展和廉价微处理器的出现,嵌入式系统将在日常生活里形成更大的应用领域。 例如,行车称重无线遥测调度系统:由贵溪冶炼厂和北京市自动化系统成套工程公司合作开发,用在贵溪冶炼车间。具体要求为系统前端由安装在行车上的行车工作站(3台)构成,行车工作站将行车称重信号转换成数字信号,并将采集的数字信号经处理后,通过无线电台传送给地面接收电台,接收电台将信号传输给地面工作站,地面工作站将接收到的信号进行归纳处理、监视,通过双绞线传送给闪速炉、阳极炉操作室显示,通过以太网传送给5台转炉操作并显示,传送给车间办公室终端,车间办公室进行最终的数据归纳、生成报表并打印。其中行车工作站主要采用PC/104数据采集卡和研华公司3.5英寸饼干PC机PCM-4,该机主板上带有Load bus IDE,VGA/LCD口,2个串口,1个并口和软驱接口,并附16M电子硬盘,体积小巧却达到了486级工业PC的配置水平。显示屏采用EL致发光屏(带触摸屏),通过RS232接口与调制解调器及数据传输电台相连。行车工作站采用Windows32操作系统和组态王2.0版软件,实现数据采集、输入行车运行状态、参数计算、显示功能,并在该软件基础上开发

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

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

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

单片机开发系统综述

单片机开发系统综述 单片机本身没有自开发功能,必须借助开发工具来进行软硬件调试和程序固化。单片机开发工具性能的优劣直接影响单片机应用产品的开发周期。本文从单片机工具所应具有的功能出发,进一步谈谈各类单片机开发工具功能上的差异,便于读者在选购开发工具时进行比较。最后,以国内常见的MCS一51及MCS一5l兼容系列单片机开发工具为例,对其性能进行简单的介绍。 一、单片机开发工具的功能 单片机开发系统通常由主机(一般是个人电脑)、单片机仿真器、编程器等三部分组成。衡量单片机系统性能的优劣要从其实时在线仿真功能、调试功能和辅助设计功能三方面加以考虑。 1.实时在线仿真功能 实时在线仿真是指开发系统中的仿真器能仿真用户目标系统中的单片机并模拟目标系统中的ROM、RAM和I/O口,使在线仿真时用户目标系统的运行环境和运行速度与脱离仿真器后用户目标系统独立运行时的环境和运行速度完全一致。在线仿真时开发系统应能将仿真器中的单片机完整地(包括片内的全部资源及外部可扩展的程序存储器和数据存储器)出借给目标系统,不占用任何资源,电不受任何限制,仿真单片机韵电气特性也应与用户系统的单片机一致,使用户可根据单片机的资源特性进行设计;另外,在用户目标机未做好前,还可借用仿真器内的资源进行软件调试。 2.调试功能 开发系统软硬件调试功能的强弱,直接关系到产品开发的效率。性能优良的开发系统应具有以下调试功能。 (1)运行控制功能 应能以单步、断点(多种断点条件)、连续三种方式运行程序;在各种运行方式下,用户能根据需要启动或停止程序的执行;当程序中断时应能保持断点处的现场(包括Pc等特殊功能寄存器、I/O口等)。 (2)状态的读出和修改功能 用户可以读出/修改目标系统所有资源的状态,以便检查运行的结果。这些资源包括:程序存储器(仿真RAM或用户目标机中的ROM)、单片机片内资源、扩展的数据存储器和I/0口等。

嵌入式系统的现状与发展前景

嵌入式系统的现状及发展前景 嵌入式系统的现状及发展前景 当我们满怀憧憬与希望跨入二十一世纪大门的时候,计算机技术也开始进入一个被称为后PC技术的时代。在现在日益信息化的社会中,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人,需要的已经不再仅仅是那种放在桌上处理文档,进行工作管理和生产控制的计算机"机器";各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算机,任何一个普通人可能拥有从大到小的各种使用嵌入式技术的电子产品,小到mp3,PDA等微型数字化产品,大到网络家电,智能家电,车载电子设备。而在工业和服务领域中,使用嵌入式技术的数字机床,智能工具,工业机器人,服务机器人也将逐渐改变传统的工业和服务方式。目前嵌入式系统技术已经成为了最热门的技术之一,吸引了大批的优秀人才投入其中。但是对于何为嵌入式系统,什么样的技术又可以称之为嵌入式技术,仍在讨论之中,有关嵌入式系统定义的问题,已经在很多论坛社区引发了多次争论。就这个问题我们可以分别从广义上和狭义上讲:广而化之,可以认为凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。作为系统核心的微处理器又包括三类:微控制器(MCU)、数字信号处理器(DSP)、嵌入式微处理器(MPU)。所以有人简单的说:"嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。"还有人认为嵌入式系统就是"以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统"。应该说后者从功能应用特征上比较好的给出了嵌入式系统的定义,嵌入式的概念的分析根本上应该从应

用上加以切入。从狭义上讲,我们更加强调那些使用嵌入式微处理器构成独立系统,具有自己的操作系统并且具有某些特定功能的系统,这里的微处理器专指32位以上的微处理器。按照这种定义,典型的嵌入式系统有使用x86的小型嵌入式工控主板,在各种自动化设备,数字机械产品中有非常广阔的应用空间;另外一大类是使用Intel,Motorola等专用芯片构成的小系统,它不仅仅在新兴的消费电子和通讯仪表等方面获得了巨大的发展应用空间,而且甚至有趋势取代传统的工控机。现在大家更加清楚的看到:嵌入式技术的春天已经来了。所以也就难怪嵌入式系统成为当前最热门的技术之一。 1 嵌入式系统的含义及分类 嵌入式系统被定义为:以应用为中心、以计算机 技术为基础、软件硬件可裁剪、适应应用系统对功 能、可靠性、成本、体积、功耗严格要求的专用计算机 系统。 嵌入式系统是将先进的计算机技术、半导体技 术和电子技术和各个行业的具体应用相结合后的产 物,这一点就决定了它必然是一个技术密集、资金密 集、高度分散、不断创新的知识集成系统。 目前嵌入式系统除了部分为32 位处理器外,大 量存在的是8 位和16 位的嵌入式微控制器(MCU) , 嵌入式系统是计算机应用的另一种形态,正如前所 述它与通用计算机应用不同:嵌入式计算机是以嵌

ARM嵌入式系统开发综述.

视听研究所 主页:论坛: 所有资料均收集于各网站。 若您认为有关资料不适合公开,请联系newvideo@https://www.wendangku.net/doc/3514776799.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)

!嵌入式系统开发资料(入门必备)

获取更多权威电子书请登录https://www.wendangku.net/doc/3514776799.html, ARM嵌入式系统开发综述ARM开发工程师入门宝典

获取更多权威电子书请登录https://www.wendangku.net/doc/3514776799.html, 前言 嵌入式系统通常是以具体应用为中心,以处理器为核心且面向实际应用的软硬件系统,其硬件是整个嵌入式系统运行的基础和平台,提供了软件运行所需的物理平台和通信接口;而嵌入式系统的软件一般包括操作系统和应用软件,它们是整个系统的控制核心,提供人机交互的信息等。所以,嵌入式系统的开发通常包括硬件和软件两部分的开发,硬件部分主要包括选择合适的MCU或者SOC 器件、存储器类型、通讯接口及I/O、电源及其他的辅助设备等;软件部分主要涉及OS porting和应用程序的开发等,与此同时,软件中断调试和实时调试、代码的优化、可移植性/可重用以及软件固化等也是嵌入式软件开发的关键。 嵌入式系统开发的每一个环节都可以独立地展开进行详细的阐述,而本文的出发点主要是为嵌入式开发的初学者者提供一个流程参考。因为对于初学者在面对一个嵌入式开发项目的时候,往往面临着诸多困难,如选择什么样的开发平台?什么样的器件类型?在进行编译时怎样实现代码优化?开发工具该如何选择和使用?在进行程序调试时应该注意那些问题以及选择什么样的嵌入式OS 等等。希望通过本文,能帮助初学者了解有关ARM嵌入式系统开发流程。

获取更多权威电子书请登录https://www.wendangku.net/doc/3514776799.html, 目录 前言 (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) 4 操作系统 (23) 4.1 哪里可以得到os 软件包 (Open Source and Linux Kernel) (25) 4.2 安装镜像 (26) 4.3 交叉编译 (26) 总结 (27)

浅谈嵌入式系统的现状及发展前景

浅谈嵌入式系统的现状 及发展前景 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】

课程考核论文 课程名称信息学导论 学生姓名曾文静 系、专业信息工程系电子科学与技术专业 2013年 6 月 15 日 浅谈嵌入式系统的现状及发展前景 摘要:从嵌入式系统的含义、特点、开发平台及其工业特征出发,深入阐述了嵌入式计算机技术的发展现状,展望了嵌入式系统产业在我国的广阔发展前景景。 1. 嵌入式系统的发展趋势及典型应用产品 在现在日益信息化的社会中,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人,需要的已经不再仅仅是那种放在桌上处理文档,进行工作管理和生产控制的计算机"机器";各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算机,任何一个普通人可能拥有从大到小的各种使用嵌入式技术的电子产品,小到 mp3,PDA等微型数字化产品,大到网络家电,智能家电,车载电子设备。而在工业和服务领域中,使用嵌入式技术的数字机床,智能工具,工业机器人,服务机器人也将逐渐改变传统的工业和服务方式。 近几年,嵌入式系统产品日臻完善,并在全世界各行业得到广泛应用。嵌入式系统产品的研制和应用已经成为我国信息化带动工业化、工业化促进信息化发展的新的国民经济增长点。 随着信息化、智能化、网络化的发展,嵌入式技术将全面展开,现在嵌入式已经成为通信和消费类产品的共同发展方向。总体来说,嵌入式系统分别在硬件和软件方面获得发展。嵌入式系统必将成为当今IT界的又一焦点,开发自主知识产权的嵌入式处理器和嵌入式操作系统,对于我们国家的民族IT产业来讲具有十分重要的战略意义。从国内IT市场来看,嵌入式系统及其产品在由家电产品和Internet衍生出来的新型市场中占有主导地位和独特份额。 在消费家电的智能化的今天,嵌入式更显重要。像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(SetTopBox)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等,都是典型的嵌入式系统。据预测,随着Internet的迅速发展和廉价微处理器的出现,嵌入式系统将在日常生活里形成更大的应用领域。 例如,行车称重无线遥测调度系统:由贵溪冶炼厂和北京市自动化系统成套工程公司合作开发,用在贵溪冶炼车间。具体要求为系统前端由安装在行车上的行车工作站(3台)构成,行车工作站将行车称重信号转换成数字信号,并将采集的数字信号经处理后,通过无线电台传送给地面接收电台,接收电台将信号传输给地面工作站,地面工作站将接收到的信号进行归纳处理、监视,通过双绞线传送给闪速炉、阳极炉操作室显示,通过以太网传送给5台转炉操作并显示,传送给车间办公室终端,车间办公室进行最终的数据归纳、生成报表并打印。其中行车工作站主要采用PC/104数据采集卡和研华公司英寸饼干PC机PCM-4,该机主板上带有LoadbusIDE,VGA/LCD口,2个串口,1个并口和软驱接口,并附16M电子硬盘,体积小巧却达到了486级工业PC的配置水平。显示屏采用EL致发光屏(带触摸屏),通过RS232接口与调制解调器及数据传输电台相连。行车工作站采用Windows32操作系统和组态王版软件,实现数据采集、输入行车运行状态、参数计算、显示功能,并在该软件基础上开发无线数据通讯 2.嵌入式系统介绍

嵌入式系统文献综述

文献综述 ARM9嵌入式实验教学系统的设计与制作 班级:电科200501 姓名:李述良指导老师:冯杰 §1 前言 在信息技术和网络技术高速发展的后PC(Post—PC)时代,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面。嵌入式技术越来越和人们的生活紧密结合,成为最热门的技术之一[1]。在嵌入式产品日渐普及和迅速发展的背景下,掌握嵌入式Linux软件技术或者嵌入式硬件设计的开发人员已经成为社会急需。 目前国内用于教学的嵌入式系统实验系统,学生只能在此平台上进行一些应用软件开发实验。这些对于电子及相关专业的学生来说, 一方面他们得不到硬件设计能力的锻炼, 另一方面不能很好地了解硬件知识, 不便于培养学生的创新能力, 最终不能很好适应嵌入式系统开发的要求。 1.1 ARM9嵌入式实验教学系统的描述 本教学实验系统采用了核心主板加扩展板的设计方式, 提供基于微处理器的核心主板, 将微处理器所有的I/O全部引出, 在核心主板上面只提供最基本的接口, 而对于一些特殊用 途的USB接口、以太网接口、GPRS接口和GPS接口, 以及网络接口、音频接口等,都以扩展板形式提供, 这样, 可以让学生在实验教学平台上进行主流技术硬件电路设计实验, 切实掌握部分硬件工作原理。 实验平台建设最重要的内容是微处理器的确定。本文采用已成为主流,成本低、性能高、低功耗, 而且供货厂家较多, 符合嵌入式系统发展趋势, 目前是世界上应用最多的RISC体系结构, 被广泛应用在移动通信、消费电子、工业控制等领域的32位微处理器ARM9芯片:即三星公司的S3C2440A芯片, 该芯片是目前国内使用最广的经典ARM 芯片, 非常适合教学, 充分体现嵌入式系统对资源、成本、可靠性有严格需要的特点。

嵌入式系统概论讲解

第一章嵌入式系统概论 参考习题 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

三种嵌入式操作系统综述

中图分类号:tp311 文献标识码:a 文章编号:1009-3044(2014)20-4870-02 li hui 嵌入式系统是以应用为中心,计算机技术为基础,软硬件可剪裁的,适用于对功能、可靠性、功耗、成本等有严格要求的专用计算机系统。它包括硬件和软件两部分,硬件有嵌入式微处理器、i/o接口和外围设备,软件部分由嵌入式操作系统和用户应用程序两部分组成。嵌入式操作系统eos(embedded operating system)是嵌入式系统的核心部分,也是伴随嵌入式系统发展到一定阶段而产生的。嵌入式操作系统的发展和嵌入式系统技术发展是相辅相成,不可分离的。除了通用操作系统的基本功能外,嵌入式操作系统还有强实时性、可装卸、小巧、强可靠性、弱交互性等特点。 1 三种通用的eos分析 1.1 linux linux起源于芬兰一名业余爱好,可以免费使用,是目前被广泛使用的一款源代码开放的操作系统。linux起源于网络,伴随着网络的发展,它已成为一个功能强悍、设计臻美的操作系统。是很多嵌入式系统的理想选择。主要特性如下: 1)内核精简,其稳定性和性能非常高,并且支持多用户多任务。 2)源码开放,有广大软件开发者的支持,具有丰富的软件资源,,结构灵活,适用面广。 3)可移植性好。linux的核心移植到新微处理器上,基本无需修改。linux的书写符合ieee posix 1标准,在linux平台上开发的应用程序也拥有良好的可移植性。 4)在不同的cpu都适用,支持多种体系结构, linux支持几乎所有主流芯片,开发和使用都很容易。 5)用户可定制,可提供图形化的定制和配置工具。 6)高可靠性和系统安全性。 linux采取很多安全防范措施,包括读写访问控制,还在多用户环境中提供带保护的子系统、核心授权等服务。 8)常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。 9)提供实时版本,如rt linux版和完善的嵌入式方案解决嵌入式的存储方案。 1.3 μc/os-ⅲ μc/os-ⅲ是可升级,可固化,基于优先级的实时内核。它对任务的个数无限制,支持现代实时内核的大部分功能,例如资源管理、同步、任务间的通信等。μc/os-ⅲ的特点如下:1)实时性。μc/os-ⅲ是基于静态优先级的抢占式的多任务处理内核,它正在运行的经常是最紧急的就绪任务。μc/os-iii采用时间片轮转调度机制,即允许多个任务拥有相同的优先级,当多个相同优先级的任务就绪时,并且这个优先级是目前最高的,μc/os-ⅲ会分配用户定义的时间片给每个任务去运行。 2)可移植性。μc/os-ⅲ的源代码绝大部分是根据ansi-c标准写的。便于移植到其他微处理器上。3)可固化,可裁剪。有选择使用所需的系统服务,以减少内核存储空间。 4)可确定性。μc/os-ⅲ的中断响应时间是可以确定的,提供的大部分服务的执行时间也是可以确定的。不依赖于任务的多少。 2 三种嵌入式操作系统比较 2.1 μc/os-ⅲ与linux比较 linux系统是完全免费的,在信息、家电、工业控制方面应用广泛。我们从以下五个方面对linux和μc/os-ⅲ进行比较。 1)实时性:μc/os-ⅲ采用抢占式多任务内核,实时性比较强,linux的实时性需要改进,但可用实时版本弥补。

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

第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代码的两大优势是什么

嵌入式系统的现状和发展前景

嵌入式现状及其发展趋势 嵌入式就是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。可以这样认为,嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。 一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 一、嵌入式发展的现状: 目前嵌入式系统除了部分为32 位处理器外,大量存在的是8 位和16 位的嵌入式微控制器(MCU) ,嵌入式系统是计算机应用的另一种形态,正如前所述它 与通用计算机应用不同:嵌入式计算机是以嵌入式系统的形式隐藏在各种装置、产品和系统之中的一种软硬件高度专业化的特定计算机系统。目前根据其发展现状,嵌入式计算机可以分成下面几类: (1) 嵌入式微处理器(Embedded MicroprocessorUnit , EMPU) 嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。 (2) 嵌入式微控制器(Microcontroller Unit , MCU) 嵌入式微控制器又称单片机。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROMPEPROM、RAM、总线、总线逻辑、定时P计数器、WatchDog、IPO、串行口、脉宽调制输出、APD、DPA、Flash RAM、E2PROM 等各种必要功能和外设。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本。和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。 (3) 嵌入式DSP 处理器( Embedded Digital SignalProcessor , EDSP) DSP 处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP 算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面DSP 算法正在大量进入嵌入式领域,DSP 应用正从在通用单片机中以普通指令实现DSP 功能,过渡到采用嵌入式DSP 处理器。 (4) 嵌入式片上系统(System On Chip) 随着EDI 的推广和VLSI 设计的普及化,及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临, 这就是System On

归纳嵌入式系统概论习题

第一题单项选择题 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

嵌入式系统综述教程文件

嵌入式系统综述

嵌入式系统综述报告 学生姓名:_______________________ 入学年份:________________________ 专业:________________________ 导师:________________________ 时间:________________________

嵌入式系统综述 Xx (xxxxxxxxxxxx) 摘要:以嵌入式系统的日常应用引入,从嵌入式系统的含义、组成、特点及分类出发,对嵌入式系统的发展进行深入介绍;嵌入式技术是当今最热门的技术之一,在发展上与 Internet技术融合成为趋势;随信息网络时代快速发展,在各领域中嵌入式系统得到了广泛应用;分析了嵌入式新一轮的发展面貌。 关键词: 嵌入式系统;Internet技术融合;发展趋势;广泛应用 Review of Embedded System Li Qiang (School of Information Engineering , Southwest University of Science and Technology,Mianyang,Sichuan,621010) Abstract:In daily application of the embedded system introduced from the definition, composition, characteristics and classification of the embedded system, in-depth introduction to the development of embedded systems;Embedded technology is one of the hottest technology today, with the Internet technology on the development of fusion as trenden;With the rapid development of information network era, embedded system has been widely used in various fields;Analysis of the embedded face a new round of development Keywords: Embedded system;Internet technology integration;The development trend; Widely used 1 引言

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

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

相关文档