Flash 烧写工具
资源
概述
Image Tool 是 Realtek 官方为 Ameba 系列 SoC 开发的 Flash 烧写工具。
Flash 类型 |
UART |
USB |
---|---|---|
NOR Flash |
支持 |
支持 |
Flash 类型 |
UART |
USB |
---|---|---|
NOR Flash |
支持 |
不支持 |
Flash 类型 |
UART |
USB |
---|---|---|
NOR Flash |
支持 |
不支持 |
Flash 类型 |
UART |
USB |
---|---|---|
NOR Flash |
支持 |
不支持 |
Flash 类型 |
UART |
USB |
---|---|---|
NOR Flash |
支持 |
支持 |
NAND Flash |
支持 |
支持 |
Flash 类型 |
UART |
USB |
---|---|---|
NOR Flash |
支持 |
支持 |
Image Tool 的界面如下所示:

硬件设置
Flash 烧写的硬件设置如下所示:
备注
USB <—> LOGUART: LOGUART 端口可以用于控制台查看设备 log,也可以用于固件烧录
USB <—> USB: USB 端口可以用于固件烧录
客户可以根据设备实际配置,灵活选用端口。
软件设置
环境要求:如 WinXP、Win7 或更高版本、Microsoft .NET Framework 4.0。
软件位置:
Image Tool:
{SDK}/tools/ameba/ImageTool/AmebaImageTool.exe
Device Profile Editor:
{SDK}/tools/ameba/DeviceProfileEditor/AmebaDeviceProfileEditor.exe
Device profiles:
{SDK}/tools/ameba/ImageTool/Devices/Profiles
,Device profiles 提供烧写 Flash 所需的设备信息,命名规则为:<SoC name>_<OS type>_<Flash type>[_<Extra info>].rdev
其中:
- <SoC name>:
指代 Realtek Ameba 系列中的具体 SoC 名称。
- <OS type>:
操作系统类型,包括 FreeRTOS 或 Linux。
- <Flash type>:
存储类型,为 NOR 或 NAND。
- <Extra info>:
额外信息,如 Flash 的容量、具体应用等相关附加信息。
备注
在后续章节中,
{ImageTool}
将用于指代{SDK}/tools/ameba/ImageTool
。如需通过 LOGUART 接口烧写 Flash,需预先安装板载 USB 转 UART 适配器(例如 PL2303GC )的主控制器驱动, 相关驱动请至相应 USB 转 UART 适配器厂商官方网站获取。
针对 Windows XP 或 Windows 7 系统,如需通过 USB 接口烧写 Flash,请先安装 USB 驱动
ImageTool/RtkUsbCdcAcmSetup.INF
。
固件文件
固件名称 |
描述 |
是否必需? |
---|---|---|
km4_boot_all.bin |
KM4 引导程序 |
是 |
km0_km4_app.bin |
KM0/KM4 应用程序 |
是 |
km0_km4_app_mp.bin |
KM0/KM4 MP应用程序 |
否 |
固件名称 |
描述 |
是否必需? |
---|---|---|
km4_boot_all.bin |
KM4 引导程序 |
是 |
kr4_km4_app.bin |
KR4/KM4 应用程序 |
是 |
kr4_km4_app_mp.bin |
KR4/KM4 MP应用程序 |
否 |
固件名称 |
描述 |
是否必需? |
---|---|---|
km4_boot_all.bin |
KM4 引导程序 |
是 |
kr4_km4_app.bin |
KR4/KM4 应用程序 |
是 |
kr4_km4_app_mp.bin |
KR4/KM4 MP应用程序 |
否 |
涉及 DSP 相关,请参考 DSP 编译和烧录 。
固件名称 |
描述 |
是否必需? |
---|---|---|
km4_boot_all.bin |
KM4 引导程序 |
是 |
kr4_km4_app.bin |
KR4/KM4 应用程序 |
是 |
kr4_km4_app_mp.bin |
KR4/KM4 MP应用程序 |
否 |
涉及 DSP 相关,请参考 DSP 编译和烧录 。
固件名称 |
描述 |
是否必需? |
---|---|---|
km4_boot_all.bin |
KM4 引导程序 |
是 |
km0_km4_ca32_app.bin |
KM0/KM4/CA32 应用程序 |
是 |
固件名称 |
描述 |
是否必需? |
---|---|---|
A: km4_boot_all.bin |
A 槽:KM4 引导程序 |
是 |
A: km0_km4_app.bin |
A 槽:KM0/KM4 应用程序 |
是 |
A: boot.img |
A 槽:CA32 固件包,包括 BL1、BL2、BL32 和 BL33 |
是 |
B: km4_boot_all.bin |
B 槽:KM4 引导程序 |
否 |
B: km0_km4_app.bin |
B 槽:KM0/KM4 应用程序 |
否 |
B: boot.img |
B 槽:CA32 固件包,包括 BL1、BL2、BL32 和 BL33 |
否 |
A: vbmeta.img |
A 槽:仅用于安全启动的 AP Linux 元数据固件 |
否 |
B: vbmeta.img |
B 槽:仅用于安全启动的 AP Linux 元数据固件 |
否 |
A: xxx.dtb* |
A 槽:AP Linux DTB (设备树块) |
是 |
B: xxx.dtb* |
B槽:用于恢复的AP Linux DTB |
否 |
A: kernel.img |
A 槽:AP Linux 内核 |
是 |
B: kernel.img |
B 槽:AP Linux 内核 |
否 |
rootfs.img |
AP Linux 根文件系统二进制文件 |
是 |
userdata.img |
AP 用户数据二进制文件 |
是 |
备注
* : xxx.dtb 文件需要根据实际使用选择合适的 dtb 文件。
固件名称 |
描述 |
是否必需? |
---|---|---|
amebagreen2_boot.bin |
amebagreen2 引导程序 |
是 |
amebagreen2_app.bin |
amebagreen2 应用程序 |
是 |
备注
具体 Flash 分区信息,请参考 Flash 布局 。
Flash 烧写
基础参数设置
选择 Device Profile。
打开 Image Tool, 点击
并选择适当的 Device ProfileAmebaDplus_FreeRTOS_NOR.rdev
。打开 Image Tool, 点击
并选择适当的 Device ProfileAmebaLite_FreeRTOS_NOR.rdev
。打开 Image Tool, 点击
并选择适当的 Device ProfileAmebaLite_FreeRTOS_NOR.rdev
。打开 Image Tool, 点击
并选择适当的 Device ProfileAmebaLite_FreeRTOS_NOR.rdev
。打开 Image Tool, 点击
并选择适当的 Device Profile。对于 NOR Flash SoC,选择
AmebaSmart_FreeRTOS_NOR.rdev
。对于 NAND Flash SoC,选择
AmebaSmart_FreeRTOS_NAND.rdev
。
打开 Image Tool, 点击
并选择适当的 Device ProfileAmebaGreen2_FreeRTOS_NOR.rdev
。备注
Device Profile 加载后会保存在
{ImageTool}/setting.json
文件, 每次重启烧写工具会默认加载,无需重复设置。选择对应的串口并设定传输波特率。 默认波特率为 1500000。
备注
波特率设置之后会保存在
{ImageTool}/setting.json
文件, 每次重启烧写工具会默认加载,无需重复设置。对于通过 USB 进行烧写的情况,忽略波特率。

