eMMC启动镜像烧录

您所在的位置:网站首页 电脑进入镜像模式 eMMC启动镜像烧录

eMMC启动镜像烧录

2024-07-13 18:36| 来源: 网络整理| 查看: 265

eMMC启动镜像烧录¶

eMMC烧录可以分为两种方式,分别是使用SD升级卡烧录镜像到eMMC和使用USB烧录工具烧录镜像。

SD升级卡的制作也需要使用SDDiskTool工具,不支持分区烧录,只能烧录完整的SDK生成的update.img镜像。 其原理是向SD卡内烧录完整的启动镜像,然后再保留一份update.img到SD卡内,系统从SD卡内启动,然后将update.img镜像烧录到eMMC中。

使用USB烧录工具烧录镜像到eMMC也分为两种方式,一个是使用瑞芯微开发工具RKDevTool(Windows版)或Linux_Upgrade_Tool(Linux版),另一个是使用瑞芯微USB量产烧录工具FactoryTool(仅Windows)

RKDevTool和Linux_Upgrade_Tool的功能类似,都支持分区烧录和完整update.img镜像烧录,这两个工具主要用于开发过程中的镜像烧录, 不仅拥有烧录功能,还有其他的高级功能,但是一次只能连接一块板卡进行操作。

FactoryTool量产工具主要用于工厂生产使用,只支持update.img镜像,可以同时进行多块板卡的烧录,操作简单。

综合分析以上烧录方式,FactoryTool量产工具适合工厂大批量烧录,RKDevTool和Linux_Upgrade_Tool适合开发时使用或小批量烧录使用。SD卡烧录方式不推荐。

提示

强烈建议预留USB-OTG接口用于eMMC固件下载及量产烧录

SD升级卡烧录镜像到eMMC¶

注意

SD升级卡烧录镜像到eMMC目前仅支持Buildroot镜像

在量产时,我们可以借助SD卡进行eMMC的烧录。其原理是先在SD卡中烧录完整的系统启动镜像,然后再存放一份update.img镜像到SD卡中, 在板卡上电后,优先从SD卡中启动操作系统,待操作系统启动完成后,将SD卡中的update.img镜像烧录到eMMC中。

首先我们要创建用于烧录的SD卡,我们称为SD升级卡,也是用SDDiskTool工具和板卡对应的RK格式完整镜像进行创建。

注意

制作SD升级卡要使用SDDiskTool_v1.7及以上版本

由于瑞芯微SD卡烧录工具SDDiskTool目前只有Windows版本,所以SD升级卡的制作过程只能在Windows下进行。 文档中使用Windows 10 21H1版本,其他版本兼容性未测试。

错误

由于烧录过后的SD卡有较多的分区,重新使用SDDiskTool烧录时会有概率导致电脑蓝屏, 烧录前请先保存好未保存的应用软件。

RK格式完整镜像是指:

使用SDK直接构建的rockdev/update.img镜像。

野火发布的以Update.img结尾的系统镜像。

SDDiskTool烧录软件可在网盘资源中获取。

打开烧录SDDiskTool的可执行文件SD_Firmware_Tool.exe并插入SD卡。

警告

插入多个可移动存储设备时,请确定选择的SD卡无误后再烧录,否则会导致其他存储设备内容被覆盖。

选择正确的要烧录的SD卡,然后将功能模式选择为 固件升级 , 再选择要烧录的RK格式完整镜像,最后点击开始创建烧录镜像到SD卡。

提示

发布的镜像以zip格式压缩,请先解压压缩包,然后使用img格式镜像进行烧录。

耐心等待SD卡烧录完成,当镜像较大时,烧录的时间会相应变长。

烧录完成后,会新建一个NTFS格式的分区,我们打开该分区可以看到被重命名为sdupdate.img的update.img文件。

烧录之前,我们可以连接Debug串口或接入屏幕,在烧录时会有提示信息。所有准备工作做好后,在板卡上插入SD卡,并重新上电。

系统启动后屏幕上会出现一个安卓机器人的界面, 同时会有parameter waiting… uboot waiting..的文字提示,这是正在烧录对应的分区。 由于rootfs分区较大,会长时间停留在rootfs waiting阶段。

在串口终端输出以下内容时,eMMC烧录开始:

