- 博客(7)
- 收藏
- 关注
原创 从入门到精通Uboot(6.Uboot启动流程分析)
1.从Uboot.lds开始这个是脚本链接文件,编译后会在根目录下生成。对Uboot.lds进行分析:这个_start为当前代码的入口地址_start 在文件 arch/arm/lib/vectors.S中有定义可以发现这个变量被定义为全局变量这个是加载地址,但会在顶层Makefile中被重新定义,使加载到新的地址。.text是指代码段,代码段的内容一共有4个部分,分别是:(.__image_copy_start)(.vectors)arch/arm/cpu/armv7/star
2022-04-27 09:39:51 929
原创 从入门到精通Uboot(5.Uboot顶层Makefile)
1.版本信息的查看从这里可以判断出uboot的版本号,这个对应的版本是2016.032.是否详细打印ifeq用来比较两个值是否相等这里涉及到一个函数origin,origin不操作变量的值,语法为$(origin)origin的返回值是变量的来源,那么这里就是变量V的来源,变量V的来源是command line如过变量V的来源是command line进入ifeq里面,继续执行我们在编译时候如果要详细打印,会设置V=1来实现完整的命令输出KBUILD_VERBOSE会获取到V所赋值的
2022-04-25 16:36:53 391
原创 从入门到精通Uboot(4.Uboot顶层目录分析)
U-Boot 顶层目录分析1.arch 文件夹arch里存放与架构体系相关的代码,我们是进行arm开发,进入arm文件夹可以看到我们是imx_6ull设备,所以需要关注imx-common进入arch/arm/cpu可以看到下面都是与cpu架构相关的,我们所用的imx6ull是cortex-A7架构,对应这里的armv7这里面的u-boot.lds是脚本链接文件2.board 文件夹是一些不同厂商的板子,在做Uboot启动时候,我们要重点参考这个文件3.configs目录co
2022-04-25 10:06:00 371
原创 从入门到精通Uboot(3.Uboot启动串口打印分析)
1.分析Uboot启动过程中的串口信息MMC后面的可以指代SD卡,也可以指代EMMC出现了两个FSL_SDHC,说明了有两个MMC卡槽使用命令mmc list 查看谁是mmc,谁是SD卡这里进行选择,如果此时按回车键,停止加载内核,进入Uboot命令行模式。...
2022-04-25 09:53:46 1234
原创 从入门到精通Uboot(2.Uboot的编译与烧写)
0.Uboot的编译先拿到Uboot源码,进入顶层文件目录1.进行配置export ARCH=armexport CROSS_COMPILE=arm-linux-gnueabihf-ARCH表示开发板的架构CROSS_COMPILE表示交叉编译工具链为了方便开发,建议直接在uboot顶层Makefile里面设置好ARCH和CORSS_COMPILE这两个变量的值。2.进行编译编译完成以后就会生成一个u-boot.bin。我们需要给这个.bin文件添加头部信息Uboot编译最后会通过/t
2022-04-25 09:48:22 460
原创 从入门到精通Uboot(1.Uboot概括)
1.uboot介绍uboot就是一个bootloader,作用就是用于启动Linux或其他系统。Uboot最主要的工作就是初始化DDR。因为Linux是运行在DDR里面的。一般Linux镜像zImage(uImage)+设备树(.dtb)存放在SD、EMMC、NAND、SPI FLASH等等外置存储区域。这里就牵扯到一个问题,需要将Linux镜像从外置flash拷贝到DDR中,再去启动。Uboot的主要目的就是为系统的启动做准备。Uboot不仅仅能启动Linux,也可以启动其他系统,比如vxwor
2022-04-25 08:09:44 553
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人