设备进入烧录模式。
根据设备所处的状态,进入烧录模式的方法不同,从原理上解释,主要有两种方法:
软件应用(含 ROM)预置了 reboot uartburn 指令,系统通过串口接收到该指令,即使是空片状态,也可以响应指令,使系统进烧录模式。如果设备串口可以正常响应 reboot uartburn 指令,无需额外操作,烧录工具会通过指令使设备自动进烧录模式,直接开始固件下载。
硬件采用电气信号触发,把
LOGUART Tx
引脚接 GND,同时重启设备,最后断开LOGUART Tx
引脚和 GND。如果设备不能借助软件方法自动进烧录模式,可通过硬件强制进烧录模式。关于LOGUART Tx
引脚,可以参考 Trap 引脚 章节。Realtek 公板,操作方法如下:
按下 UART_DOWNLOAD 按钮并保持按下状态。
按下 CHIP_EN 按钮。
松开 UART_DOWNLOAD 按钮。
客户定制板,可能没有按钮可用,进入烧录模式方法如下:
LOGUART Tx
引脚接 GND。重新接通设备电源。
断开
LOGUART Tx
引脚和 GND。
可以通过外部 DTR/RTS 控制
LOGUART Tx
和CHIP_EN
引脚, 使设备自动进入烧录模式Realtek 公板中,提供了一种与 DTR/RTS 控制相关联的自动进入烧录模式的电路设计方案。该电路默认处于未激活状态,但可通过特定方法使能这一功能(有关启用方法,请参考 自动烧录方案)。一旦使能此功能,硬件板便可自动切换至烧录模式,仅需在工具软件中调整相应的配置参数(具体配置步骤详见 DTR/RTS 配置)。
此外,客户也可以根据具体需求,自行设计和实现自动进入烧录模式的电路及其时序控制方案。
此时设备已进入烧录模式,可以开始后续操作。
固件烧写步骤如下所示:
参考 基础参数设置
点击
按钮选择要烧写的固件。备注
可根据需要调整 Flash layout。 建议通过
Device Profile Editor
而非Image Tool
调整 Flash layout,并相应修改 SDK 中的 Flash layout。 详情请参阅章节 修改 Device Profile 。工具会把加载的固件保存到
{ImageTool}/setting.json
文件, 每次重启烧录工具之后,如果固件路径没改变,也无需重复加载。点击
按钮开始烧写。进度条将显示当前固件的烧写进度,日志窗口将显示操作状态。
固件烧写步骤如下所示:
参考 基础参数设置
点击
按钮选择要烧写的固件。备注
可根据需要调整 Flash layout。 建议通过
Device Profile Editor
而非Image Tool
调整 Flash layout,并相应修改 SDK 中的 Flash layout。 详情请参阅章节 修改 Device Profile 。点击
按钮开始烧写。进度条将显示当前固件的烧写进度,日志窗口将显示操作状态。
Flash 擦除
擦除 Flash 的步骤如下所示:
基础参数设置 。
选择对应的
。设置擦除起始地址。
NOR Flash:擦除起始地址值应为 4KB 对齐。
NAND Flash:擦除起始地址值应与块大小对齐。
备注
NAND Flash 的物理块大小参数请查阅数据手册。
设置擦除范围。
NOR Flash:指定擦除数据长度确定擦除范围。擦除大小值应为 4KB 的倍数。
NAND Flash:指定擦除截止地址确定擦除范围。擦除截止地址应为块大小的倍数(不擦除截止地址位)。
点击
按钮,启动擦除过程。操作状态实时显示于日志窗口。
备注
固件下载流程已包含自动擦除机制,常规情况下无需单独执行擦除操作
如 步骤 5 检测到 Flash 块保护状态,请参照章节 Flash 块保护检测 进行异常处理。
Flash 寄存器访问
此功能专为专业技术人员设计,用于访问 Flash 状态寄存器。此功能自版本 v2.2.0 起开始支持。
小心
任何 Flash 寄存器操作(特别是写入操作),必须遵循 Flash 的数据手册规范,否则可能导致 Flash 数据丢失甚至损坏。
访问 Flash 寄存器的准备步骤如下:
确保 Image Tool 已关闭。
编辑
<ImageTool>/Setting.json
文件 ExpertMode 的值为非零整数(例如 1),进入 expert mode 。基础参数设置 。
NOR 或 NAND 寄存器访问的具体操作如下:
除了准备步骤外,点击
并选择 项,打开 NOR Flash Register 寄存器访问对话框:
在完成准备步骤后,继续下面的步骤来读取 NOR Flash 寄存器:
选择
来读取特定寄存器。点击
按钮,寄存器值将在寄存器值文本框中显示。

