一 移植环境
Linux version 2.6.24.4 + u-boot1.3.4 +arm-linux-gcc 3.4.1
二 目录结构
u-boot的stage1代码通常放在cpu/xxxx/start.S文件中,他用汇编语言写成;
u-boot的stage2代码通常放在lib_xxxx/board.c文件中,他用C语言写成。
各个部分的流程图如下:
三: 源码分析
u-boot的stage1入口点分析
一般在嵌入式系统软件开发中,在所有源码文件编译完成之后,链接器要读取一个链接分配文件,在该文件中定义了程序的入口点,代码段、数据段等分配情况等。现在我们的u-boot链接文件就是u-boot-1.3.4/board/samsung/smdk2440 u-boot.lds
细节参见 http://www.embeddedlinux.org.cn/html/jishuzixun/201303/16-2492.html