1 2 3 4 5 6 7 8 9 10 11 12Starting input-event-daemon: input-event-daemon: Start parsing /etc/input-event-daemon.conf... input-event-daemon: Adding device: /dev/input/event0... input-event-daemon: Adding device: /dev/input/event1... input-event-daemon: Adding device: /dev/input/event2... input-event-daemon: Adding device: /dev/input/event3... input-event-daemon: Adding device: /dev/input/event4... input-event-daemon: Adding device: /dev/input/event5... input-event-daemon: Adding device: /dev/input/event6... input-event-daemon: Adding device: /dev/input/event7... input-event-daemon: Start listening on 8 devices... done [root@RK356X:/]# [ 5.049542] mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8

在分区烧录完成后,会进行各分区的校验,待校验完成后会提示 update.img Installation success 然后在屏幕和串口打印出 Please remove SD CARD!!!, wait for reboot.

此时拔出SD卡,板卡会自动重启,并使用eMMC中烧录的镜像启动操作系统。

瑞芯微开发工具通过USB烧录镜像到eMMC¶

通过板卡预留的USB-OTG接口,我们可以很方便的将固件烧录到eMMC中。 而使用瑞芯微开发工具,我们不仅能进行完整镜像的烧录,还可以分区烧录镜像, 对于开发者来说,可以大大加快开发节奏。

注解

由于部分板卡下载接口不支持自动切换OTG模式或与供电接口共用,在板卡或外壳上的丝印为Download,其本质还是USB-OTG接口。 为便于理解,下文中统称为下载接口。

注解

使用USB下载方式,除工厂生产首次烧录外,都需通过按键进入maskrom模式,部分板卡按键丝印为MASKROM,部分为MR,以下统称为MR按键。

RKDevTool(Windows)¶

由于在开发过程中,编译都是在公司的编译服务器上进行的,我们本地使用WindowsPC通过ssh、ftp等方式连接到服务器。

这种本地使用Windows环境,远程使用Linux编译服务器的场景就很适合使用瑞芯微开发工具RKDevTool,推荐使用v2.91及以上版本。

准备工作¶

安装Windows平台瑞芯微USB设备驱动程序。下载并解压软件压缩包,双击 DriverInstall.exe 进入驱动安装界面。

点击 驱动安装 即可开始安装驱动。如果不确定以前是否安装过旧版驱动, 先点击驱动卸载移除旧版本驱动程序,再点击驱动安装。

质量较好的USB线。 USB-A to USB-C 或 双公头USB-A 线缆, 依据下载口母座形式和实际情况决定。

安装Windows平台瑞芯微开发工具

解压压缩包后无需安装即可使用,双击 RKDevTool.exe 进入软件界面。

软件主要有三大部分,分别是下载镜像、升级固件和高级功能

其各个部分功能的使用将在具体使用时讲解,完整使用方法请查看工具压缩包内的: 《开发工具使用文档》

进入烧录模式

1.将准备好的USB线缆,一端连接电脑,一端预留备用

2.将所有有可能给板卡供电的接线都断开,如电源线,其他USB线等

3.按住RB按键不松开,先将准备好的USB线插入板卡的下载接口,再插入电源。部分下载接口与电源接口共用的板卡无需再插入额外的电源,但需保证电脑USB接口能提供至少5V 0.5A的供电。

4.等待软件提示 发现一个MASKROM设备,继续等待5秒以上再松开按键

5.如果不成功,重复2-4步骤。

完整镜像烧录¶

完整镜像包含分区镜像的全部文件,在对外分发或量产时更容易管理镜像文件。其烧录过程简单,可以一键烧录。

我们打开 RKDevTool 烧录工具,并设置板卡进入烧录模式。

将下载好的野火以zip压缩包格式发布的系统镜像解压为img格式结尾的镜像文件,也可以直接使用SDK编译好的update.img镜像。

点击 固件 选择要烧录的镜像,这里以update.img为例,然后打开

等待固件加载完成,然后点击 升级 ,开始烧录固件

分区镜像烧录¶

在开发阶段,分区烧录镜像可以大大缩减我们在烧录过程中消耗的时间。在完整烧录过整个镜像后, 如果我们对某一部分做了修改,我们就可以单独烧录这一部分,而不必重新烧录整个完整的镜像。

RK固件的组合规则是基于GPT分区表的,这些分立的文件在SDK编译后,存放在 rockdev/ 路径下, 这些文件如下图所示。

