基于ARM的嵌入式开发技术
优点:方便、简单,无须制作Monitor,软硬件均可 调试
缺点:需要目标板,且目标板工作基本正常(至少 MCU工作正常),仅适用于有调试接口的芯片
PC
接 口
BDM/JTAG Debugger
Target
16
嵌入式系统的调试(5)
全仿真调试(Emulator)
这种方式用仿真器完全取代目标板上的MCU,因而目 标系统对开发者来说完全是透明的、可控的。仿真器与 目标板通过仿真头连接,与主机有串口、并口、网口或 USB口等连接方式。由于仿真器自成体系,调试时既可 以连接目标板,也可以不连接目标板(Stand alone)。
主基模块TB(Tanto Base) 端口追踪模块PT(Port Trace) 总线链接模块BL(Bus Link) 总线追踪模块BT(Bus Trace) 仿真头PL(Port Link)
主机连接方式:串口/USB/网口 统一的调试界面,支持C/C++,支持RTOS调试 开放的体系结构,兼容性好
22
进行检测工作的控制部分; • ScanPlus TPG: 产生线路检测文件; • ScanPlus ADO: 高级诊断部分; • ScanPlus Debugger:可以对线路板故障部分进
行在线细化、逐步和定制的测试,以找 出故障原因,并提供详细的真值表; • ScanPlus Merge: 可以进行整合测试,可以对母 板及其带有的多块子板进行整合测试, 以节省测试时间和手续;
Undef :
未定义指令模式
System : 系统模式
2种工作状态
ARM
Thumb
支持ARM/Thumb的交互工作
5
ARM的应用
6
关于嵌入式系统
典型的嵌入式系统的一般由以下几部分组成
嵌入式微处理器 外围硬件设备 嵌入式操作系统 应用程序
嵌入式系统的典型特征
专用 硬件 软件
7
嵌入式系统的开发——流程
20
其它ARM调试工具(1)
Multi-ICE
ARM公司出品 与ADS配套使用 支持不同的ARM内核 另有Multi-trace模块可选
21
其它ARM调试工具(2)
TANTO(=Test and Analysis Tool)
德国Hitex公司出品, ARM、PowerPC等JTAG/BDM 调试工具 模块化结构:
• 模拟调试器:ARMulator • JTAG调试:AXD(与Multi-ICE配合)
支持所有ARM内核,最新版本:RealView2.0
11
ARM的编译器(2)
EW-ARM 瑞典IRA公司出品
著名的嵌入式工具提供商,以提供编译器/协议栈/统一建模工具著称 主要产品:Embeded Workbench(EW)、Make APP、Visual State等
模块化结构,用户可根据自己的需求配置 通用性仿真工具,只需更换仿真头,
就可以调试其他CPU
19
Trace32-ICD的特点(2)
强大、灵活的调试手段
丰富的断点类型 强大的运行控制 统一的命令集,支持批处理 高效灵活的脚本语言Practice
支持RTOS调试 支持FLASH在线编程 支持嵌入式软件测试 支持多CPU调试和多内核调试 个性化界面,用户可自行设计菜单、按键等
调试器/仿真器 主机(Host)及其工作平台 实时操作系统(可选) 目标评估系统(可选) 测试工具(软件/硬件/协议等,可选)
源程序 目标文件
其他辅助设备(可选)
典型的开发环境
可重定位程序
可执行文件
编译器 链接器 定位器
10
ARM的编译器(1)
ADS1.2
ARM公司出品 IDE环境,包括
ARM/Thumb汇编器:armasm ANSI C 编译器 - armcc 和 tcc ISO / Embedded C++ 编译器 - armcpp and tcpp 链接器 – armlink Windows 集成开发环境 – CodeWarrior 格式转换器 – fromelf 库管理器 - armar 调试器
2003年珠海ARM嵌入式开发/软件测试技术研讨会
基于ARM的 嵌入式开发技术
作者:皮永辉 深圳旋极历通科技有限公司 2003-9
内容提要
关于ARM 嵌入式系统的开发流程 基于ARM的开发技术与环境 ARM的SOC开发
2
关于ARM
ARM=Advanced RISC Machine
RISC 的典型代表 32位处理器技术 嵌入式领域的主力军
23
选择实时操作系统RTOS
对于复杂的嵌入式系统应考虑使用RTOS RTOS的作用:
提供API(应用编程接口):操作系统为应用程序员提供 可供调用的API,允许程序员致力于应用程序的开发 简化系统设计:实时嵌入式系统比非实时系统更难设计. 使用实时多任务的内核能简化系统设计,可将复杂的应 用程序分为几个不同的任务,由内核去对他们协调处理
ARM的产品
ARM处理器内核,以IP的形式提供给IC生产厂家
硬核 软核
ARM开发工具、SOC开发工具、评估板等 ARM公司不生产芯片
3
ARM的特点(1)
ARM微处理器的主要特点
系列化:ARM7, ARM9, ARM10, … 独特的指令系统
32位架构,定长。
• 32位ARM指令 • 16位Thumb指令
Application
RTOS
Nucleus
BSP
Board Hardware
25
RTOS简介(2)
OSE
瑞典Enea公司出品 支持复杂的分布式系统 极强的处理能力 强大的纠错能力 支持软硬件热交换 严格的安全认证 强大的第三方支持 先进的消息传递机制 富有特色的链接管理(Link Handler) 支持绝大多数嵌入式微处理器,包括ARM
Bed-of-Nails Test Fixture 28
嵌入式系统的测试(3)
新技术,新方法
使用边界扫描测试技术可以有效地解决这些问题! 边界扫描来源于IEEE Std 1149.1,是由联合测试行动 小组(Joint Test Action Group)制定的一种测试逻辑, 所以又称JTAG标准。 JTAG作为集成电路的一部分,可以完成以下功能:
优点:纯软件,价格较低,简单,软件调试能力较强 缺点:需要事先烧制Monitor(往往需多次试验才能 成功)且目标板工作正常,功能有限,特别是硬件调 试能力较差。
串 PC 口
Monitor
Target
15
嵌入式系统的调试(4)
BDM/JTAG调试
这种方式有一个硬件调试体。该硬件调试体与目标板通 过BDM、JTAG等调试接口相连,与主机通过串口、并 口、网口或USB口相连。待调试软件通过BDM/JTAG调 试器下载到目标板上运行。
ScanPLUS——工作原理
程序代码 网络表 结构表
器件型号 BSDL文件
确定产品需求 选择开发方案 设计与调试
测试
选择主要芯片 确定编程语言 选择开发环境 RTOS的使用 测试工具与其他
辅助设备
产品 8
嵌入式系统的开发——设计与调试
IDE 编译器
调试器
链接器
设 计
操作系统
软件测试
生 产
评估板
仿真器
逻辑分析仪
边界扫描测试仪
编程器
9
开发环境
什么是嵌入式开发环境:
编译器/汇编器/链接定位器
测试器件间的相互连线; 测试集成电路本身; 在线编程CPLD、FPGA、FLASH; JTAG仿真调试
Corelis公司的ScanPlus边界扫描测试仪
29
嵌入式系统的测试(4)
ScanPLUS——边界扫描测试仪 美国Corelis出品 由硬件和软件两部分组成
30
嵌入式系统的测试(5)
ScanPLUS的组成——软件 • ScanPlus Runner:检测执行、控制JTAG 控制器
嵌入式系统的调试有四种基本方法:
模拟调试(Simulator) 软件调试(Debugger) BDM/JTAG调试(BDM/JTAG Debugger) 全仿真调试(Emulator)
13
嵌入式系统的调试(2)
模拟调试(Simulator)
调试工具和待调试的嵌入式软件都在主机上运行,由 主机提供一个模拟的目标运行环境,可以进行语法和 逻辑上的调试。
优点:功能非常强大,软硬件均可做到完全实时在线 调试 缺点:价格昂贵。
17
ARM的调试方式
模拟调试
ADS1.2:ARMulator Trace32:Simulator EW-ARM:C-spy
软件调试
ADS1.2:Angel(串口)
JTAG调试
ARM:Multi-ICE Trace32-ICD for ARM Hitex:Tanto for ARM
旋极公司提供如下支持ARM的实时操作系统:
Nucle(1)
Nucleus
美国ATI公司出品 微内核技术 模块化结构,可随意裁剪 提供完全源代码 无产品版税(Royalties Free) 无BSP开发,可移植性强 丰富的开发手段 支持绝大多数嵌入式微处理器, 包括ARM
31
嵌入式系统的测试(6)
ScanPLUS的组成——软件
• ScanPlus Runner:可以进行CPLD的在线编程; • ScanPlus Flash Generator:Flash在线编程数据文件
的产生部分; • ScanPlus Flash Programmer:Flash在线编程执行部分
EW-ARM:针对ARM的集成开发环境:
C/C++编译器 C-SPY 模拟调试器 ROM-Monitor 多种级别代码优化方法,满足用户在速度、文件大小方面的要求 内建ARM特性优化器 支持多种断点模式 支持Nucleus, VxWorks等RTOS