bootloader架构设计
2440 ARM 处理器启动流程:从nand flash 方式启动,处理器将前端的4k的内容复制到SRAM(stepping stone)里,大于4k的内容复制到内存中。
bootloader被分成两部分:
BL1:
- 核心初始化
- 设置异常向量表
- 设置处理器为svc模式
- 关闭看门狗
- 关闭所有中断
- 关闭mmu和cache
- C语言编程环境设置
- 设置堆栈
- 清楚bss段
- LED初始化
- 初始化系统时钟
- 内存初始化
- 复制nand flash中的BL2到内存中
- 简单初始化nand flash
- 复制代码到内存
- 跳转到第二阶段入口
BL2:
- mmu初始化
- 中断初始化
- 中断初始化
- 按键初始化
- 初始化串口
- 串口初始化
- 移植printf函数
- 网卡初始化
- LCD初始化
- 触摸屏的初始化
- LCD 初始化
- 解析执行用户命令
- 移植tftp命令
- 移植bootm命令