全志A33 修改brandy目录中build.sh文件,将原有uboot打包到img文件中

本文详细介绍了在全志平台上如何编译u-boot,包括修改build.sh文件以适应不同平台,添加自定义打印信息,以及制作和烧写img文件的过程。此外,还讲解了如何检查和修改u-boot启动参数以确保内核正常启动。
摘要由CSDN通过智能技术生成

一、brandy路径下build.sh文件

原有的全志开发包中,已经将u-boot封装好,所以在实际使用的过程,不会涉及u-boot的编译,细心观察就会发现上次的brandy目录中执行build.sh文件中的

PLATFORM="sun8iw3p1"

而不是

PLATFORM="sun8iw5p1"

因为编译好u-boot后不需要再将u-boot打包了,所以修改为其他平台,在编译完成时就不会复制到打包路径下。

二、dragonboard路径build.sh文件分析

在实际开发中,dragonboard目录中的,可执行脚本build.sh文件,主要是用来编译Linux内核的(driver),其制作方法是buildroot方式,build.sh文件内容

#!/bin/bash

set -e

buildroot/scripts/mkcommon.sh $@

进入buildroot/scripts/mkcommon.sh文件中

vi buildroot/scripts/common.sh

在common.sh中,判断执行了,u-boot中的build.sh脚本
在这里插入图片描述

通过上述分析我们知道了,在实际开发过程中,我们可以,直接执行brandy目录的build.sh文件,就可以编译生成u-boot。

三、修改brandy路径下build.sh生成bin文件

1、在编译之前将build.sh中的PLATFORM修改为PLATFORM=“sun8iw5p1”

PLATFORM="sun8iw5p1"

在这里插入图片描述

2、然后,我们在读秒之前添加一项我们的输出打印信息,确认已经将u-boot编译打包进img文件中,就在读秒之前添加打印信息
在这里插入图片描述

grep 'sunxi_bmp_logo_display' *nR

在这里插入图片描述
brandy/u-boot-2011$

vi arch/arm/lib/board.c +767

添加测试,添加自己的打印信息

printf("my_test_hello_uboot\n")

在这里插入图片描述
3、重新编译u-boot,在brandy目录执行./build.sh
brandy$

./build.sh

执行完成,即可看见u-boot-sun8iw5p1.bin复制到了dragonboard/tools/pack/chips/sun8iw5p1/bin中
在这里插入图片描述

四、制作生成img文件

1、首先查看即将要制作的u-boot.bin文件的路径
全志的u-boot启动有两个阶段boot0和boot1段这个后面再说,我们在 实际的使用过程中只涉及到boot1,及u-boot-sun8iw5p1.bin
在这里插入图片描述
2、制作img文件,打包
进入dragonboard目录
执行`./build.sh pack 生成img文件

./build.sh pack

3、烧写测试
在这里插入图片描述

由此可见,修改的u-boot写入了emmc工作了。

五、修改u-boot启动参数,正常启动内核

img烧写到开发板中后,还需要查看启动参数是否匹配,如果不匹配,还需要修改相应的参数

1、print查看启动参数

print

重点关注,bootcmd,boot_normal,bootargs相关参数,如果与板子不匹配修改
我的开发板修改的参数有:
1)、

setenv bootdelay 6

2)、

setenv bootcmd run setargs_mmc boot_normal

在这里插入图片描述
保存

saveenv

复位重启开发板,用制作的u-boot成功引导内核和rootfs。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hdh717

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值