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]打赏帖 | |
---|---|
【Zephyr】使用Zephyr外设初始化过程解析被打赏30分 | |
【S32K146】S32DS watchdog 配置使用被打赏20分 | |
【Zephyr】使用 IAR 调试 Zephyr 镜像被打赏20分 | |
赚取电动螺丝刀+电源电路理论知识分享1被打赏5分 | |
我想要一部加热台+分享常见运算放大器电路的应用被打赏5分 | |
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
我想要一部加热台+常见的MOS管驱动电路被打赏5分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下串口调试printf输出记录被打赏29分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 |