1 介绍

Rockusb是Rockchip提供的一个供应商特定的USB类工具,用于Rockchip SoCs的固件下载。


2 进入到Rockusb模式

对于Rockchip SoCs,有以下几点可进入到Rockusb模式。

  • maskrom 模式, 片上SoC无固件, 目标板子会运行maskrom rockusb驱动程序。
  • usbplug 模式。
  • miniLoader rockusb 模式, 目标板子运行miniloader rockusb驱动程序。
  • uboot rockusb模式。

2.1 Maskrom 模式

如果板子内没有可引导的固件被发现,SoC会自动运行Rockusb驱动程序,我们把这个定义为Bootrom模式或者Maskrom模式。

如果固件在板子的某个存储媒介, 为了进入这种模式,我们可以采取措施防止cpu成功读取固件:

  • 对于SD-card, 可以不插入SD-card;
  • 对于eMMC, 短接eMMC时钟引脚到GND;
  • 对于NAND, 短接数据引脚或者时钟引脚到GND;
  • 对于SPI, 短接spi信号引脚到GND;
  • 在U-Boot and Kernel, WIP执行"reboot bootrom"命令;
  • 在eMMC或其他媒体设备中,用不可引导数据擦除可引导区域

在Maskrom模式下,DRAM不可用,因此下载大小受内部存储大小的限制。

这种模式下允许使用以下命令:

'db' 命令: 系统初始化DRAM并运行到usbplug(带rockusb驱动程序)模式,该模式对下载大小没有大小限制。

'ul' 命令: 首先运行'db' 命令,然后下载idbloader到eMMC的0x40地址处;

'uf' 命令: 首先运行'db' 命令,然后将update.img中的image下载到eMMC中;

访问DRAM所需的所有其他命令都应在使用“db”命令之后才能使用。

2.2 Usbplug 模式

usbplug是一个固件,用于使用rkdeveloptool db 命令进行USB下载,内置rockusb驱动程序,DRAM已经在此模式下初始化。

2.3 Miniloader Rockusb 模式

Rockchip早期image(带U-Boot 2014.10)使用miniloader作为默认USB固件升级路径, 使用以下选项进入此模式:

- 上电之时按下'recovery' 或者'volumn +'按键。

-  找不到下一阶段固件。

例如, erase U-Boot中可引导的数据:

mmc erase 0x4000 0x2000

-  在内核中执行"reboot loader" 命令。

注意: 在这个miniloader rockusb模式, rkdeveloptool的偏移量不是实际物理地址,

物理偏移量0~0x2000不能通过wl命令写入;

wl 命令的物理偏移量是偏移增加0x2000, 例如:

执行"rkdeveloptool wl 0x2000 uboot.img"命令会把uboot.img烧写到emmc的0x4000地址处。

2.4 U-Boot Rockusb 模式

进入这种模式:

- 上电之时按下'recovery' 或者'volumn +'按键。

- 在内核执行"reboot loader"命令。

- 从U-Boot shell执行以下命令:

rockusb 0 mmc 0

3 rockusb的USB VID/PID

Rockchip供应商ID为0x2207, 对于产品ID,不同的SoCs是不同的。

Rockusb产品ID:

  • RK3288: 0x320a
  • RK3328: 0x320c
  • RK3399: 0x330c

在有Rockusb设备连接到Linux PC机下,使用 lsusb 命令进行查看。


4 固件下载

rkdeveloptool 和 upgrade_tool 是对Rockchip SoCs进行固件升级的工具,该SoCs通过USB使用Rockusb协议。

