您的位置 首页 报告

ARM JTAG仿真器调试办法之SDRAM篇

之前介绍了使用ARMJTAG仿真器将映像文件加载到ARM处理器内部SRAM中进行程序调试的方法,而在实际操作中,将映像文件加载到外部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 0x48000000 0xac9 32”的意义便是将常数0xac9保存到地址为0x48000000的字中(一个字32bit)。实践上,经过查阅Intel PXA27x Processor Family Developer’s Manual可知,0x48000000正是寄存器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,开始地址为0x80000000。应根据实践情况设置正确的RO BASE地址。
关于运用ob指令主动初始化SDRAM:
因为每次上电后往SDRAM加载映像时都需求对其进行初始化,手艺输入多条指令有时是很繁琐的。这时,能够把初始化SDRAM的指令序列保存在一个*.ini文本文件中(也能够是*.txt文件),每条指令占一行。然后在AXD指令行窗口运用obey指令调用该*.ini文件,就能够将文件中的指令次序履行,继而完结SDRAM的初始化。
例如,将SDRAM初始化指令序列保存在PXA270.ini文件中,履行指令:
ob $PATH/PXA270.ini
就可主动履行初始化SDRAM的指令。其间,ob是obey的简写,$PATH是PXA270.ini文件的绝对路径。
更多AXD指令和内容能够参阅ADS手册之《AXD and armsd Debuggers Guide》。
发动AXD时主动初始化SDRAM:
感谢网友Garfield的点拨,他提出了在硬件渠道不变的情况下,在发动AXD时主动初始化SDRAM的一了百了的办法,经笔者证明,该办法确实是可行的。
详细办法如下:
将初始化SDRAM的指令序列保存为一个*.txt文本文件(能够直接将上述的*.ini文件后缀改为.txt),然后在AXD的主窗口下挑选菜单Options->Configure Interface…,在Session File一页中挑选“Run Configuration Script”,将该.txt文本文件作为一个脚本加进来,确认。这样今后每次发动AXD时,就会主动运转该脚原本完结对SDRAM的初始化。
附:每次体系从头上电或硬件复位后都需求从头初始化SDRAM才能把映像文件加载到SDRAM。能够设置在AXD发动时主动对SDRAM进行初始化,见“发动AXD时主动初始化SDRAM”部分。有时候AXD发动后需求从头装备,这是ADS本身的问题,主要是看发动后在CommandLineInterface窗口有没有呈现初始化SDRAM的指令,另外在AXD的源码窗口右键InterleaveDisassembly,看各条代码在SDRAM中对应地址的内容是否为正确的机器码,来查看映像文件是否成功加载。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/257981.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部