
U-Boot和系统移植实战
文章平均质量分 91
U-boot
花花公主的皮皮
一个励志称为嵌入式行业大佬的小白
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UBOOT源码--环境变量
uboot的环境变量基础环境变量的作用(1)让我们可以不用修改uboot的源代码,而是通过修改环境变量来影响uboot运行时的一些数据和特性。譬如说通过修改bootdelay环境变量就可以更改系统开机自动启动倒数的秒数。环境变量的优先级(1)uboot代码当中有一个值,环境变量中也有一个值。uboot程序实际运行时规则是:如果环境变量为空则使用代码中的值;如果环境变量不为空则有限使用环境变量对应的值。(2)譬如machid(机器码)。uboot中在x210_sd.h中定义了一个机器码2456.写死原创 2022-01-16 19:43:33 · 604 阅读 · 0 评论 -
uboot--命令体系
uboot命令体系基础使用uboot命令(1)uboot启动后进入命令行环境下,在·此输入命令按回车结束,uboot会收取这个命令然后解析,然后执行。uboot命令体系实现代码在哪?(1)uboot1命令体系的实现代码在uboot/common/cmd_xxx.c中。有若干个.c文件和命令体系有关。(还有commmand.c main.c也是和命令有关的)每个命令对应一个函数(1)每一个uboot的命令背后都对应一个函数,这就是uboot实现命令体系的一种思路和方法。这个东西和我们在裸机十六部原创 2022-01-14 22:48:41 · 732 阅读 · 0 评论 -
UBOOT--启动内核
uboot和内核到底是什么?uboot是一个裸机程序(1)复杂的裸机程序,和ARM裸机中学习的裸机程序没有本质区别内核本省也是一个"裸机程序"(1)操作系统本身就是一个裸机程序,和uboot,和其他裸机程序并没有本质区别(2)区别就是操作系统运行起来后再软件上分为内核层和应用层,分层后两层的权限不同,内存访问和设备操作的管理上更加精细(内核可以随便访问各种硬件,而应用程序只能被限制的访问的硬件和内存地址)uboot的镜像是uboot.bin,linux系统的镜像是zImage,这两个东西其实都是原创 2021-12-29 23:04:14 · 2811 阅读 · 0 评论 -
uboot源码--第二阶段
在start.s代码的414行跳转到start_armboot函数start_armboot函数简介一个很长的函数(1)这个函数在uboot/lib_arm/board.c的第444行到908行结束(2)450行还不是全部,里面还调用了别的函数(3)这个函数整体构成了uboot启动的第二阶段一个函数组成uboot的第二阶段(1)uboot的第一阶段主要就是初始化了Soc内部的一些部件(譬如看门狗,系统时钟),然后初始化DDR并且完成重定位。(2)宏观来说,uboot的第二阶段就是要初始化剩下原创 2021-12-19 00:17:48 · 540 阅读 · 0 评论 -
U-boot源码-启动第一阶段
Start.S引入u-boot.lds中找到start.S入口(1)在C语言中整个项目的入口就是main函数,所以譬如说一个有10000个.c文件的项目,第一要分析的文件就是包含了main函数的那个文件(2)在uboot中因为有汇编阶段参与,因此不能直接找main.c,整个程序的入口取决于链接脚本中ENTRY声明的地方。ENTRY(_start)因此 _start符号所在的文件就是整个程序的起始文件,_start所在的代码就是整个程序的起始代码。SourceInsight中如何找到文件(1)当前状原创 2021-12-15 17:08:58 · 1196 阅读 · 0 评论 -
uboot主makefile分析
uboot主makefile分析uboot version确定(1)uboot的版本号分3和级别:VERSION:主版本号PATCHLEVEL:次版本号SUBLEVEL:再次版本号,EXTRAVERSION:另外附加的版本信息,可以自己定义的这4个用 . 分隔开共同构成了最终的版本号。(2)Makefile中版本号最终生成了一个变量U_BOOT_VERSION,这个变量记录了Makefile中配置的版本号(3)include/version_autogenerated.h文件是编译过程中自原创 2021-12-12 20:53:54 · 315 阅读 · 1 评论 -
U-Boot初识
X210官方uboot配置编译实战X210官方uboot配置编译实践(1)源头的源代码是uboot官网下载的。这个下载的源代码可能没有你当前使用的开发板的移植,甚至找不到当前开发板使用的Soc对应的移植版本(2)Soc厂商在退出一款Soc之后,厂商的工程师回去uboot官网下载一个uboot,根据自己的Soc芯片厂商出的开发板就叫S5PV210芯片厂商出的开发板就叫SMDKV210,所以三星的工程师移植的uboot是根据他们自己的SMDKV210开发板移植的。(3)具体的开发板供应商(譬如X210的原创 2021-12-11 11:18:11 · 600 阅读 · 0 评论 -
shell和Makefile
shell介绍shell是操作系统的终端命令行(1)shell可以理解为软件系统提供给用户操作的命令行界面,可以说它是人机交互的一种方式(2)我们可以使用shell和操作系统,uboot等软件系统进行交互。具体来说就我们通过shell给软件系统输入命令然后回车执行,执行完后又回到shell命令行可以再次输入命令执行(3)上述的操作方式很好,但是有一定的缺陷。如要新建100个.c文件。最好的做法就是把创建的过程写成一个shell脚本,然后执行这个shell脚本程序,执行这个程序的效果和手工在命令行输入原创 2021-12-05 15:19:43 · 2824 阅读 · 0 评论 -
Uboot前传
为什么要有ubootPC机的启动过程(1)典型得到PC机的部署:BIOS程序部署在PC机主板上(随主板出厂时已经预制),操作系统部署在硬盘上,内存在掉电时无作用,CPU在掉电时不工作。(2)启动过程:PC上电后先执行BIOS程序(实际上PC的BIOS就是NorFlash),BIOS程序负责初始化DDR内存,负责初始化硬盘,然后从硬盘上将OS镜像读取到DDR中,然后跳转到DDR中去执行OS直到启动(OS启动后BIOS就无用了)典型嵌入式linux系统启动过程(1)嵌入式系统的部署和启动时参考PC机,原创 2021-12-02 14:48:20 · 227 阅读 · 0 评论