在完成准备步骤后,继续下面的步骤来写 NOR Flash 寄存器:
选择
来写特定寄存器。输入寄存器值。
点击
按钮,写入寄存器值。建议通过回读寄存器值进行验证。

除了准备步骤外,点击
并选择 项,打开 NAND Flash Register 寄存器访问对话框:
在完成准备步骤后,继续下面的步骤来读取 NAND Flash 寄存器:
选择
来读取特定寄存器。选择
。点击
按钮,寄存器值将在寄存器值文本框中显示。

在完成准备步骤后,继续下面的步骤来写 NAND Flash 寄存器:
选择
来写特定寄存器。选择
。输入
。点击
按钮,写入寄存器值。建议通过回读寄存器值进行验证。

NAND 坏块管理
NAND 坏块管理功能专为专业技术人员设计,用于扫描或标记 NAND 块状态。此功能自版本 v2.5.10 起开始支持。
执行 NAND 坏块管理的准备步骤:
确保 Image Tool 已关闭。
编辑
<ImageTool>/Setting.json
文件 ExpertMode 的值为非零整数(例如 1),进入 expert mode 。参考 基础参数设置 。
点击
并选择 项,打开 NAND Flash 坏块管理对话框:
块状态扫描
在完成准备步骤后,继续下面的步骤来扫描块状态:
根据需要勾选
复选框。未选中(默认),Image Tool 仅执行坏块标记扫描,生成不良块列表。
选中,Image Tool 执行全块状态扫描及页级检测,获取块/页详细状态报告,这将比仅扫描坏块花费更多的时间。
根据需要勾选
复选框。未选中(默认),Image Tool 显示所有块的状态信息。
选中,Image Tool 仅输出坏块及弱块状态。(推荐)
点击
按钮。NAND Flash 块状态扫描操作
扫描结果如下所示:
对于仅坏块扫描结果,坏块会在地址单元中显示为红色背景。
NAND Flash 坏块扫描结果
对于弱块扫描结果, block 的地址单元和 page 的单元将用特殊颜色标记:
对于坏块,block 的地址单元将标记为红色,而 block 的 page 将不会被标记。
对于弱块,block 的地址单元将标记为:
黄色: 存在 page 位翻转警告
橙色: 存在 page 位翻转错误
棕色: 存在严重 page 翻转错误
灰色: 状态扫描导致其他错误
对于弱页,page 的单元将标记为:
黄色: page 读取导致位翻转警告
橙色: page 读取导致位翻转错误
棕色: page 读取导致严重位翻转错误
灰色: page 读取导致其他错误
NAND Flash 弱块扫描结果
块状态标记
在完成块扫描操作后,用户可以根据需要,将特定块的状态标记为“良好”或“损坏”。该功能主要用于内部调试目的。
小心
更改块状态需谨慎,尤其是在将坏块标记为良好的过程中,以免影响存储系统的稳定性和可靠性。
操作步骤:
将非坏块的状态标记为坏块:
选择一个或多个预期标记的非坏块。
点击
按钮,并确认标记操作。
将坏块的状态标记为良好:
选择一个或多个预期标记的坏块。
点击
按钮,并确认标记操作。
Flash 块保护检测
在执行固件烧写或 Flash 擦除操作的过程中,若检测到设备上的 Flash 块存在保护配置,Image Tool 将弹出提示对话框,引导用户选择适当的后续操作。
对于 NOR Flash,系统将显示 Flash 类型和保护寄存器的当前值。

