嵌入式系统设计与开发第9章ARM嵌入式开发工具本章提要9.1ARM下层开发工具9.2ARM开发工具概述9.3ARM的ADS9.4EmbestIDE的介绍9.1ARM下层开发工具•由于程序的编译环境和运行环境不同,所以ARM嵌入式开发采用交叉编译方法进行。•首先,在通用计算机上对源程序进行编写、编译、汇编、连接形成可以在目标系统上运行的目标文件;接着,通过连接/调试装置将目标文件下载到目标系统上运行;源程序在目标系统上运行的情况连接装置在计算机中反映出来,开发人员通过反映出的情况根据开发项目的需要进行相应的修改并重复上述操作直至达到项目开发预期结果。•因此,可以把ARM嵌入式开发工具分为上层装在计算机中的开发工具、中间的连接装置和下层的ARM芯片本身具有的支持嵌入式开发的工具。ARM嵌入式系统实时开发组织结构图9.1.1JTAG接口JTAG接口标准是由测试联合行动组(jointtestactiongroup)于1986~1988年推出的基于边界扫描机制的标准化草案。1990年IEEE组织将这些草案标准化,并命名为IEEE1149.1标准,俗称JTAG调试标准。JTAG除了实现通常意义上的调试功能外,还可实现代码下载或单步执行程序等功能。边界扫描机制主要的思想是:通过在内部逻辑之间,即在内部逻辑的边界上增加串行的可读写的边界扫描单元,从而提供芯片级、板级、系统级的标准测试框架。边界扫描机制可以实现下列目标:•测试不同单元之间的连接。•测试单个单元的功能。•应用边界扫描寄存器完成其他测试功能,如伪随机测试、特征分析和静态测试等。JTAG接口的6个主要信号:1)TestClockInput(TCK)。TCK为TAP的操作提供了一个独立的、基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的。TCK在IEEE1149.1标准里是强制要求的。2)TestModeSelectionInput(TMS)。TMS信号用来控制TAP状态机的转换,通过TMS信号,可以控制TAP在不同的状态间相互转换。TMS信号在TCK的上升沿有效。TMS在IEEE1149.1标准里是强制要求的。3)TestDataInput(TDI)。TDI是数据输入接口。所有要输入到特定寄存器的数据都是通过TDI接口一位一位串行输入的(由TCK驱动)。TDI在IEEE1149.1标准里是强制要求的。4)TestDataOutput(TDO)。TDO是数据输出的接口。所有要从特定边界扫描链采样的保存在寄存器中的数据都是通过TDO接口一位一位串行输出的(由TCK驱动);在芯片串行测试时,将数据传送给下一个芯片。TDO在IEEE1149.1标准里是强制要求的。5)TestResetInput(TRST/nTRST)。TRST可以用来对TAPController进行复位(初始化)即JTAG复位。该信号接口在IEEE1149.1标准里是可选的,因为通过TMS也可以对TAPController进行复位/初始化。为了防止误触发,应在该端加适当上拉电阻。6)SystemReset(nSRST/SRST)。与目标板上的系统复位信号相连。可以直接对目标系统复位,同时可以检测目标系统的复位情况。该信号接口在IEEE1149.1标准里是可选的,并不是强制要求的。20针JTAG接口信号20针JTAG接口连接GNDGNDVDDJTAG20RRRRRRRRRTDOTCKTMSTDInTRSTnRESET13579111315171924681012141618209.1.2JTAGTAP•JTAG测试访问端口JTAGTAP是一个通用端口,是外部JTAG接口连接芯片的通道,由JTAGTAP控制器和扫描链构成。•通过TAP可以访问芯片提供的所有数据寄存器(DR,dataregister)和指令寄存器(IR,instructionregister)。•对整个TAP的控制是通过TAPController完成的。•TAP有5个接口信号:TCK、TMS、TDI、TDO和TRST,提供给JTAG接口。•扫描链是由靠近芯片的输入/输出管脚上各增加一个用于实现对芯片输入/输出信号进行观察和控制的移位寄存器单元,相互连接构成。即在芯片/内部逻辑的周围形成一个边界扫描链(boundary-scanchain)。•如果需要捕获芯片某个管脚上的输出,首先需要把该管脚上的输出装载到边界扫描链的寄存器单元里,然后通过TDO输出,得到相应管脚的输出信号。•如果要在芯片的某个管脚上加载一个特定的信号,则首先通过TDI把期望的信号移位到与相应管脚相连的边界扫描链的寄存器单元里,然后把该寄存器单元的值加载到相应的芯片管脚。•在IEEE1149.1标准里面,寄存器分为两大类:数据寄存器DR和指令寄存器IR。•边界扫描链属...