基于ARM的嵌入式开发技术_第1页
基于ARM的嵌入式开发技术_第2页
基于ARM的嵌入式开发技术_第3页
基于ARM的嵌入式开发技术_第4页
基于ARM的嵌入式开发技术_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、12/12/011嵌入式系统设计技术曾祥进华中科技大学智能所 系统总体设计1 1 系统功能和性能系统功能和性能2 2 单片机及关键芯片的选型单片机及关键芯片的选型3 3 系统基本结构的确立系统基本结构的确立4 4 软、硬件功能的划分软、硬件功能的划分 单片机应用系统的设计单片机应用系统的设计开始明确任务选型芯片软硬件划分硬件设计软件设计联机调试排除故障固化程序完成单片机系统设计过程 单片机最小系统设计单片机最小系统设计 存储器设计(存储器设计(EEPROM, RAMEEPROM, RAM) 键盘和液晶显示电路设计键盘和液晶显示电路设计 A/D, D/A A/D, D/A输入输出通道设计输入输出

2、通道设计 电源设计电源设计 抗干扰电路抗干扰电路 硬件设计开始系统定义软件结构设计建立数学模型绘制程序流程图编写程序汇编在线仿真调试程序有错否?修改程序固化到EPROM结束YN软件设计软件设计 1. 1. 系统定义系统定义 定义说明各输入定义说明各输入/ /输出口的功能输出口的功能 合理分配存储空间合理分配存储空间 面板控制开关、按键等输入量以及显示、打印面板控制开关、按键等输入量以及显示、打印等等 针对可能出现的由干扰引起的错误进行容错设针对可能出现的由干扰引起的错误进行容错设计计 明确所设计的用户程序应达到的精度、速度指明确所设计的用户程序应达到的精度、速度指标。标。 2. 2. 软件结构

3、设计软件结构设计3. 3. 程序设计程序设计用户实 时监控程序模块1模块2模块n模块1 . 1模块2 . 1模块n . 1模块n . 2模块n . 2 . 1调度调用 系统调试包括硬件调试、软件调试和软、硬件联系统调试包括硬件调试、软件调试和软、硬件联调。根据调试环境不同,系统调试又分为模拟调试调。根据调试环境不同,系统调试又分为模拟调试与现场调试。各种调试所起的作用是不同的,它们与现场调试。各种调试所起的作用是不同的,它们所处的时间段也不一样,不过它们的目的都是为了所处的时间段也不一样,不过它们的目的都是为了查出用户系统中存在的错误或缺陷。查出用户系统中存在的错误或缺陷。系统总体调试系 统

4、调 试 开 始硬 件 调 试软 件 调 试系 统 联 调现 场 调 试调 试 结 束模拟调试系统调试的一般过程如下图系统调试的一般过程如下图1. 调试工具 (1) (1) 单片机开发系统单片机开发系统 (2) (2) 万用表万用表 (3) (3) 逻辑脉冲发生器与模拟信号发生器逻辑脉冲发生器与模拟信号发生器 (4) (4) 示波器示波器 (5) (5) 逻辑分析仪逻辑分析仪 2. 调试方法 (1) (1) 硬件调试硬件调试 静态调试静态调试 动态调试动态调试 (2) (2) 软件调试软件调试 先独立后联机先独立后联机 先分块后组合先分块后组合 先单步后连续先单步后连续 (3) 系统联调 软、硬

5、件能否按预定要求配合工作。软、硬件能否按预定要求配合工作。 系统运行中是否有潜在的错误。系统运行中是否有潜在的错误。 系统的动态性能指标是否系统的动态性能指标是否 满足设计要求。满足设计要求。(4) (4) 现场调试现场调试应用系统设计举例应用系统设计举例LCDLCD演示演示PROTUESPROTUES演示演示内容提要v关于ARMv嵌入式系统的开发流程v基于ARM的开发技术与环境vARM的SOC开发ARM应用系统的设计应用系统的设计vARM=Advanced RISC MachineRISC 的典型代表32位处理器技术嵌入式领域的主力军vARM的产品ARM处理器内核,以IP的形式提供给IC生产

6、厂家v硬核v软核ARM开发工具、SOC开发工具、评估板等ARM公司不生产芯片ARM的特点(1)vARM微处理器的主要特点系列化:ARM7, ARM9, ARM10, 独特的指令系统v32位架构,定长。32位ARM指令16位Thumb指令v大部分为单周期指令v条件执行vLoad/Store流水线结构vARM7:3级流水线vARM9:5级流水线高性能、低功耗 ARM的特点(2)vARM微处理器的主要特点支持JTAG调试7种工作模式vUser : 用户模式,非特权vFIQ : 快速中断vIRQ : 普通中断vSupervisor 管理模式vAbort : 存取异常模式vUndef : 未定义指令模式

7、vSystem : 系统模式2种工作状态vARMvThumbv支持ARM/Thumb的交互工作ARM的应用关于嵌入式系统v典型的嵌入式系统的一般由以下几部分组成嵌入式微处理器外围硬件设备嵌入式操作系统应用程序v嵌入式系统的典型特征专用硬件软件嵌入式系统的开发流程确定产品需求确定产品需求选择主要芯片确定编程语言选择开发环境RTOS的使用选择开发方案选择开发方案设计与调试设计与调试测试测试测试工具与其他辅助设备产品产品嵌入式系统的开发设计与调试设计生产编译器链接器调试器IDE操作系统软件测试评估板仿真器逻辑分析仪边界扫描测试仪编程器开发环境v什么是嵌入式开发环境:源程序编译器目标文件链接器可重定位

8、程序定位器可执行文件u编译器/汇编器/链接定位器u调试器/仿真器u主机(Host)及其工作平台u实时操作系统(可选)u目标评估系统(可选)u测试工具(软件/硬件/协议等,可选)u其他辅助设备(可选)n 典型的开发环境ARM的编译器(1)vADS1.2ARM公司出品IDE环境,包括vARM/Thumb汇编器:armasmvANSI C 编译器 - armcc 和 tccvISO / Embedded C+ 编译器 - armcpp and tcppv链接器 armlinkvWindows 集成开发环境 CodeWarriorv格式转换器 fromelfv库管理器 - armarv调试器模拟调试器

9、:ARMulatorJTAG调试:AXD(与Multi-ICE配合)支持所有ARM内核,最新版本:RealView2.0ARM的编译器(2)vEW-ARM瑞典IRA公司出品v著名的嵌入式工具提供商,以提供编译器/协议栈/统一建模工具著称v主要产品:Embeded Workbench(EW)、Make APP、Visual State等EW-ARM:针对ARM的集成开发环境:vC/C+编译器vC-SPY 模拟调试器vROM-Monitorv多种级别代码优化方法,满足用户在速度、文件大小方面的要求v内建ARM特性优化器v支持多种断点模式v支持Nucleus, VxWorks等RTOSvGreenh

10、illsvGNU嵌入式系统的调试(1)v嵌入式系统的调试有四种基本方法: 模拟调试(Simulator)软件调试(Debugger)BDM/JTAG调试(BDM/JTAG Debugger)全仿真调试(Emulator)嵌入式系统的调试(2)v模拟调试(Simulator) 调试工具和待调试的嵌入式软件都在主机上运行,由主机提供一个模拟的目标运行环境,可以进行语法和逻辑上的调试。优点:简单方便,不需要目标板,成本低缺点:功能非常有限,无法实时调试大多数调试工具都提供Simulator功能嵌入式系统的调试(3)v软件调试(Debugger) 主机和目标板通过某种接口(通常是串口)连接,主机上提供

11、调试界面,待调试软件下载到目标板上运行。 这种方式的先决条件是要在Host和Target之间建立起通信联系(目标板上称为监控程序Monitor)优点:纯软件,价格较低,简单,软件调试能力较强缺点:需要事先烧制Monitor(往往需多次试验才能成功)且目标板工作正常,功能有限,特别是硬件调试能力较差。PCTargetMonitor串口嵌入式系统的调试(4)vBDM/JTAG调试 这种方式有一个硬件调试体。该硬件调试体与目标板通过BDM、JTAG等调试接口相连,与主机通过串口、并口、网口或USB口相连。待调试软件通过BDM/JTAG调试器下载到目标板上运行。优点:方便、简单,无须制作Monitor

12、,软硬件均可调试缺点:需要目标板,且目标板工作基本正常(至少MCU工作正常),仅适用于有调试接口的芯片TargetPC接口BDM/JTAG Debugger嵌入式系统的调试(5)v全仿真调试(Emulator) 这种方式用仿真器完全取代目标板上的MCU,因而目标系统对开发者来说完全是透明的、可控的。仿真器与目标板通过仿真头连接,与主机有串口、并口、网口或USB口等连接方式。由于仿真器自成体系,调试时既可以连接目标板,也可以不连接目标板(Stand alone)。优点:功能非常强大,软硬件均可做到完全实时在线调试缺点:价格昂贵。ARM的调试方式v模拟调试ADS1.2:ARMulatorTrace

13、32:SimulatorEW-ARM:C-spyv软件调试ADS1.2:Angel(串口)vJTAG调试ARM:Multi-ICETrace32-ICD for ARMHitex:Tanto for ARMv全仿真调试Trace32-FIRE/ICETrace32-ICD的特点(1)l德国Lauterbach公司出品lTRACE32-ICD是基于集成在片内的调试和跟踪逻辑的在线调试工具。这些接口包括:lBDM:背景调试模式,主要由Motorola使用lJTAG:边界扫描,用于测试和调试lOCDS:在片调试支持,由Infineon公司定义lNEXUS: IEEE-ISTO 5001标准所定义的调

14、试接口l模块化结构,用户可根据自己的需求配置l通用性仿真工具,只需更换仿真头,就可以调试其他CPUTrace32-ICD的特点(2)v强大、灵活的调试手段丰富的断点类型强大的运行控制统一的命令集,支持批处理高效灵活的脚本语言Practicev支持RTOS调试v支持FLASH在线编程v支持嵌入式软件测试v支持多CPU调试和多内核调试v个性化界面,用户可自行设计菜单、按键等其它ARM调试工具(1)vMulti-ICEARM公司出品与ADS配套使用支持不同的ARM内核另有Multi-trace模块可选其它ARM调试工具(2)vTANTO(=Test and Analysis Tool)德国Hitex

15、公司出品, ARM、PowerPC等JTAG/BDM调试工具模块化结构:v主基模块TB(Tanto Base)v端口追踪模块PT(Port Trace)v总线链接模块BL(Bus Link)v总线追踪模块BT(Bus Trace)v仿真头PL(Port Link)主机连接方式:串口/USB/网口统一的调试界面,支持C/C+,支持RTOS调试开放的体系结构,兼容性好评估板的好处n目标评估系统(Evaluation board)n芯片厂家在推销自己的MCU时,常常会推出针对该芯片的评估板。评估板将MCU所的功能充分展示出来(可能还带有部分软件),用户可直接使用,并借鉴其设计方法。n使用评估板可大大

16、加快硬件开发和软件调试的进程。选择实时操作系统RTOSv对于复杂的嵌入式系统应考虑使用RTOSvRTOS的作用:提供API(应用编程接口):操作系统为应用程序员提供可供调用的API,允许程序员致力于应用程序的开发 简化系统设计:实时嵌入式系统比非实时系统更难设计. 使用实时多任务的内核能简化系统设计,可将复杂的应用程序分为几个不同的任务,由内核去对他们协调处理v如下支持ARM的实时操作系统:Nucleus, uc-os, Vxwork, winCEOSERTOS简介(1)vNucleus美国ATI公司出品微内核技术模块化结构,可随意裁剪提供完全源代码无产品版税(Royalties Free)无

17、BSP开发,可移植性强丰富的开发手段支持绝大多数嵌入式微处理器,包括ARM Board Hardware BSP RTOS ApplicationNucleusRTOS简介(2)vOSE瑞典Enea公司出品支持复杂的分布式系统极强的处理能力强大的纠错能力支持软硬件热交换严格的安全认证强大的第三方支持先进的消息传递机制富有特色的链接管理(Link Handler)支持绝大多数嵌入式微处理器,包括ARM嵌入式系统的测试(1)v嵌入式技术的发展催生了很多新技术,新技术带来了一系列新的问题:新技术IC设计越来越复杂引脚封装小型化引脚数量急剧增加PCB走线越来越细可编程部件在线编程新市场缩小产品尺寸增加

18、产品功能提高时钟速率缩短产品上市时间“老革命遇上新问题”PCB两面焊,埋入式过孔和走线缺少物理入口,象SMT和BGA引脚测试非常困难测试夹具难以测试原型组件小尺寸PCB无法预留测试点许多CPLD和FLASH无法使 用插座编程每选一新的可编程器件,工 程师就要学新的编程方法DQQBed-of-Nails Test FixtureBoard-Under-Test嵌入式系统的测试(2)v传统测试/调试方法嵌入式系统的测试(3)v新技术,新方法使用边界扫描测试技术可以有效地解决这些问题!边界扫描来源于IEEE Std 1149.1,是由联合测试行动小组(Joint Test Action Group)

19、制定的一种测试逻辑,所以又称JTAG标准。JTAG作为集成电路的一部分,可以完成以下功能: 测试器件间的相互连线; 测试集成电路本身; 在线编程CPLD、FPGA、FLASH; JTAG仿真调试vCorelis公司的ScanPlus边界扫描测试仪嵌入式系统的测试(4)ScanPLUS边界扫描测试仪边界扫描测试仪u美国Corelis出品u由硬件和软件两部分组成嵌入式系统的测试(5)ScanPLUS的组成的组成软件软件 ScanPlus Runner:检测执行、控制JTAG 控制器 进行检测工作的控制部分; ScanPlus TPG:产生线路检测文件; ScanPlus ADO:高级诊断部分; S

20、canPlus Debugger:可以对线路板故障部分进 行在线细化、逐步和定制的测试,以找 出故障原因,并提供详细的真值表; ScanPlus Merge: 可以进行整合测试,可以对母 板及其带有的多块子板进行整合测试, 以节省测试时间和手续;嵌入式系统的测试(6)ScanPLUS的组成的组成软件软件 ScanPlus Runner:可以进行CPLD的在线编程; ScanPlus Flash Generator:Flash在线编程数据文件 的产生部分; ScanPlus Flash Programmer:Flash在线编程执行部分 嵌入式系统的测试(7)ScanPLUS的组成的组成硬件硬件J

21、TAG Controller:JTAG 控制器控制器u功能:将功能:将ScanPlus Runner生成的检测序列按生成的检测序列按照与计算机的连接协议转化成照与计算机的连接协议转化成JTAG检测数据检测数据链,通过链,通过JTAG连接线传送给目标板。连接线传送给目标板。嵌入式系统的测试(8)vScanPLUS工作原理ISP 模块ISP 模块(CPLD、FPGA、Flash)(CPLD、FPGA、Flash)TPG模块TPG模块Runner+ADORunner+ADO模块模块JTAG 控制JTAG 控制模块模块SCANIOSCANIO模块模块被测对象被测对象检测数据链检测数据链结果报告结果报告

22、程序代码程序代码网络表网络表结构表结构表器件型号器件型号BSDL文件BSDL文件网络表网络表结构表结构表组信息组信息存储器、FIFO 信息存储器、FIFO 信息BSDL文件BSDL文件SOC与ARM(1)vSOC概念SOC=System On Chip,即在片系统,或系统集成芯片SOC就是在单个芯片上实现一个复杂的系统。这一技术的得以实现主要是由于现今EDA 技术的推广,VLSI设计的普及化,以及新的设计理念(基于基于IP的设计的设计)的诞生。SOC与ARM(2)vSOC实现通常是采用基于IP的设计方法v用户首先定义出整个应用系统v通过调用IP或现成的 VLSI 设计库中的器件,在计算机中模拟实现v仿真调试v将设计图交给半导体工厂制作样品。除个别无法集成的器件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论