《s3c2416裸跑环境配置》一文已经发表很长一段时间了,前两天突然收到邮件提示有人回复,原来网友jxyggg按照文中所讲去调试,却始终不能成功。问题的描述见原文后的回复,经过QQ交流,问题得到解决,下面简单描述下问题及解决方法。
调试界面
如上图所示,出问题的调试界面显示,“ROM”中的代码与编译器的代码根本不是一回事,全是跳转指令,看上去似乎是个中断向量表。可以肯定,代码没有被写进0x00000000开始的“ROM”。但是在本人开发板上测试,发现jxyggg给的工程能正常调试,最让人揪心的问题往往是这些似是而非的问题。通过交流,发现jxyggg同学把开发板启动开关打到SD位置,原因是担心调试会影响NAND里面的uboot和kernel。本人在板子上也把启动开关打到SD位置,结果本人的板子也出现了如上图一模一样的情况。
问题似乎解决了,就是调试时要把启动开关打到NAND位置。可是为什么从SD启动就不能调试呢?我进行了如下思考:1.不是不能调试,只是“ROM”中的代码不对;2.s3c2416上电首先启动的是IROM中的代码,它会去SD Card中寻找下一步的代码,可是现在根本没有SD Card,IROM会做什么?它会一直查询,也就是IROM一直没有把IRAM映射到0x00000000处。我们把代码下载到真正的IROM中去会成功吗?当然要失败!
如果上述推论正确,那么在0x40000000处能访问到IRAM,于是把原文中提到的相关内存地址换成0x40000000,运行成功!
在0x40000000处调试
如上图所示,程序在0x40000000处正常调试。
这些测试工作也得到了jxyggg的验证,问题圆满解决!
上一篇:s3c2416裸跑环境配置
下一篇:移植RT2870无线网卡驱动到s3c2416
设计资源 培训 开发板 精华推荐
- SI5316-EVB,使用 SI5316 19 至 710 MHz 时钟发生器的评估板
- RDA5807FP收音机
- 使用 MaxLinear, Inc 的 SPX385AN-1.2 的参考设计
- WiFi射频开关
- 应用示例 - STM32F101xx 和 STM32F103xx 内核和系统外设中的 2 个
- 用于汽车的 DC 到 DC 单路输出电源
- AM1G-2418SH30Z 18V 1 瓦 DC-DC 转换器的典型应用
- MIC94345-MYMT 2.8V 输出电压、500mA LDO 采用纹波阻断技术的典型应用
- LD2980CM18TR SOT-89 与低 ESR 抑制输出电容器兼容的超低压降稳压器的典型应用
- MAXREFDES1022:5V/2A、同步、无光耦、隔离、反激DC-DC转换器