Rockchip RK3399 - 官方固件方式加载uboot

本文详细介绍了在NanoPC-T4开发板上,使用Rockchip RK3399处理器,通过官方固件方式加载uboot的全过程。包括下载rkbin,合并文件,编译uboot,生成和烧录各种镜像文件,以及如何进入MASKROM升级模式和测试步骤。涉及的工具有rkdeveloptool,涉及的文件包括idbloader.img、u-boot.img和trust.img。
摘要由CSDN通过智能技术生成

----------------------------------------------------------------------------------------------------------------------------开发板  :NanoPC-T4开发板eMMC   :16GBLPDDR3:4GB显示屏  :15.6英寸HDMI接口显示屏u-boot    :2017.09----------------------------------------------------------------------------------------------------------------------------

NanoPC-T4开发板,主控芯片是Rockchip RK3399,big.LITTLE大小核架构,双Cortex-A72大核(up to 2.0GHz) + 四Cortex-A53小核结构(up to 1.5GHz);Cortex-A72处理器是Armv8-A架构下的一款高性能、低功耗的处理器。

我们接着上一节,介绍Rockchip处理器启动支持的两种引导方式

  • TPL/SPL加载:使用Rockchip官方提供的TPL/SPL U-boot(就是我们上面说的小的uboot),该方式完全开源;
  • 官方固件加载:使用Rockchip idbLoader,来自Rockchip rkbin项目的Rockchip DDR初始化bin和miniloader bin,该方式不开源;

这一节我们将介绍采用官方固件方式方式,如何编译源码以及烧录程序到eMMC,从而完成uboot的启动。

一、idbloader.img

我们基于Rockchip rkbin官方给的ddr.bin、miniloader.bin来构建rk3399_loader_v1.27.126.bin。

  • ddr.bin:等价于我们之前说的TPL,用于初始化DDR;
  • miniloader.bin:Rockchip修改的一个bootloader,等价于我们之前说的SPL,用于加载uboot;
1.1 下载rkbin

我们可以在Rockchip的github上下载到Rockchip rkbin项目,如下所示:

root@zhengyang:/work/sambashare/rk3399# git clone https://github.com/rockchip-linux/rkbin.git --depth 1 
1.2 合并

在rkbin根目录下执行如下命令:

root@zhengyang:/work/sambashare/rk3399# cd rkbin/
root@zhengyang:/work/sambashare/rk3399/rkbin# tools/mkimage -n rk3399 -T rksd  -d bin/rk33/rk3399_ddr_800MHz_v1.27.bin idbloader.img
Image Type:   Rockchip RK33 (SD/MMC) boot image
Init Data Size: 153600 bytes
root@zhengyang:/work/sambashare/rk3399/rkbin# cat bin/rk33/rk3399_miniloader_v1.26.bin >> idbloader.img
root@zhengyang:/work/sambashare/rk3399/rkbin# ll idbloader.img
-rw-r--r-- 1 root root 239900 5月  15 20:47 idbloader.img
这样我们就得到了idbloader.img文件。

二、u-boot.img

使用Rockchip miniloader的idbloader时,需要将u-boot.bin通过tools/loaderimage转换为可加载的miniloader格式。

2.1 编译uboot

关于uboot的编译在上一篇博客中已经介绍的很详细了,这里不再重复介绍了,具体参考Rockchip RK3399- TPL/SPL方式加载uboot

编译完成,在在uboot根录下生成文件有:
root@zhengyang:/work/sambashare/rk3399/u-boot# ll u-boot*   Sys*
-rw-r--r-- 1 root root  153740 5月  14 10:30 System.map
-rwxr-xr-x 1 root root 6872736 5月  14 10:30 u-boot*
-rw-r--r-- 1 root root  931504 5月  14 10:30 u-boot.bin
-rw-r--r-- 1 root root   15808 5月  14 10:30 u-boot.cfg
-rw-r--r-- 1 root root    9996 5月  14 10:30 u-boot.cfg.configs
-rw-r--r-- 1 root root   51685 5月  14 10:30 u-boot.dtb       # 设备树
-rw-r--r-- 1 root root  931501 5月  14 10:30 u-boot-dtb.bin   # 等同u-boot.bin
-rw-r--r-- 1 root root  932864 5月  14 10:30 u-boot-dtb.img   # 等同u-boot.img
-rw-r--r-- 1 root root  932864 5月  14 10:30 u-boot.img
-rw-r--r-- 1 root root    1304 5月  14 10:30 u-boot.lds
-rw-r--r-- 1 root root  800454 5
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Rockchip RK3566是一款由Rockchip推出的高性能应用处理器,其集成了四核ARM Cortex-A55 CPU和ARM Mali-G52 GPU。在移植U-Boot 2023.04时,我们需要考虑以下几个方面的工作: 1. 了解RK3566芯片的硬件架构和技术规格,包括处理器核心、内存控制器、外设接口等。这将有助于理解U-Boot如何与硬件交互,并进行相应的配置。 2. 下载并准备U-Boot 2023.04的源代码。在Rockchip官方网站或开源社区中可以找到最新的U-Boot源代码。将其下载并解压到开发机上。 3. 设置交叉编译环境。因为U-Boot是一个跨平台的项目,所以需要配置适合RK3566的交叉编译器,确保能够正确编译U-Boot源代码。 4. 配置U-Boot。根据RK3566的硬件架构和技术规格,需要进行相应的配置,包括处理器、内存、外设等设置。这些设置在U-Boot的配置文件中进行,可以根据需求进行修改。 5. 编译U-Boot。在配置好U-Boot后,使用交叉编译器编译U-Boot源代码。编译完成后,将生成的U-Boot二进制文件烧录到RK3566的启动设备上,如eMMC或SD卡。 6. 测试U-Boot。将准备好的启动设备插入RK3566开发板中,根据开发板的启动方式,进入U-Boot命令行界面。在命令行界面中可以进行各种操作和调试,如加载内核、启动操作系统等。 7. 调试和优化。在移植和测试U-Boot过程中,可能会出现一些问题和不稳定的情况。需要通过调试和优化来解决这些问题,确保U-Boot的正常运行和稳定性。 总之,移植U-Boot 2023.04到Rockchip RK3566需要了解芯片的硬件架构和技术规格,配置和编译U-Boot源代码,进行测试和调试。这样可以确保U-Boot能够与RK3566正常交互,并为后续的操作系统加载和启动提供基础支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Graceful_scenery

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

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

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

打赏作者

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

抵扣说明:

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

余额充值