ads1.2 axd的调试问题

童鞋们,在做实验的时候,有没有遇到过老师都不知道的为什么的问题?我这个奇葩学生经常让老师沉思好长时间,然后给我一些说了等于没说的答案。其实归根结底还是我的问题太脑残了,一般人都不会犯,所以出现后就会很蛋疼。下面就说两个arm开发的问题,这些问题是对理论的了解不甚明了以及对工具的使用不甚熟练所造成的:

一. Could not find any input files to link.

  找不到任何输入文件去连接。这个问题很有可能就是加载源文件的时候某个源文件选的是Debug,而工程中选的却是DebugRel。细心地童鞋是不会犯这种错误的。

二.源文件make成功后,点击Debug去调试,我们希望绿色的箭头指向开始程序(比如Start.s)的第一条汇编指令,然而呈现眼前的却是蓝色箭头、红色圆点、红色方框,位置是我们的Start.s将要调用的Main.c的第一条语句,或者是Disassemble后的程序,也就是编译出来的汇编程序。

  第一种情况是我们的DebugRel Settings->ARM Linker->Options->Image entry point 的值与DebugRel Settings->ARM Linker->Output->RO Base的值相同造成的。在没有c语言源文件的情况下,这样不会有什么影响RO Base就是我们的程序调试(下载后运行应该也是)入口地址,在有c文件的情况下,编译后的镜像文件是Main.c程序存放在RO Base的位置,然后是Main.c调用的Add.s文件,最后才是初始化用的Startup.s文件。“Image entry point等于RO Base”当然是从c程序处开始调试了。而直接进汇编程序的原因是Image entry point这一项没有内容或者是其他值造成的,这种情况下单步执行会有找不到程序的异常产生。

解决方法是查看编译好的镜像文件(在调试源程序中右键选disassemble),找到startup.s文件的存放位置,把Image entry point的值设置为位置就可以了。

转载于:https://www.cnblogs.com/flyer21/p/3438716.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值