0、前言
在网上看到N多“大牛”们的移植文档,什么S3C2410,S3C6410,ARM7,ARM9的,一大堆一大堆,大致看了下,百分之九十以上的文章都是介绍了在哪儿修改代码,至于为什么这样修改却是只字未提。当然,这样的文档对于做产品是好样的,因为产品只追求结果,开发人员如何实现,为什么要这样实现已经不重要了。所以,本系列计划与大家分享移植如何实现,为什么要这样移植作详细介绍,由于个人并非天才,所以在写作过程中需要阅读大量的datasheet,甚至于反复读,所以更新不会太快。当然如有不当之处,敬请各位不吝指正。
1、入门第一天得学会站好位置
1.1、同学们都在哪儿呢?
刚入手bootloader的人可能都在想这样一个问题,把编译好的编程下载到目标平台后,目标板怎么知道从哪儿运行呢?刚开始时,我也在想这个的问题,有问题可不是什么丢人的问题哟,关键不知道而且还假装没有问题可就有点业余了哟!废话少说,直接让内存集合,看看U-Boot把内存分配并组织起来。
有过Linux编程的朋友都知道,单一文件可以直接通过GCC命令行方式进行,但如果有多个文件或者是上百个以至于上千文件的项目,用这种方式只能对他说一句“兄弟,我真的服咯U”。Makefile提供了对源文件进行管理的方式,通过查看U-Boot根目录下的Makefile文件,可以看到U-Boot的编译过程。对于内存的