对于 NAND Flash,系统将显示详细的 Flash 信息。

系统为用户提供以下后续操作选项:
在保护状态下尝试进行操作(可能导致操作失败)
移除保护,并在操作结束后恢复保护状态
终止当前操作
此外,用户可以通过勾选
复选框,来保存选择以备后续使用。 如需重置该选择,可取消勾选 。修改 Device Profile
修改现有 Device Profile 的步骤如下:
启动 Device Profile 编辑器。
点击 Open 按钮,加载现有的 Device Profile。
根据需要更改
Flash Layout
配置。Image Name
: SDK 编译生成的固件名称。Start Address
: 十六进制格式的起始地址。对于 NAND Flash,值应与块大小对齐。End Address
: 十六进制格式的结束地址。对于 NAND Flash,值应与块大小对齐,分区大小应为块大小的倍数,且需分配适当比例的备用块(至少一个)用于坏块管理。Full Erase
: 标识 ImageTool 在固件烧写前是否擦除整个分区。选中: 完全擦除,通常用于文件系统分区;对于 NAND Flash,所有分区将默认选中且不允许取消选中。
取消选中: 不完全擦除,仅擦除固件文件的实际大小,仅适用于 NOR Flash 的非文件系统分区。
Mandatory
: 标识 ImageTool 是否默认启用分区进行烧写。选中: 强制分区,默认启用。
取消选中: 可选分区,默认禁用。
Description
: 描述文本,用于描述固件,将在鼠标悬停固件时显示此信息。
点击 Save 按钮以覆盖现有 Device Profile,或点击 Save As 按钮将修改后的 Device Profile 保存到新文件中。
固件合成
该功能支持依据相应的偏移量将多个固件文件合并为一个固件文件。此功能自版本 v2.7.10 起开始支持。
固件合成的步骤如下:
点击
进入固件合成页面。点击
依次选择需要合成的固件文件,并保持勾选。在
栏中输入各固件文件对应的偏移量。点击
按钮,开始合成。在弹窗内选择合成后固件的保存路径,并编辑文件名,点击
按钮完成合成操作。