jtag调试的时候 串口输出信息 led正常控制
可是用flashp3.1烧写进去的时候 串口一点反应也没有~~
rom_base改为0x00 了 其它的都照着改了 板子也没有问题 是好的
大家看可能是哪个地方有问题啊!
[img]C:\Documents and Settings\Administrator\桌面\{3E78EAB3-6832-4F49-9156-0CBB607A489C}0.bmp[/img]
板子就是"龚板" bank0(0X00000000起始)接2M flash bank6(0X0C000000起始) 接8M sdram
另外,bootloader就是samsung提供的bootloader .
关于数据的重定位, 整个bootloader中只有把程序的数据段拷贝到rw_base处 以及把 ZI 区域初始化为0. 如图:
[img]C:\Documents and Settings\Administrator\桌面\{31682DA2-E7ED-48A8-8CA9-5338675E3FF5}0.bmp[/img]
斑竹看看有什么不对的~~~
另外,上电后LED灯就点亮. 在串口输出之前还有让LED灯熄灭的操作, 但烧进去后运行, LED没有熄灭!
jtag remote调试的时候,一切正常~~
[align=right][color=#000066][此贴子已经被作者于2005-3-8 20:36:48编辑过][/color][/align]各位老大
我又来了! 被折腾的不行了之后终于知道是哪里的问题了!
我用的是优龙的一个uart测试程序, 里面对存储器寄存器的设置是通过这样的语句进行的: ;**************************************************** ;* Set memory control registers * ;**************************************************** ldr r0,=SMRDATA ldmia r0,{r1-r11} ldr r0,=0x01c80000 ;BWSCON Address stmia r0,{r1-r11}
它上面写的是r1-r11
应该是r1-r13, 漏掉了对最后两个寄存器 MRSR6,7 进行设置
就是这样一个小地方 ..... 改过来就好了 串口就很正常了
为什么要写成r1-r11 ? 估计是根据这下面句话有关系 :
NOTE: MRSR register must not be reconfigured while the code is running on SDRAM.
可能在debug模式 程序在dram里面运行的时候 不需要设置这两个寄存器, 的确调试的时候真的很正常.
再具体的原因就对我来说太深奥了~~~
反正最后明白了一点: 原因都是有原因的 !
[align=right][color=#000066][此贴子已经被作者于2005-3-10 22:46:30编辑过][/color][/align]有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |