基于ARM的嵌入式开发技术

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
优点:方便、简单,无须制作Monitor,软硬件均可 调试
缺点:需要目标板,且目标板工作基本正常(至少 MCU工作正常),仅适用于有调试接口的芯片
PC
接 口
BDM/JTAG Debugger
Target
16
嵌入式系统的调试(5)
全仿真调试(Emulator)
这种方式用仿真器完全取代目标板上的MCU,因而目 标系统对开发者来说完全是透明的、可控的。仿真器与 目标板通过仿真头连接,与主机有串口、并口、网口或 USB口等连接方式。由于仿真器自成体系,调试时既可 以连接目标板,也可以不连接目标板(Stand alone)。
嵌入式系统的调试有四种基本方法:
模拟调试(Simulator) 软件调试(Debugger) BDM/JTAG调试(BDM/JTAG Debugger) 全仿真调试(Emulator)
13
嵌入式系统的调试(2)
模拟调试(Simulator)
调试工具和待调试的嵌入式软件都在主机上运行,由 主机提供一个模拟的目标运行环境,可以进行语法和 逻辑上的调试。
调试器/仿真器 主机(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 调试器
ScanPLUS——工作原理
程序代码 网络表 结构表
器件型号 BSDL文件
20
其它ARM调试工具(1)
Multi-ICE
ARM公司出品 与ADS配套使用 支持不同的ARM内核 另有Multi-trace模块可选
21
其它ARM调试工具(2)
TANTO(=Test and Analysis Tool)
德国Hitex公司出品, ARM、PowerPC等JTAG/BDM 调试工具 模块化结构:
模块化结构,用户可根据自己的需求配置 通用性仿真工具,只需更换仿真头,
就可以调试其他CPU
19
Trace32-ICD的特点(2)
强大、灵活的调试手段
丰富的断点类型 强大的运行控制 统一的命令集,支持批处理 高效灵活的脚本语言Practice
支持RTOS调试 支持FLASH在线编程 支持嵌入式软件测试 支持多CPU调试和多内核调试 个性化界面,用户可自行设计菜单、按键等
主基模块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: 可以进行整合测试,可以对母 板及其带有的多块子板进行整合测试, 以节省测试时间和手续;
测试器件间的相互连线; 测试集成电路本身; 在线编程CPLD、FPGA、FLASH; JTAG仿真调试
Corelis公司的ScanPlus边界扫描测试仪
29
嵌入式系统的测试(4)
ScanPLUS——边界扫描测试仪 美国Corelis出品 由硬件和软件两部分组成
30
嵌入式系统的测试(5)
ScanPLUS的组成——软件 • ScanPlus Runner:检测执行、控制JTAG 控制器
Undef :
未定义指令模式
System : 系统模式
2种工作状态
ARM
Thumb
支持ARM/Thumb的交互工作
5
ARM的应用
6
关于嵌入式系统
典型的嵌入式系统的一般由以下几部分组成
嵌入式微处理器 外围硬件设备 嵌入式操作系统 应用程序
嵌入式系统的典型特征
专用 硬件 软件
7
嵌入式系统的开发——流程
Application
RTOS
Nucleus
BSP
Board Hardware
25
RTOS简介(2)
OSE
瑞典Enea公司出品 支持复杂的分布式系统 极强的处理能力 强大的纠错能力 支持软硬件热交换 严格的安全认证 强大的第三方支持 先进的消息传递机制 富有特色的链接管理(Link Handler) 支持绝大多数嵌入式微处理器,包括ARM
32
嵌入式系统的测试(7)
ScanPLUS的组成——硬件 JTAG Controller:JTAG 控制器
功能:将ScanPlus Runner生成的检测序列按照与计 算 机 的 连 接 协 议 转 化 成 JTAG 检 测 数 据 链 , 通 过 JTAG连接线传送给目标板。
33
嵌入式系统的测试(8)
EW-ARM:针对ARM的集成开发环境:
C/C++编译器 C-SPY 模拟调试器 ROM-Monitor 多种级别代码优化方法,满足用户在速度、文件大小方面的要求 内建ARM特性优化器 支持多种断点模式 支持Nucleus, VxWorks等RTOS
Greenhills GNU
12
嵌入式系统的调试(1)
评估板的好处
目标评估系统(Evaluation board)
芯片厂家在推销自己的MCU时,常常会推出针对该芯片 的评估板。评估板将MCU所的功能充分展示出来(可能 还带有部分软件),用户可直接使用,并借鉴其设计方法。 使用评估板可大大加快硬件开发和软件调试的进程。 目前旋极公司提供ARM7、ARM9和DragonBall的评估板
Bed-of-Nails Test Fixture 28
嵌入式系统的测试(3)
新技术,新方法
使用边界扫描测试技术可以有效地解决这些问题! 边界扫描来源于IEEE Std 1149.1,是由联合测试行动 小组(Joint Test Action Group)制定的一种测试逻辑, 所以又称JTAG标准。 JTAG作为集成电路的一部分,可以完成以下功能:
大部分为单周期指令 条件执行 Load/Store
流水线结构
ARM7:3级流水线 ARM9:5级流水线
高性能、低功耗
4
ARM的特点(2)
ARM微处理器的主要特点
支持JTAG调试
7种工作模式
User :
用户模式,非特权
FIQ :
快速中断
IRQ :
普通中断
Supervisor 管理模式
Abort :
存取异常模式
优点:功能非常强大,软硬件均可做到完全实时在线 调试 缺点:价格昂贵。
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
优点:纯软件,价格较低,简单,软件调试能力较强 缺点:需要事先烧制Monitor(往往需多次试验才能 成功)且目标板工作正常,功能有限,特别是硬件调 试能力较差。
串 PC 口
Monitor
Target
15
嵌入式系统的调试(4)
BDM/JTAG调试
这种方式有一个硬件调试体。该硬件调试体与目标板通 过BDM、JTAG等调试接口相连,与主机通过串口、并 口、网口或USB口相连。待调试软件通过BDM/JTAG调 试器下载到目标板上运行。
优点:简单方便,不需要目标板,成本低 缺点:功能非常有限,无法实时调试
大多数调试工具都提供Simulator功能
14
嵌入式系统的调试(3)
软件调试(Debugger)
主机和目标板通过某种接口(通常是串口)连接,主机 上提供调试界面,待调试软件下载到目标板上运行。 这种方式的先决条件是要在Host和Target之间建立起通 信联系(目标板上称为监控程序Monitor)
26
嵌入式系统的测试(1)
嵌入式技术的发展催生了很多新技术,新技术带 来了一系列新的问题:
新市场
•缩小产品尺寸 •增加产品功能 •提高时钟速率 •缩短产品上市时间
新技术
•IC设计越来越复杂 •引脚封装小型化 •引脚数量急剧增加 •PCB走线越来越细 •可编程部件在线编程
27
嵌入式系统的测试(2)
23
选择实时操作系统RTOS
对于复杂的嵌入式系统应考虑使用RTOS RTOS的作用:
提供API(应用编程接口):操作系统为应用程序员提供 可供调用的API,允许程序员致力于应用程序的开发 简化系统设计:实时嵌入式系统比非实时系统更难设计. 使用实时多任务的内核能简化系统设计,可将复杂的应 用程序分为几个不同的任务,由内核去对他们协调处理
2003年珠海ARM嵌入式开发/软件测试技术研讨会
基于ARM的 嵌入式开发技术
作者:皮永辉 深圳旋极历通科技有限公司 2003-9
内容提要
关于ARM 嵌入式系统的开发流程 基于ARM的开发技术与环境 ARM的SOC开发
2
关于ARM
ARM=Advanced RISC Machine
RISC 的典型代表 32位处理器技术 嵌入式领域的主力军
传统测试/调试方法
“老革命遇上新问题”
•PCB两面焊,埋入式过孔和走线
•缺少物理入口,象SMT和BGA引脚测试非常困难
•测试夹具难以测试原型组件 •小尺寸PCB无法预留测试点
Board-Under-Test
•许多CPLD和FLASH无法使
DQ
用插座编程
•每选一新的可编程器件,工
Q
程师就要学新的编程方法
确定产品需求 选择开发方案 设计与调试
测试
选择主要芯片 确定编程语言 选择开发环境 RTOS的使用 测试工具与其他
辅助设备
产品 8
嵌入式系统的开发——设计与调试
IDE 编译器
调试器
链接器
设 计
操作系统
软件测试
生 产
评估板
仿真器
逻辑分析仪
边界扫描测试仪
编程器
9
开发环境
什么是嵌入式开发环境:
编译器/汇编器/链接定位器
• 模拟调试器:ARMulator • JTAG调试:AXD(与Multi-ICE配合)
支持所有ARM内核,最新版本:RealView2.0
11
ARM的编译器(2)
EW-ARM 瑞典IRA公司出品
著名的嵌入式工具提供商,以提供编译器/协议栈/统一建模工具著称 主要产品:Embeded Workbench(EW)、Make APP、Visual State等
全仿真调试
Trace32-FIRE/ICE
18
Trace32-ICD的特点(1)
德国Lauterbach公司出品 TRACE32-ICD是基于集成在片内的调试和跟踪逻
辑的在线调试工具。这些接口包括:
BDM:背景调试模式,主要由Motorola使用 JTAG:边界扫描,用于测试和调试 OCDS:在片调试支持,由Infineon公司定义 NEXUS: IEEE-ISTO 5001标准所定义的调试接口
31
嵌入式系统的测试(6)
ScanPLUS的组成——软件
• ScanPlus Runner:可以进行CPLD的在线编程; • ScanPlus Flash Generator:Flash在线编程数据文件
的产生部分; • ScanPlus Flash Programmer:Flash在线编程执行部分
旋极公司提供如下支持ARM的实时操作系统:
Nucleus OSE
24
RTOS简介(1)
Nucleus
美国ATI公司出品 微内核技术 模块化结构,可随意裁剪 提供完全源代码 无产品版税(Royalties Free) 无BSP开发,可移植性强 丰富的开发手段 支持绝大多数嵌入式微处理器, 包括ARM
ARM的产品
ARM处理器内核,以IP的形式提供给IC生产厂家
硬核 软核
ARM开发工具、SOC开发工具、评估板等 ARM公司不生产芯片
3
ARM的特点(1)
ARM微处理器的主要特点
系列化:ARM7, ARM9, ARM10, … 独特的指令系统
32位架构,定长。
• 32位ARM指令 • 16位Thumb指令
相关文档
最新文档