这几天这个问题一直困扰着我,好在翻了大半个论坛后,终于有了点头绪
,写出来,希望各位牛人帮我看一下我的想法是否正确。多谢!
arm应用程序在线调试可以用两种方法,一种就是sdt+jtag,另一种就是
iar(hitool)+wiggler。不论是用哪一种方法,都是把编译好的程序写到开
发板的sdram中去运行从而进行调试。所以在线调试最关键的步骤就是对sdram
的初始化。以鱼板为例,对sdram的初始化也大致有两种方法。第一种方法就是
将bootrom.hex烧写到29F040,并设置开关S1使得开发板上电后从29F040开始运
行,由bootrom来完成对sdram的初始化,完成初始化后,就可以在iar、sdt中
直接进行在线调试了。第二种方法就是不用bootrom来初始化sdram,而直接在
iar、sdt的集成开发环境内对sdram进行初始化。如果是用sdt的话,就要在进
行调试前在命令窗口输入如下一些命令来初始化sdram,
let 0x3ff0000=0x87ffff90
let 0x3ff3010=0x00003009
let 0x3ff3014=0x01000060
let 0x3ff3018=0x13044060
let 0x3ff301c=0x00000060
let 0x3ff3020=0x00000060
let 0x3ff3024=0x00000060
let 0x3ff3028=0x00000060
let 0x3ff302c=0x11004380
let 0x3ff3030=0x00000000
let 0x3ff3034=0x00000000
let 0x3ff3038=0x00000000
let 0x3ff303c=0xce278360
初始化好后,就可以在sdt中把程序下载到sdram中进行在线调试了。
我之所以这样想是因为在龚俊写的“ARM开发软件使用说明”和本论坛的“
IAR下使用wiggler的调试过程”这些文章中都没有提到在线调试时需要输入特
殊的命令对sdram进行初始化。而本论坛一些关于下载程序到sdram中运行的帖
子都说在线调试前需要在命令窗输入一些命令对sdram进行初始化。我认为系统
要正常运行的话,一定是需要对sdram进行初始化的,所以我才得到了以上的结
论,不知道我这种想法对不对。以上这些问题困惑了我几天了,还希望高手们
多多给予指教!
万分感谢!
以上是转帖,我最近在调试44B0的一个板子,一些是在命令行输入初试化44b0的57v641620的命令
let 0x01C80000=0x11110101
let 0x01C80004=0x00000600
let 0x01C80008=0x00007ffc
let 0x01C8000C=0x00007ffc
let 0x01C80010=0x00007ffc
let 0x01C80014=0x00007ffc
let 0x01C80018=0x00007ffc
let 0x01C8001C=0x00018000
let 0x01C80020=0x00018000
let 0x01C80024=0x0086060e
let 0x01C80028=0x10
let 0x01C8002C=0x20
let 0x01C80030=0x20