- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JTAG调试原理
ARM JTAG仿真器调试方法之SRAM篇JTAG仿真器将映像文件下载到SRAM中进行调试。
?????? 我使用的JTAG仿真器是Banyan-U ARM EMULATOR,该仿真器可以自动检测CPU类型,支持PXA270处理器。另外,随盘附带有FLASH烧写工具(FlashAccess和FlashWrite)。
?????? 首先安装JTAG仿真器的上位机后台服务程序,然后连接好仿真器和主机以及ARM处理器,自动安装好设备驱动。通过配置AXD的Configure Target...选项,将该仿真器后台服务程序动态库Banyan.dll加入进来,这样,就可以在AXD环境下使用该仿真器进行程序调试了。
?????? 将带调试信息的*.axf映像文件加载到ARM处理器内部的SRAM中进行调试是最简单快捷的方式之一。过程如下:
?????? 首先要了解ARM处理器的内部SRAM的地址空间(包括起始地址和大小),一般ARM处理器内部都有几十K~几百K的SRAM,对于PXA270处理器,内部有256K的地址连续的SRAM,分为4个BANK,起始地址为0x5c000000。对于一些小型程序的调试,这个空间也已经足够了。
?????? 其次,要在CodeWarrior中设置工程的链接属性,在Edit- DebugRel Settings- Linker- ARM Linker中设置映像的RO段基地址为0x5c000000,当然也可以设置为SRAM空间的其他地址,不过要注意映像文件大小不要超过SRAM地址空间。
?????? 最后,编译工程生成*.axf映像文件,启动AXD,通过File-Load Image...选项加载映像,这样,映像文件就被加载到前面设定的RO BASE为起始地址的SRAM空间中。
?????? 如何检查映像文件是否被正确或成功地加载到了SRAM中呢?在AXD的源代码窗口点鼠标右键,选择Interleave Disassembly,如果看到各条代码在SRAM中对应地址的正确的机器码,就说明映像被成功加载了
ARM JTAG仿真器调试方法之SDRAM篇
之前介绍了使用ARM JTAG仿真器将映像文件加载到ARM处理器内部SRAM中进行程序调试的方法,而在实际操作中,将映像文件加载到外部SDRAM中进行调试的方式更为常见。
?????? 要把映像文件加载到SDRAM中,除了要正确设置好映像文件的RO段基地址外(对于一个加载时域和运行时域相同的映像文件来说,RO段基地址实际上就是该映像文件在存储空间的起始地址),更关键的是要对SDRAM进行初始化。因为在上电时,SDRAM是没有被初始化的,所谓初始化SDRAM,就是要设置处理器的SDRAM空间以及读写SDRAM的时序参数,因而SDRAM在初始化之前是不能进行读写操作的。
?????? 对于PXA270处理器,初始化SDRAM的工作通过配置存储控制器寄存器来完成,这些寄存器包括MDCNFG,MDREFR,MDMRS。
?????? 由于这些寄存器都映射到了某一存储空间地址,因而可以在AXD的命令行窗口(System Views-Command Line Interface [Alt+L])中使用setmem命令来对寄存器进行配置。setmem命令(简写为smem)可以为存储空间的某一地址单元指定值。例如“setmem 00xac9 32”的含义就是将常数0xac9保存到地址为0字中(一个字32bit)。实际上,通过查阅Intel PXA27x Processor Family Developer’s Manual可知,0是寄存器MDCNFG的地址,因而这条命令实质上完成了对MDCNFG寄存器的配置,使能SDRAM partition 0,使用32bit宽的SDRAM数据总线,9位列地址,13位行地址,SDRAM内部采用4 bank设计,tRP=3,CL=3,tRCD=3,tRAS=7,tRC=10,采用普通寻址模式;不使用SDRAM partition 2/3。具体设置要根据实际所使用的SDRAM芯片进行。
?????? 因此,可使用3~4条setmem命令初始化SDRAM,之后就可以正确地将映像文件加载到SDRAM中运行了。顺便提一句,PXA270有两种SDRAM存储模式,一种是小空间模式,支持4个64M的partition共计256M字节,起始地址为0xa0000000;另一种是大空间模式,支持4个256M的partition共计1GB,起始地址为0应根据实际情况设置正确的RO BASE地址。
???????
??? 关于使用ob命令自动初始化SDRAM:
?????? 由于每次上电后往S
文档评论(0)