完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
有个比较困惑的问题请教:在u-boot-2012-04中,6410在初始化函数中,即start.S文件中,有个lowlevel_init函数,完成时钟,串口,ddr的初始化等等,我将编译好的u-boot文件反汇编发现一个奇怪的问题,
忽略掉前面的57e00000,因为start.s开始时代码运行的指令是位置无关,这样lowlevel_init的运行地址为0x9604 大于 内部运行的8k,请问还没有初始化ddr,重定位等,这个函数是否被调用呢?我6410无法运行,请高人指点,谢谢。 57e00000 <_start>: 57e00140: eb00a52f bl 57e29604 |
|
相关推荐
4个回答
|
|
|
|
|
|
哦,我发现其实我反汇编其实是在ddr运行时的u-boot,因为6410的u-boot_nand启动分为 前面4k(8K) + 内存运行,即第一阶段的代码在nand_
|
|
|
|
我认为反汇编其实是在ddr运行时的u-boot,因为6410的u-boot_nand启动分为 前面4k(8K) + 内存运行,
1) 第一阶段在nand中:的代码在nand_spl/board/samsung/smdk6410 下make h后产生的 uboot_nand_16k.bin文件 2) 第二阶段在ddr中,即产生的u-boot.bin文件 ,我恰好对第二阶段的代码进行的反汇编,所以看到的lowlevel文件在8k范围外 3)编译make后最后从输出终端中可以看到:cat nand_spl/u-boot-spl-16k.bin u-boot.bin > u-boot-nand.bin 所以:如果想从nand启动应该烧写 u-boot-nand.bin文件,而不是u-boot.bin文件,如果内存初始化好了,应该可以从u-boot.bin运行,以上是我个人分析,不知道对不对。 |
|
|
|
楼主总结下吧!好结贴
|
|
|
|
只有小组成员才能发言,加入小组>>
197个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2177 浏览 6 评论
1982 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4540 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 20:47 , Processed in 0.676596 second(s), Total 87, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号