U-boot移植注意事项

1.配置uboot时make xxx_config,这个xxx要到boards.cfg文件中查找。

2. fatal error: linux/compiler-gcc5.h:No such file or directory错误

(gcc版本与编译的相关版本不一致导致的)

可以

cp /usr/src/linux-headers-4.15.0-142/include/linux/compiler-gcc.h .至 include/linux/

更改名字为compiler-gcc5.h

系统镜像下载

        准备好镜像文件

        开发板开机进如uboot命令行模式

        执行fastboot

        插入miniUSB下载线

        安装fastboot驱动

        修改脚本文件

        下载u-boot:fastboot flash ubootpak ../linux_image/ubootpak.bin

        下载内核:fastboot flash ubootpak ../linux_image/boot.img

        下载跟文件系统: flash gtkfs ../linux_image/gtkfs.img

        双击脚本文件 下载完成时 开发板提示 ubootpak -DONE

        重启开发板

配置编译原理分析

用户执行 make x6818_config

        脚本文件mkconfig中        @$(MKCONFIG) -A $(@:_config=)

        $(@:_config=)   : = 将_config去除 $取出去除后的变量 即x6818

        mkconfig 主要从boards.cfg中找到x6818所在行  并将改行所有信息设置成mkconfig脚本的新的命令行参数

        然后获取到的参数,存入到include/config.mk中

        脚本中 >>表示追加该文件  >创建该文件

        mkconfig 创建include/config.h并写入一个定制的头文件以及目标平台的相关信息

        include/config.h 默认是被所有源码所包含的不变的头文件  以便于包含变化的头文件x6818.h

x6818.h中的裁剪配置均以CONFIG_开头

        这个宏会被脚本解析为变量定义在include/autoconf.mk中

        autoconf.mk最后又会被Makefile所包含 并决定那些文件需要编译

ubootpak.bin由uboot.bin和其他两个文件nsih  2ndboot打包而成

uboot命令

设置启动命令行参数

        setenv bootargs=root=xxx  设置启动命令行参数 

        boot启动系统时自动加载的环境变量

        setenv bootcmd ext4load mmc 2:1 0x48000000 uImage \; bootm 0x48000000

         ext4load先把程序引导到内容中   ;     再从内存加载程序

下载镜像命令

        loadb 0x48000000通过串口下载文件到内存中

        fastboot 通过usb下载文件到磁盘中

        tftp 0x48000000 通过网络下载文件到内存

启动命令

        boot从外存启动

        bootm 0x48000000 从内存 启动

        从上位机启动(主要用于调试内核)

        fastboot flash app uImage 先从PC端下载镜像到内存0x48000000

        bootm 0x48000000 从内存 启动

三步添加自定义uboot命令

uboot启动内核的过程

(两个阶段 第一阶段是汇编(2ndboot)第二阶段为C代码(u-boot.bin))

        通过ext4load 或者fastboot 下载内核到内存0x48000000

        通过bootm 0x48000000启动内核

        先找到cmd_bootm.c文件

        找到bootm命令回调函数逐步调用启动内核

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值