第九章嵌入式Linux系统bootloader开发移植教学目标:掌握嵌入式Linux系统各种bootloader定义,了解bootloader基本功能以及bootloader来源
了解U-boot移植方法
主要内容:9
1bootloader概述9
2常见第三方bootloader类型9
3U-boot移植9
4vivi移植教学难点:1
bootloader功能2
U-boot和bootloader关系
U-boot移植方法9-1
Bootloader概述为了了解bootloader是什么,先分析嵌入式系统从上电复位启动到最后开始工作提供服务的整个工作过程
大多数嵌入式系统启动过程如下图9-1所示,(1)上电复位和板级初始化,板级初始化具有完全的硬件依赖性,一般采用汇编语言实现,不同的嵌入式系统板级初始化要完成的工作具有一定的特殊性,但以下工作必须完成
CPU初始化堆栈指针寄存器初始化中断控制器初始化内存初始化(2)系统引导或者系统升级将系统软件从NORflash中读取出来加载到RAM中运行,这种方式可以解决FLASH比RAM慢的问题,软件可压缩存储在flash中
直接在FLASH上运行程序,进入系统初始化
将软件从外存如nandflash,CF卡,SD卡,MMC等中读取出来,加载到RAM运行
上电复位板级初始化系统初始化系统引导/升级远程升级本地升级应用初始化多任务应用本地引导远程引导操作系统功能Bootloader功能进入系统升级阶段后可通过远程网络或者本地串口等进行系统升级,远程升级一般支持RFTP,FTP,HTTP等方式
(3)系统初始化在该阶段主要进行操作系统等系统软件个功能部分的初始化工作,如根据系统配置初始化数据空间,系统所需外设接口等
(4)应用初始化将各种应用程序配置启动,带到一个合适的状态,等待用户使用
(5)多任务应用至此,用户才可以