Rockchip | Rockchip固件升级工具

Rockchip提供了将固件升级到板载存储介质(如eMMC/NAND/SPI flash)的工具。

以下是各个固件升级工具:

工具名称 来源 OSS 描述
Upgrade_tool Rockchip N 官方在SDK发布的Linux平台下烧写工具
rkdeveloptool Rockchip Y upgrade_tool的开源版本
rkflashtool Community Y 第三方维护的开源版本
Android Tool Rockchip N Rockchip官方在SDK发布的Windows平台下烧写工具

如果使用SD卡进行固件存储,那么就不需要固件升级工具,我们可以在Linux操作系统中使用'dd'命令进行烧写。

下面介绍一下upgrade_tool与rkdeveloptool工具:


1 upgrade_tool

 upgrade_tool是一个Linux平台下用于固件升级工具。您可以在[Linux SDK root]/ tools/linux/Linux_Upgrade_Tool中找到它。

为了使用upgrade_tool,确保可以先执行它。

chmod 777 ./tools/linux/Linux_Upgrade_Tool/upgrade_tool

使用upgradetool烧写镜像。请确保设备处于maskrom rockusb mode。  进入到rockimg目录:

cd rockimg

使用下面的命令来烧写镜像。让我们以RK3399为例。只需将rk3399_loader_v1.09.112.bin更改为当前正在使用的版本。

sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool ul rk3399_loader_v1.09.112.bin
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -p parameter.txt
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -u uboot.img
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -t trust.img
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -re resource.img
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -k kernel.img
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool di -rootfs rootfs.img
sudo ../tools/linux/Linux_Upgrade_Tool/upgrade_tool rd #重启目标机器

2 rkdeveloptool

rkdeveloptool是Rockchip提供的一个与Rockusb设备进行通信的工具,它被认为是upgrade_tool 的一个开源版本,只有很少区别。

2.1 下载rkdeveloptool

获取rkdeveloptool的源代码:

git clone https://github.com/rockchip-linux/rkdeveloptool.git

2.2 构建rkdeveloptool

首先安装libusb与udev,例如对于Ubuntu:

sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf

然后:

autoreconf -i
./configure
make
make install

如果遇到如下编译错误:

./configure: line 4269: syntax error near unexpected token `LIBUSB1,libusb-1.0'
./configure: line 4269: `PKG_CHECK_MODULES(LIBUSB1,libusb-1.0)'

还需要安装pkg-config与libusb-1.0:

sudo apt-get install pkg-config libusb-1.0 

2.3 用法

2.3.1 支持命令

Tool Usage ---------------------

Help:             -H
Version:          -V
DownloadBoot:    DB 
UpgradeLoader:    UL 
ReadLBA:        RL    
WriteLBA:        WL   
WriteGPT:       GPT 
EraseFlash:        EF 
TestDevice:        TD
ResetDevice:    RD [subcode]
ReadFlashID:    RID
ReadFlashInfo:    RFI
ReadChipInfo:    RCI
-------------------------------------------------------

2.3.2 烧写镜像到eMMC

为了烧写镜像到eMMC

  1. 确保目标机器进入 rockusb mode;
  2. 通过USB连接目标机器到PC机;
  3. 使用命令烧写镜像到eMMC;
  • 使用下载引导命令去使目标机器初始化DRAM与运行usbplug;
rkdeveloptool db rkxx_loader_vx.xx.bin
  • 使用wl 命令烧写镜像到目标机器,这个步骤步骤可以重复多次;
rkdeveloptool wl 0x40 idbLoader.img
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
  • 使用ul 命令从rockchip loader烧写idbloader到idb;
rkdeveloptool ul rkxx_loader_vx.xx.bin

注意: 前面使用ul 命令与下面的操作命令类似,只是使用来源不一样。

rkdeveloptool wl 0x40 idbLoader.img

注意: rkdeveloptool(ul= wl idbloader)ul 命令的使用与upgrade_tool(ul = db + wl idbloader + rd)是不一样的。

  • 使用gpt 命令烧写parameter_gpt.txt到gpt分区
rkdeveloptool gpt parameter_gpt.txt
  • 在烧写镜像完成后使用rd 命令重启目标机器
rkdeveloptool rd

你可能感兴趣的:(RK开发指南,linux,rockchip,rkdeveloptool,upgrade_tool,RKDevTool)