[ROC-RK3568-PC] U-Boot编译与烧录
Posted Neutionwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ROC-RK3568-PC] U-Boot编译与烧录相关的知识,希望对你有一定的参考价值。
前言
RK U-Boot 基于开源的 U-Boot 进行开发,工作模式有启动加载模式和下载模式。启动加载模式是 U-Boot 的正常工作模式,嵌入式产品发布时,U-Boot 都工作在此模式下,主要用于开机时把存储器中的内核加载到内存中,启动操作系统;下载模式主要用于将固件下载到存储器,开机时长按 Recovery 键可进入下载模式。本文简单说明 U-Boot 的使用,详细请参考Uboot开发
编译
编译 U-Boot 与编译内核类似,编译前把默认配置写入 .config,执行:
make rk3568_defconfig
如果需要修改相关选项,也可以用:
make menuconfig
编译:
./make.sh rk3568
编译后生成:
u-boot/uboot.img
u-boot/rk356x_spl_loader_v1.05.108.bin
烧录
打开烧录工具,板子接好 USB OTG 线,接通电源时按住 Recovery 键,使开发板进入 U-Boot 的下载模式,在烧录工具中选择编译好的 Loader 文件,点击执行即可,如下图:
确认是否正确烧写新的 Loader
如果你已经成功烧写你最新编译的 Loader,在开机的串口输出中可以看到类似如下信息:
android 11.0, Build 2021.2, v2
如果打印的时间及版本与你编译的一致,说明你成功更新了 Loader。
进入 U-Boot 命令行模式
系统启动时通过调试串口长按ctrl+c
即可进入U-Boot命令模式
=> <INTERRUPT>
=> <INTERRUPT>
=>
=> help
? - alias for 'help'
android_print_hdr- print android image header
base - print or set address offset
bdinfo - print Board Info structure
bidram_dump- Dump bidram layout
boot - boot default, i.e., run 'bootcmd'
boot_android- Execute the Android Bootloader flow.
boot_fit- Boot FIT Image from memory or boot/recovery partition
bootavb - Execute the Android avb a/b boot flow.
bootd - boot default, i.e., run 'bootcmd'
bootefi - Boots an EFI payload from memory
booti - boot arm64 Linux Image image from memory
bootm - boot application image from memory
bootp - boot image via network using BOOTP/TFTP protocol
bootrkp - Boot Linux Image from rockchip image type
bootz - boot Linux zImage image from memory
cmp - memory compare
二级 Loader
RK3568 使用二级 Loader,编译生成的镜像为:
u-boot/uboot.img
u-boot/rk356x_spl_loader_v1.05.108.bin
其中 V1.05.108
是发布的版本号,rockchip 定义 U-Boot loader 的版本,其中 1.05.108
是根据存储版本定义的,客户务必不要修改这个版本。uboot.img
包含 uboot 固件。
以上是关于[ROC-RK3568-PC] U-Boot编译与烧录的主要内容,如果未能解决你的问题,请参考以下文章
[ROC-RK3568-PC] 手把手教你编译Linux_SDK并打包Ubuntu系统固件
[ROC-RK3568-PC] 手把手教你解包Ubuntu系统固件
[ROC-RK3568-PC] 手把手教你编译与打包Android 11系统固件
[ROC-RK3568-PC] 手把手教你打包能使用Etcher或dd命令烧写的Ubuntu系统固件