Chinaunix首页 | 论坛 | 博客
  • 博客访问: 150910
  • 博文数量: 24
  • 博客积分: 15
  • 博客等级: 民兵
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-15 00:14
文章分类

全部博文(24)

文章存档

2015年(3)

2014年(2)

2013年(7)

2012年(12)

分类:

2012-12-21 15:14:11

    这阵子学习uboot时,发现后回到了当初刚学程序时的状态,不同的就是这方面没有什么书籍,也许大家认为太基础了吧,没必要去出书,又或许是出了书,让人家培训单位怎么赚钱,这个就不谈了。 只是想说,又回到了当初眼高手低的状态,感觉程序看看也就那样,自己却又懒的去写,只是一味的在看人家的劳动成果。庆幸的是自己能很快的反应过来,思考了一上午之后,便想着写点什么东西,给自己个提醒。
      我学习uboot时用的是XXXX(我就不打广告了)的uboot-1.1.6-mini6410,刚开始学习时,按照普通的流程,先看makefile,该makefile也是我认真学习的第一个makefile,为此,特别恶补了一下makefile相关的知识(传送门:http://blog.csdn.net/wody87/article/details/4557835),学习中也不知运行了多少遍的make all,然后细细的看每一次的回显,对于编译uboot时,无法单步的执行(至今而然不会将此步骤单步执行,水货啊),所以我遍给makefile加了一些小东西,贴上其中一小段

点击(此处)折叠或打开

  1. all: $(ALL)
  2. $(obj)u-boot.hex: $(obj)u-boot
  3. $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@
  4. @echo "=============2================="
  5. $(obj)u-boot.srec: $(obj)u-boot
  6. $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
  7. @echo "=============3================="
  8. $(obj)u-boot.bin: $(obj)u-boot
  9. $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
  10. $(OBJDUMP) -d $< > $<.dis
  11. @echo "=============4================="
  12. $(obj)u-boot.img: $(obj)u-boot.bin
  13. ./tools/mkimage -A $(ARCH) -T firmware -C none \
  14. -a $(TEXT_BASE) -e 0 \
  15. -n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' $(VERSION_FILE) | \
  16. sed -e 's/"[ ]*$$/ for $(BOARD) board"/') \
  17. -d $< $@
  18. @echo "=============5================="
  19. $(obj)u-boot.dis: $(obj)u-boot
  20. $(OBJDUMP) -d $< > $@
  21. @echo "=============6================="
    就这样,用了大约一个礼拜的时间,初步了解了makefile的整个执行顺序,知道了什么时候创建什么文件,干什么用的。于是,按着顺序,看到了start.s,对着原理图,芯片手册和<>总算是能看个七七八八了,期间也走了不少的弯路,但是庆幸的是现在的网络很发达,得到了不少好心人的帮助。接着又转到了lowlevel_init.s的学习,就这样,断断续续的时间很快就过去了。
    接着就发现到现在为止,自己都停留在了看代码的阶段,感觉到了自己的问题,于是又上网查了一下,发现韦东山老师的视频刚好有uboot讲解的,那就重新开始吧,先看看视频,把以前的一些疑问解决了,接着就要跟着编写自己的uboot了,定下个目标,写一个简单到不行的uboot,只包含使用到的文件,并且要把每个文件的关系整理出来,用于以后的反思。
    看懂了每行代码的意思,那就该考虑考虑为什么要这么写,闭着眼睛,能不能也知道第一步是什么,怎么做,接下来又该怎么办。最后引用大神的一句话:慢一点没有关系,关键是要深入,深入,再深入。
阅读(2399) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~