图中文件仅作为参考,不同版本的镜像可能不同,具体规则参考分区表。

我们打开 RKDevTool 烧录工具,并设置板卡进入烧录模式。

鼠标右键点击图中空白位置,选择导入配置。

文件类型选择*.txt,然后进入分区文件所在的目录,打开分区表文件,我们就成功的导入配置了。

根据分区表中的配置文件,我们点击最后一栏 … 选择对应的文件,对应关系如下表

注解

部分系统分区会少于下表中所列出的项目,具体以分区表parameter.txt中的内容为准,不同操作系统的分区表不能混用。

名字

对应文件名

备注

bootloader

MiniLoaderAll.bin

parameter

parameter.txt

uboot

uboot.img

misc

misc.img

部分系统无此分区

boot

boot.img

recovery

recovery.img

部分系统无此分区

backup

不添加,保留

rootfs

rootfs.img

单独提供的文件系统名字会有变化,但都是rootfs-xxx.img

oem

oem.img

部分系统无此分区

userdata

userdata.img

部分系统无此分区

烧录全部分区时,全选所有分区,然后把保留分区去掉,点击 执行 开始烧录,右侧会有进度提示

烧录单个或部分分区时,勾选要烧录的分区和loader分区,点击 执行 开始烧录,如图单独烧录rootfs分区

高级功能介绍¶

在高级功能界面主要是两部分功能,一个是通过加载Boot来实现与板卡的交互,另一个是对完整固件进行解包。 解包部分的内容我们单独在 完整镜像的拆包和打包 章节进行讲解。

要想使用开发工具提供的高级功能,第一步就是下载Boot镜像。其实下载Boot镜像的描述是不准确的, 准确来说这一步应该是把bootloader加载到内存中,以实现与板卡的交互操作。

选择芯片对应的MiniLoaderAll.bin固件,然后下载到板卡中。

读取FlashID

读取Flash信息,读取到的厂商信息是错误的,容量等信息都是正确的

读取chip信息

读取Capability

获取当前存储

擦除扇区,根据”起始扇区”和”扇区数”进行扇区擦除,只支持eMMC。

先获取当前存储设备,选择EMMC,然后点击切换存储,此时操作的就是eMMC了。

设置起始扇区和扇区数,然后擦除扇区

擦除所有,即擦除对应存储设备的所有扇区,支持eMMC/nor/nand

先获取当前存储设备,选择EMMC或其他存储设备,然后点击切换存储,此时操作的就是对应的存储了。

Linux_Upgrade_Tool(Linux)¶

对于在本地Linux操作系统PC上或Linux虚拟机上进行开发的用户而言, Linux_Upgrade_Tool工具用起来不需要切换操作系统环境,使用起来十分便利。

安装Linux开发工具¶

先将获取的Linux_Upgrade_Tool压缩包使用以下命令解压,然后将其移动到系统二进制软件包的存放路径,就可以直接使用此工具了。

1 2 3 4 5 6 7 8 9 10 11 12 13 14#解药压缩包,这里使用的是v2.1的版本 unzip Linux_Upgrade_Tool_v2.1.zip #赋予可执行权限 chmod 775 Linux_Upgrade_Tool_v2.1/upgrade_tool # 复制到系统二级制软件包目录下 sudo cp Linux_Upgrade_Tool_v2.1/upgrade_tool /usr/local/bin/ # 验证工具是否正常使用,返回版本号则正常 upgrade_tool -V # 查看下载工具的使用信息 upgrade_tool -h 查看连接到PC的板卡¶

我们按住下载按键,然后将USB线接入板卡下载口,待板卡进入下载模式。

1 2 3 4 5 6 7# 输入以下命令,查看是否有板卡连接 upgrade_tool LD # 打印出的信息 Program Log will save in the /home/hh/upgrade_tool/log/ List of rockusb connected(1) DevNo=1 Vid=0x2207,Pid=0x350a,LocationID=32 Mode=Maskrom SerialNo=rockchip

根据打印出的信息我们可以得知,目前已经连接了一个设备,他的设备序号是1,ID是32,目前处于Maskrom模式

板卡正确连接以后,我们就可以进行固件的烧录了。

这里以SDK生成的镜像为例,在SDK的rockdev目录下进行以下操作

