bootloader架构设计

2440 ARM 处理器启动流程:从nand flash 方式启动,处理器将前端的4k的内容复制到SRAM(stepping stone)里,大于4k的内容复制到内存中。

bootloader被分成两部分:

BL1:

  1. 核心初始化
    1. 设置异常向量表
    2. 设置处理器为svc模式
    3. 关闭看门狗
    4. 关闭所有中断
    5. 关闭mmu和cache
  2. C语言编程环境设置
    1. 设置堆栈
    2. 清楚bss段
  3. LED初始化
  4. 初始化系统时钟
  5. 内存初始化
  6. 复制nand flash中的BL2到内存中
    1. 简单初始化nand flash
    2. 复制代码到内存
    3. 跳转到第二阶段入口

BL2:

  1. mmu初始化
  2. 中断初始化
    1. 中断初始化
    2. 按键初始化
  3. 初始化串口
    1. 串口初始化
    2. 移植printf函数
  4. 网卡初始化
  5. LCD初始化
    1. 触摸屏的初始化
    2. LCD 初始化
  6. 解析执行用户命令
    1. 移植tftp命令
    2. 移植bootm命令
原文地址:https://www.cnblogs.com/china-sdd/p/6171447.html