2.1.4.1 从uboot.bin说起
(1)uboot本质上是一裸机程序,和其他裸机程序(譬如驱动LED程序)并没有本质上的区别,只是所uboot要更复杂
(2)uboot由很多个.c和.h文件组成,配置编译后生成uboot.bin镜像,这个镜像文件被烧录到启动介质中拿去给SOC启动运行
2.1.4.2 uboot中的命令行shell界面
(1)uboot实现了一个命令行的shell界面,用来与人交互
注意:shell并不是操作系统,和操作系统一点关系都没有。linux中打开一个终端就得到一个shell,可以输入命令回车执行。uboot中的shell的工作方式和linux非常像(其实几乎是一样的,只是命令集不一样,linux中有ls命令,uboot中就没有)
2.1.4.3 掌握uboot的2个关键点命令和环境变量
(1)uboot启动后,大部分工作都是在shell下输入命令完成的(譬如部署系统、设置环境变量、启动内核都是在shell下输入命令去执行完成的)
(2)uboot环境变量和操作系统的环境变量的工作原理和方式几乎完全相同。uboot在设计时借鉴了操作系统的设计理念(譬如shell借鉴了linux的终端命令行,环境变量借鉴了操作系统的环境变量,uboot驱动管理几乎照抄了linux的驱动框架)
(3)环境变量可以被认为是系统的全局变量,有些是系统内置的(譬如PATH),有些是自己添加的(自己添加的系统不认识但是我们自己的程序认识)。系统或者我们自己的程序在运行时,可以通过读取环境变量来指导程序的运行。这样设计的好处是灵活,譬如我们要让一个程序改变运行方式,不用去修改程序源代码重新编译运行,而只要修改相应的环境变量就可以了。环境变量就是运行时的配置属性
(1)uboot本质上是一裸机程序,和其他裸机程序(譬如驱动LED程序)并没有本质上的区别,只是所uboot要更复杂
(2)uboot由很多个.c和.h文件组成,配置编译后生成uboot.bin镜像,这个镜像文件被烧录到启动介质中拿去给SOC启动运行
2.1.4.2 uboot中的命令行shell界面
(1)uboot实现了一个命令行的shell界面,用来与人交互
注意:shell并不是操作系统,和操作系统一点关系都没有。linux中打开一个终端就得到一个shell,可以输入命令回车执行。uboot中的shell的工作方式和linux非常像(其实几乎是一样的,只是命令集不一样,linux中有ls命令,uboot中就没有)
2.1.4.3 掌握uboot的2个关键点命令和环境变量
(1)uboot启动后,大部分工作都是在shell下输入命令完成的(譬如部署系统、设置环境变量、启动内核都是在shell下输入命令去执行完成的)
(2)uboot环境变量和操作系统的环境变量的工作原理和方式几乎完全相同。uboot在设计时借鉴了操作系统的设计理念(譬如shell借鉴了linux的终端命令行,环境变量借鉴了操作系统的环境变量,uboot驱动管理几乎照抄了linux的驱动框架)
(3)环境变量可以被认为是系统的全局变量,有些是系统内置的(譬如PATH),有些是自己添加的(自己添加的系统不认识但是我们自己的程序认识)。系统或者我们自己的程序在运行时,可以通过读取环境变量来指导程序的运行。这样设计的好处是灵活,譬如我们要让一个程序改变运行方式,不用去修改程序源代码重新编译运行,而只要修改相应的环境变量就可以了。环境变量就是运行时的配置属性
总结:uboot工作起来后就进入shell命令行,在shell中输入命令可以实现相应的操作。此外,uboot通过环境变量来配置自己运行的属性,实现不同的运行方式。
备注:总结整理于朱老师物联网uboot课程