bootloader的作用和概述

作用

boot的目的(跳到C语言中):

  1. 关闭看门狗,中断,MMU,CACHE(影响数据完整性)
  2. 配置系统工作时钟(不同处理器、外设对于时钟要求不一样)
  3. 配置SDRAM的控制器(行地址数、列地址数、多少块,周期性的充电【难点 】
  4. 让sp指向可读可写的设备区间中,满足递减栈的规则SDAM
  • 用哪些模式,就要初始化哪些模式下的SP
  • 每个模式值不能覆盖其他模式
  1. 代码搬移(code太大需要转移到DRAM)
  • 方式一,执行速度问题,把程序从存储器(nor-flash)搬移到快速的内存
  • 方式二,只把存储器的一部分代码执行出来,把存储在其他位置上的低码搬移到内存,对应存储器的控制器的初始化
  1. bl main

loader的目的:
执行应用逻辑,点灯、uart,load linux kernel

S5PV210boot流程