2.1.1、为什么要有uboot
2.1.1.1、计算机系统的主要部件

CPU:中央处理器,计算机的运算核心和控制核心,是信息处理、程序运行的最终执行单元。
外部存储器(外存):用来存储东西的ROM。如硬盘,Flash(NorFlash:总线式访问,一般用于启动)
内部存储器(内存):用来运行程序的RAM。如DDR,SRAM。
2.1.1.2、PC机的启动过程

2.1.1.3、典型嵌入式linux系统启动过程

2.1.1.4、android系统启动过程

2.1.1.5、总结:uboot到底是干嘛的

2.1.2.1、uboot的可移植性的正确理解

2.1.3、uboot必须解决哪些问题
2.1.3.1、自身可开机直接启动

2.1.3.2、能够引导操作系统内核启动并给内核传参

2.1.2.3、能提供系统部署功能

2.1.2.4、能进行soc级和板级硬件管理

2.1.2.5、uboot的“生命周期”

2.1.3.6、总结:一切都是为了启动内核
2.1.4、uboot的工作方式
2.1.4.1、从裸机程序镜像uboot.bin说起

2.1.4.2、uboot的命令式shell界面

2.1.4.3、掌握uboot使用的2个关键点:命令和环境变量

2.1.4.4、思考:结合ARM裸机部分进行理解和印证

2.1.5、uboot的常用命令1
2.1.5.1、类似linux终端的行缓冲命令行

2.1.5.2、有些命令有简化的别名

2.1.5.3、有些命令会带参数(注意格式是固定的)

2.1.5.4、命令中的特殊符号(譬如单引号)

2.1.5.5、有些命令是一个命令族(譬如movi)

2.1.5.5、第一个命令:printenv/print

2.1.6、uboot的常用命令2
2.1.6.1、设置(添加/更改)环境变量:setenv/set

2.1.6.2、保存环境变量的更改:saveenv/save

2.1.6.3、网络测试指令:ping

2.1.7、开发板和主机的ping通
2.1.7.1、开发板运行linux下和主机Windows的ping通

2.1.7.2、开发板运行linux下和虚拟机ubuntu的ping通

2.1.7.3、开发板运行uboot下和主机Windows的ping通

2.1.7.4、开发板运行uboot下和虚拟机ubuntu的ping通

2.1.8.uboot常用命令3
2.1.8.1、tftp下载指令:tftp

2.1.8.2、nfs启动内核命令:nfs
2.1.9.uboot的常用命令4
2.1.9.1、SD卡/iNand操作指令movi

2.1.9.2、内存操作指令:mm、mw、md

2.1.9.3、启动内核指令:bootm、go

2.1.10.uboot的常用环境变量1
2.1.10.1、如何理解环境变量

2.1.10.2、环境变量如何参与程序运行

2.1.10.3、自动运行倒数时间:bootdelay
2.1.10.4、网络设置:ipaddr serverip

2.1.11.uboot的常用环境变量2
2.1.11.1、自动运行命令设置:bootcmd

2.1.11.2、uboot给kernel传参:bootargs

2.1.11.3、新建、更改、删除一个环境变量的方法

2.1.11.4、注意:环境变量更改后的保存

2.1.12.uboot中对Flash和DDR的管理
2.1.12.1、uboot阶段Flash的分区

2.1.12.2、uboot阶段Flash的分区总结

2.1.12.2、uboot阶段DDR的分区