烧录完整镜像¶

我们在rockdev目录,直接烧录完整镜像到板卡,烧录前要确认板卡处于Maskrom模式。

1 2 3 4 5 6 7 8 9# 烧录完整镜像 upgrade_tool uf update.img #打印以下信息 Program Log will save in the /home/hh/upgrade_tool/log/ Loading firmware... Support Type:RK3568 FW Ver:1.0.00 FW Time:2022-09-19 11:45:09 Loader ver:1.01 Loader Time:2022-09-19 11:41:11 Upgrade firmware ok.

烧录完成后板卡会自动重启

烧录分区镜像¶

我们在rockdev目录,将分区镜像到板卡,烧录前要确认板卡处于Maskrom模式。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20# 烧录loader不重启设备,不论下载哪个分区都要执行 upgrade_tool ul MiniLoaderAll.bin -noreset # 下载分区表 upgrade_tool di -p parameter.txt # 下载单独分区,一条命令下载一个分区 upgrade_tool di -u uboot.img upgrade_tool di -b boot.img upgrade_tool di -r recovery.img upgrade_tool di -m misc.img upgrade_tool di -oem oem.img upgrade_tool di -userdata userdata.img upgrade_tool di -rootfs rootfs.img # 连续下载多个分区 upgrade_tool di -u uboot.img -b boot.img # 重启 upgrade_tool rd 其他软件操作¶ 加载loader到内存¶

设备在Maskrom时,要先加载Boot才能进行通讯

1upgrade_tool db MiniLoaderAll.bin 读取设备信息¶ 1 2 3 4 5 6 7 8#读取存储信息 upgrade_tool rfi #读取芯片id upgrade_tool rci #读取分区表 upgrade_tool pl 按地址读写文件¶ 1 2 3 4 5#按地址写文件到LBA 0x12000 upgrade_tool wl 0x12000 oem.img #按地址读数据保存到文件,例子:从0x12000开始读取0x2000扇区数据到out.img upgrade_tool rl 0x12000 0x2000 out.img 设备擦除¶ 1 2 3 4 5# 擦除存储的所有数据,请进入maskrom执行,不需要提前下载Boot upgrade_tool ef rkxxloader.bin # 按地址进行扇区擦除,只支持emmc存储,例子:从第0扇区开始擦除0x2000个扇区 upgrade_tool el 0 0x2000 USB量产工具烧录镜像到eMMC¶

USB量产工具FactoryTool仅支持Windows平台,使用USB量产工具烧录的准备工作与RKDevTool的准备工作一致, 都需要先安装DriverInstall驱动,然后准备对应的接口的USB线缆。

FactoryTool可以同时对多块板卡进行下载,所以我们可以准备多条下载线缆,对于部分USB接口较少的电脑,也可以使用USB-HUB来扩展USB口的数量。

下面我们来讲解FactoryTool的使用。

联系技术支持并获取FactoryTool软件包的压缩包,然后解压到本地,无需安装即可使用。

双击 FactoryTool.exe 进入软件界面。

整个软件界面整洁高效,分为三大区域。上部是配置区,用于选择烧录的固件和启动烧录功能; 中间是功能区,中间显示USB接口的信息及烧写进度,左右两侧分别显示烧录成功和烧录失败的设备; 下部是提示区,简单明了的标明了软件的使用方法,还有一小部分区域用于记录烧写次数及失败成功的次数。

介绍完了界面,我们开始实际的操作。

点击固件按钮,选择要烧录的镜像,必须是RK格式打包的完整镜像,这里以update.img为例。

标记设备列表里的端口与实际的下载线的对应关系,便于分辨哪块板卡下载完成,哪块下载失败。

具体的方法是,连接板卡到第一个USB端口,使板卡进入MASKROM模式, 软件列表中会显示相应的ID,我们将ID号标记到对应的接口或下载线上,然后更换端口,重复上述过程。

从上图可以看出,我们将板卡接在了USB-HUB1的Port3上,ID是27。

点击 启动 按钮,开始进入烧录状态。

烧录工具进入烧录状态后,如果连接了进入Maskrom模式的板卡,将会自动下载。

我们接入多块板卡,将会同时进行多块板卡的下载。

注解

在不插入SD启动卡且eMMC中无启动镜像是,不用按下载键就可以进入Maskrom模式



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3