dosimg文件烧录flash ()

瑞芯微的arm ,arm64的开发板在各种电子产品领域使用非常广泛,产家推出自己烧录工具,有windows版本,ubuntu版本,两种工具我都用过,其中小坑较多,这里把我们经验分享给大家。

瑞芯微的固件有两种烧录方式

1.USB线接在PC机进行烧录,一般用于开发

2.通过sd卡进行烧录。

本我们介绍是采用usb烧录方式

烧录工具

以下是windows是版本,其中为与开发板正常通讯,需要安装瑞芯微的驱动

电脑

下载瑞芯微驱动助手即可安装

ubuntu是一个命令行工具 upgrade_tools,无需驱动就能运行


烧录文件形式

在烧录的固件有两种形式,一种是整体打包的文件,包含bootloader ,内核,根文件系统,分区表等,相当于把一次把开发板系统重装一次。

另外一个部分固件,比如单独烧录内核,需要指定分区地址,通常按开发板产家缺省地址即可

电脑

烧录的要点

第一次烧录需要注意如下几点:

瑞芯微的usb烧录,只能通过板上唯一的usb tag口烧录

开发板厂家往往将这个接口也做成母头形式,跟其它usb host,usb slave 做成一样,而不同款开发板位置还不一样,所以要插上双公头USB数据线看一下设备管理器的rk驱动有不有反应。


要进入烧录状态,必须长按下recover键,再点击reset键重启后2秒钟,松开recover键。

如果连接上,windows管理器会出Rockusb Device的设备

电脑

而Ubuntu 下,首先运行upgrade_tool ,在没有找到烧录设备前会阻塞,直到设备进入recover状态才往下执行。

在完整固件烧录Android和Ubuntu 两者操作步骤有所不同

如果原来板上原来Android系统,在换成Ubuntu烧录之前,必须进行一次擦除操作。

而原来板上有ubuntu系统,在换成Android系统之前,反而不要擦除,如果执行擦除就会烧录失败!

Linux 烧录过程

统一固件名称类似如下名称:

AIO-3399C-AI-UBUNTU-20.04_DESKTOP-GPT-20210915-1102.img

在网上下载往往是压缩的,需要解压才能烧录

第一次烧录ubuntu,需要操作擦除操作

sudo ./upgrade_tool ef AIO-3399C-AI-UBUNTU-20.04_DESKTOP-GPT-20210915-1102.img?


其中ef 参数示清除系统

?以下是运行例子?

sudo ./upgrade_tool ef AIO-3399C-AI-UBUNTU-20.04_DESKTOP-GPT-20210915-1102.img
[sudo] hxy 的密码:
Loading loader...
Erase flash ok.

?

完整烧录命令

sudo upgrade_tool uf AIO-3399C-AI-UBUNTU-20.04_DESKTOP-GPT-20210915-1102.img


uf表示完整烧录

以下运行实例

?sudo ./upgrade_tool uf AIO-3399C-AI-UBUNTU-20.04_DESKTOP-GPT-20210915-1102.img
Loading firmware...
Support Type:RK330C FW Ver:8.1.00 FW Time:2021-09-15 11:02:48
Loader ver:1.1a Loader Time:2021-09-15 11:02:17
Upgrade firmware ok.

?

烧录内核

在开发中修改内核后,可以选择部分烧录,以节约时间?

??内核分区烧录文件是 kernel目录下成功编译的boot.img?

sudo ./upgrade_tool di -boot boot.img

?di 表示烧入内核分区

以下运行实例

sudo ./upgrade_tool di -boot boot.img

directlba=1,first4access=1,gpt=1
Download boot start...(0x0000a000)
Download image ok.

?

?windows下烧录

以下是烧录ubuntu的界面提示,最开始点击固件按键选择文件,在上一次烧录Android时,需要点击“升级固件”-->擦除Flash

然后点击升级按钮进行升级,如下是一次成功升级

如果是烧入Android固件,注意不要点击擦除flash 否则会失败


电脑

如下错误提示 下载IDB失败,就是因为点了多余“擦除flash”


此时再烧入Android就会败了,如果界面提示MaskRom设备,这时可以重烧录一次ubuntu一然后再烧录Android即可

?

以上就一个烧板几十次的工程师经验?

?


电脑 电脑