单片机
返回首页

关于《s3c2416裸跑环境配置》一文的一些补充

2023-05-19 来源:elecfans

《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的验证,问题圆满解决!


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 红外线探测报警器

  • 短波AM发射器电路设计图

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 带有短路保护系统的5V直流稳压电源电路图

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章