Rockchip | Rockusb工具相关推荐

  1. 【正点原子Linux连载】第三章 RV1126开发环境搭建 摘自【正点原子】ATK-DLRV1126系统开发手册

    1)实验平台:正点原子RV1126 Linux开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692176265749 3)全套实验源码+手册+视频 ...

  2. linux刷rockchip工具,[Radxa Rock]如何刷机到NAND闪存

    这个页面描述怎么往Radxa Rock的NAND flash上装系统,即大家喜闻乐见的刷机. 你可以选择完全刷机(就是刷 update.img格式的固件)或者只刷特定的某个 分区. 你可以从radxa ...

  3. Rockchip RK3588 Android平台固件烧写工具汇总

    Rockchip RK3588 Android平台固件烧写工具汇总 文章目录 Rockchip RK3588 Android平台固件烧写工具汇总 开发工具AndroidTool桌面版 适用场景 功能列 ...

  4. Rockchip烧写工具使用

    文章目录 环境:Windows 烧写环境设置 制作固件update.img 解压固件update.img 环境:Linux 烧写工具 制作固件update.img 烧写统一固件 update.img ...

  5. 辉哥给rockchip修复了一个内存溢出问题

    还是周末 我也不想说周末,但是不是周末的话,可能也没有特别清净的时间来处理困难的问题.这周末我是要加班的,加班的前一个晚上,我领导找我们吃了一个便饭,聊了很多东西,这篇文章我就不说了,会在下篇文章来讲 ...

  6. rockchip的yocto编译环境的搭建

    作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:Conscience_Remains 总述   嵌入式的朋友们,应该知道Linux驱动开发过程中,需要进行搭建交叉编译工具链环境.移植u-boot ...

  7. 模型转换、压缩、加速工具

    20210618 sky_hole: 回成都工作了吗?wang shi yang: 嗯 我现在已经在成都上班了sky_hole: 不用付费,我之前发你的视频你好好看看就可以入门了sky_hole: 成 ...

  8. 基于ROCKCHIP的ubuntu-base根文件系统构建

    1.ubuntu根文件系统获取 根文件系统下载地址http://cdimage.ubuntu.com/ubuntu-base/releases/ Ubuntu 针对不同的 CPU 架构提供相应的 ub ...

  9. 有关wifi配置工具wpa_cli以及wpa_supplicant简单分析

    最近在公司开发新产品智能Android机器人,开始使用的是rk3229开发板,在调试wifi的时候经常用到工具wap_cli,开始使用demo板调试的时候wpa_cli可以正常使用.但是由于产品需要支 ...

  10. mkimage工具将zImage转换为uImage

    正常引导的内核文件 [root@wtstb ~]# mount /dev/sda1 /mnt/ [root@wtstb ~]# file /mnt/hi_kernel.bin /mnt/hi_kern ...

最新文章

  1. pip install robot framework出现字符集编码错误
  2. python的中文含义-python __all__ 含义
  3. scrapy mysql 报错_scrapy爬数据存mysql报错
  4. 在Tomcat中部署seam工程
  5. [转]大话企业级Android应用开发实战 音乐播放器的开发
  6. 中国宜坚持发展自主操作系统
  7. [数据结构]Map和Set
  8. emacs latex_如何使用Emacs创建LaTeX文档
  9. MYSQL多线程插入操作
  10. linux修改文件打开最大数(ulimit命令)
  11. 一文速学-时间序列分析算法之一次移动平均法和二次移动平均法详解+实例代码
  12. 【三维点云数据处理】PCL三维点云配准 SACIA
  13. ARM Cortex-M3/M4内核相关
  14. 后缀是lnk是什么文件_ink是什么文件
  15. 第7章第23节:双图排版:两张图片的错位叠加 [PowerPoint精美幻灯片实战教程]
  16. 让程序员工资随年龄增长递减更合理?
  17. 电信光纤无线路由器(光猫)的设置方法
  18. 千兆以太网TCP协议的FPGA实现。
  19. Frequency Dependence(天线参数的依赖性)side lones(旁瓣)
  20. Colab防断,防止colab每隔一段时间自动断连。

热门文章

  1. linux开机自动root,linux怎样设置root自动登录
  2. 南邮计算机就业,这两所大学实力强劲,从专业到就业率分析,来看看谁更强吧...
  3. 一零四五、FAILED: SemanticException [Error 10293]: Unable to create temp file for insert values Expressio
  4. TensorFlow问题:FLAGS._parse_flags()报错AttributeError:_parse_flags
  5. 未能加载“xxx”程序集
  6. java 操作日志 log
  7. 富文本 和 图片裁切
  8. git 裁切_图片裁切.html
  9. linux vim 修改 只读文件,linux下vi编辑只读文档无法保存的解决方法
  10. python 股票分析_Python 股票分析入门