BootLoader执行流程:
cpu/arm920t/start.S
异常向量表
b reset
|
设置模式
|
关闭看门狗,中断
|
设置时钟
|
关闭cache,MMU
|
初始化存储控制器
|
初始化堆栈
|
重定位bootloader本身到RAM中
|
跳转到RAM中的C入口:
lib_arm/board.c
C入口:
|
初始化外设(串口、GPIO等)
|
for(;;)
{
等待用户的输入;
执行相应的动作;
}
-------------------------------
Bootloader配置编译:
tar jxvf u-boot-1.1.4.tar.bz2
cd u-boot-1.1.4
make smdk2410-1.1.4
export PATH=/usr/local/arm/2.95.3/bin:$PATH
GEC2410开发版yaoyong2.95.3交叉工具链,用3.3.2时tftp服务不正常
vim cpu/arm920t/config.mk
修改第33行删除编译参数“,-mabi=apcs-gnu”
make
得到u-boot.bin
阅读(1635) | 评论(0) | 转发(0) |