Bootloader的特点
-
Bootloader不属于操作系统,一般采用汇编语言和C语言开发。需要针对特定的硬件平台编写。
-
在移植系统时,首先为开发板移植Bootloader。
-
Bootloader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置Bootloader的
Bootloader的操作模式
1.自启动模式:直接进行初始化化,加载内核(操作系统)到内存中运行
2.交互模式:留在bootloader执行,通过串口进行通信,然后完成控制
U-boot的特点
-
代码结构清晰、易于移植(见目录结构)
-
支持多种处理器体系结构(见arch目录)
-
支持众多开发板(目前官方包中有200多种,见board目录)
-
命令丰富、有监控功能
-
支持网络协议、USB、SD等多种协议和设备
-
支持文件系统
-
更新较活跃,使用者多,有助于解决问题
U-boot命令介绍
命令类型:环境变量、数据传输、存储器访问、加载运行
printenv:pri----打印所有环境变量
setenv:set------设置环境变量值
saveenv:save---保存环境变量值
bootdelay:进入自启动模式的倒数计时
gatewayip:网关地址
ipaddr:设备网络地址----板子
netmask:子网掩码
serverip:服务端地址---linux虚拟机
bootcmd:进入自启动模式后,uboot要执行的命令
bootargs:当加载操作系统时传递给操作系统的参数
loadb 地址
tftp:把网络中tftp服务端(serverip)文件下载某个地址
go xxxx:跳转到地址执行 pc = xxx
movi:
movi init----初始化emmc(flash),并显示信息
movi read
movi write
bootm:系统引导指令