uboot初识
一. 什么是uboot
1.1. uboot的由来
1.1.1. uboot是SourceForge上的开源项目
1.1.2. uboot就是由一个人发起,然后由整个网络上所有感兴趣的人共同维护发展而来的一个bootloader(与linux相似)。
1.1.3. uboot经过多年发展,已经成为事实上的业内bootloader标准。现在大部分的嵌入式设备都会默认使用uboot来做为bootloader。
1.2. uboot主要作用
1.2.1. uboot负责初始化DDR,初始化Flash。
1.2.2. 将OS从Flash中读取到DDR中
1.2.3. 启动OS,并且传参给OS
1.3. uboot本质
1.3.1. uboot的本质就是一个裸机程序,和我们裸机全集中写的那些裸机程序xx.bin并没有本质区别
二. uboot shell使用关键点
2.1. uboot的命令式shell界面
2.1.1. uboot中的shell工作方式和linux中的终端shell比较像,但命令集不同。
2.2. uboot shell 命令
2.2.1. uboot启动后大部分时间和工作都是在shell下完成的(譬如uboot要部署系统要在shell下输命令、要设置环境变量也得在命令行地下,要启动内核也要在命令行底下敲命令)
2.2.2. 命令就是uboot的shell中可以识别的各种命令。uboot中有几十个命令,其中有一些常用另一些不常用(我们还可以自己给uboot添加命令)
2.3. uboot环境变量
2.3.1. uboot的环境变量和操作系统的环境变量工作原理相似,
2.3.2. 环境变量就是运行时的配置属性
三. uboot控制台
3.1. uboot控制台交互是通过串口来完成的。
3.2. 类似linux终端的行缓冲命令行
a. 行缓冲:当我们向终端命令行输入命令的时候,这些命令没有立即被系统识别,而是被缓冲到一个缓存区(也就是系统认为我们还没有输入完),当我们按下回车键(换行)后系统就认为我们输入完了,然后将缓冲区中所有刚才输入的作为命令拿去分析处理。
b. linux终端设计有3种缓冲机制:无缓冲、行缓冲、全缓冲