uboot中lowlevel_init运行不了的现象

从开始下定决心从无到有的移植uboot后,最近这段时间进展很慢,从最开始的开始了解arm的体系架构(当初学单片机的时候看到arm驱动的书前面大篇幅的讲arm感觉是没必要的,现在看来是很有必要的,单片机才不用关心他的架构,如果仅用c开发),然后又需要了解arm汇编,因为不了解汇编想去一直uboot根本不可能。由于工作最近经常加班,有时看的时间也不多,不过最近工作上的感觉慢慢的熟练起来之后,对我学习一直uboot也是有很大帮助的。

今天开始用点灯的方式调试,发现在走到 bl lowlevel_init之后,在lowlevel_init函数里的点灯没有起作用。于是查看uboot.bin的反汇编代码,发现跳转之后的汇编代码并不是我点灯的代码,相差很远。中间试了好几遍还是不行,网上百度看到有一两个人也有这种问题,但是没有解答。到最后发现我实际改写的这个 lowlevel_init.S文件时在cpu目录下的,然后我记得在哪里看到过时在board目录下的吧~ 后来一看,发现board目录下海真有一个,即:

我修改的是    arch\arm\cpu\arm1176\tnetv107x 目录下的,而且这个目录下的函数里是空的。我就想为什么和其他的网上说的里面做的初始化怎么不一样呢~

实际用的应该是   board\samsung\smdk6400\lowlevel_init.S

真是太悲剧了,害的我弄到现在都凌晨3点了。写出来给以后万一也遇到这种低级问题的人,也算是对自己的一个提醒!虽然是个低级错误,不过通过这个问题还是学到不少定位问题的手段。最起码对uboot编出来的反汇编熟悉了不少。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值