Android系统10 RK3399 init进程启动(九) u-boot修改,单独编译和烧录

 配套系列教学视频链接:

      安卓系列教程之ROM系统开发-百问100ask

说明

系统:Android10.0

设备: FireFly RK3399 (ROC-RK3399-PC-PLUS)

前言

         上一篇讲到了u-boot镜像生成和启动的逻辑, uboot的单独开发我在课程中并不会去详细讲, 但是如果你想修改uboot源码,或者修改uboot的配置, 此时你也得知道如何单独修改uboot, 编译uboot, 以及单独烧录uboot。

小目标

   掌握u-boot修改,独立编译, 以及独立烧录


一, u-boot编译命令

cd rk3399_Android10.0/uboot/

#完全清除

make  distclean

#单独编译(第一次编译场景)

./make.sh rk3399

#源码配置(不改代码,基于已经存在的.config)

export PATH=$PATH:/mnt/ext-disk2/RK/rk3399_Android10.0/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin

make CROSS_COMPILE=aarch64-linux-gnu- menuconfig

#单独编译(基于已经存在的.config)

./make.sh

二,u-boot修改实战

        现在的uboot源码的控制逻辑和内核控制逻辑相同, 都是通过 Kconfig和Makefile来完成, 所以我们修改uboot的场景,包括配置部分源码的编译, 或者修改某个特定文件中的源码逻辑。

         默认编译出来的镜像, uboot是没有倒计时, 主要是为了加快运行速度, 在开发调试的时候, 我们可以在uboot中加上倒计时, 从而进入到它的命令行模式下进行操作。

cd rk3399_Android10.0/uboot/

export PATH=$PATH:/mnt/ext-disk2/RK/rk3399_Android10.0/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin

make CROSS_COMPILE=aarch64-linux-gnu- menuconfig

 将上面的倒计时秒数由0改成3,或者其他数字,表示倒计时停留的秒数

选择exit, 保存退出

二, u-boot单独编译

上个步骤配置好了之后, 就可以直接执行编译了

#单独编译(基于已经存在的.config)

./make.sh

三, u-boot单独烧录

1, linux系统下TF卡烧录方式(有点麻烦)

        在windows下,瑞星微提供的SDDiskTool只能烧录统一固件, 如果想要单独sd/tf卡中的分区, 可以通过在linux系统中进行操作:

在已经完成了一次统一镜像烧录之后(参考Android系统10 RK3399 init进程启动(四) RK3399开发板运行官方镜像_ldswfun的专栏-CSDN博客

将sd/tf卡插入到linux系统中,查看ls  /dev/sdb*

烧录boot.img命令

sudo dd if=uboot.img of=/dev/sdb1  bs=1M count=4; sync  (验证ok)

2,  window/linux 线刷(不适合TF存储):

详细烧录,请参考:Android系统10 RK3399 init进程启动(六) 镜像更新_ldswfun的专栏-CSDN博客

window下烧写单独镜像:

linux 烧写单独镜像:

sudo upgrade_tool di -b boot.img

四,启动运行

上个步骤烧录完成之后, 上电重启

 在倒计时结束之前,键盘中输入ctrl+c,就可以进入u-boot命令行。 

五,总结

  u-boot开发的内容其实也非常多,上面的内容主要是让大家对瑞星微平台下, u-boot的编译和使用有一个基本的认识, 如果需要深入了解u-boot, 那就必须掌握ARMv7/ARMv8汇编以及体系架构, RK3399 SOC的控制编程等相关知识。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

旗浩QH

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

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

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

打赏作者

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

抵扣说明:

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

余额充值