获取更多权威电子书 请登录 www.eetchina.com
ARM 嵌入式系统开发综述
ARM 开发工程师入门宝典
上海纵海电子科技有限公司深圳分公司
白先生
电话:0755-61280116
传真:0755-61288118
手机:013631593896
QQ:857471961
地址:深圳市福田区深南大道6017号都市阳光3栋6C室
E-mail: bailibin@admiral-ic.com
Website: www.admiral-ic.com
获取更多权威电子书 请登录 www.eetchina.com
硬件工程师必读攻略----如何通过仿真有效提高数模混合设计性能(上)
2 / 28
前 言
嵌入式系统通常是以具体应用为中心,以处理器为核心且面向实际应用的软
硬件系统,其硬件是整个嵌入式系统运行的基础和平台,提供了软件运行所需的
物理平台和通信接口;而嵌入式系统的软件一般包括操作系统和应用软件,它们
是整个系统的控制核心,提供人机交互的信息等。所以,嵌入式系统的开发通常
包括硬件和软件两部分的开发,硬件部分主要包括选择合适的 MCU 或者 SOC
器件、存储器类型、通讯接口及 I/O、电源及其他的辅助设备等;软件部分主要
涉及 OS porting 和应用程序的开发等,与此同时,软件中断调试和实时调试、
代码的优化、可移植性/可重用以及软件固化等也是嵌入式软件开发的关键。
嵌入式系统开发的每一个环节都可以独立地展开进行详细的阐述,而本文的
出发点主要是为嵌入式开发的初学者者提供一个流程参考。因为对于初学者在面
对一个嵌入式开发项目的时候,往往面临着诸多困难,如选择什么样的开发平
台?什么样的器件类型?在进行编译时怎样实现代码优化?开发工具该如何选
择和使用?在进行程序调试时应该注意那些问题以及选择什么样的嵌入式 OS
等等。希望通过本文,能帮助初学者了解有关 ARM 嵌入式系统开发流程。
获取更多权威电子书 请登录 www.eetchina.com
硬件工程师必读攻略----如何通过仿真有效提高数模混合设计性能(上)
3 / 28
目 录
前 言 .......................................................................................... 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
获取更多权威电子书 请登录 www.eetchina.com
硬件工程师必读攻略----如何通过仿真有效提高数模混合设计性能(上)
4 / 28
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 平台
获取更多权威电子书 请登录 www.eetchina.com
硬件工程师必读攻略----如何通过仿真有效提高数模混合设计性能(上)
5 / 28
http://www.arm.com/products/DevTools/IntegratorFamily.html
RealView Integrator-CP 平台(RealView Integrator Compact Platform)可以整
合 Core Module。Core Module FPGA 还整合了 ARM PrimeCell 系列周边器件
和内存控制器,包括 LCD,MMC 卡,音频解码,以及客户自己开发 AHB 接口
器件。
! Versatile PB/AB 平台
http://www.arm.com/products/DevTools/VersatileFamily.html
Versatile Platform Baseboard(Versatile PB)是一个可以开发软硬件的 PCB 平
台,可以用 LogicTile,AnalyzerTile 进行扩展,用来连接用户开发的器件,逻辑
分析仪等。而 Versatile Application Baseboard(Versatile AB)主要区别是硬件
扩展功能有限,因而主要用来进行软件应用开发。
! Emulation Baseboard(EB)
http://www.arm.com/products/DevTools/EB.html
EB 平台有一块相对大的 FPGA(Xilinx Virtex2 XC2V6000)可以放下用户设计
的周边器件,EB 可以通过 CoreTile 和 LogicTile 进行扩展,使用户做原型验证
更加方便。
! ESL 虚拟平台
http://www.arm.com/products/DevTools/RealViewCREATE_Family.html
ARM ESL 虚拟平台利用 SystemC 模型构建整个 SoC 系统,可以基于两种
模型构建:时钟精确型(CA)和时钟近似型(CX),CA 模型提供了和实际硬件
时钟节拍一直的精确度,利用 ESL SoC Designer 工具在 ESL CA 模型构建虚拟