Flash 烧写工具(1toN)
资源
概述
Ameba 1-N MP ImageTool 是 Realtek 公司专门为 Ameba 系列系统级芯片(SoC)开发的固件下载工具。该工具旨在提供高效、可靠的固件烧录解决方案,支持同时烧录多个 Ameba 设备。

硬件环境
固件下载的硬件设置如下所示:
软件环境
环境要求:如 WinXP,Win7 或更高版本,Microsoft .NET Framework4.0。
软件位置:
Ameba_1-N_MP_ImageTool.exe:
{SDK}/tools/ameba/MP_ImageTool_1_N/Ameba_1-N_MP_ImageTool.exe
Device Profiles:
{SDK}/tools/ameba/ImageTool/Devices/Profiles
备注
{MP ImageTool}
将在后面章节中指代{SDK}/tools/ameba/MP_ImageTool_1_N
。如需通过 LOGUART 接口下载固件,需要先安装板载 USB 转 UART 适配器(例如 PL2303GC)的主控制器驱动,具体驱动请在相应 USB 转 UART 适配器厂商的官方网站查询。
禁止移动或删除
{MP ImageTool}/Devices/Floaders/floader_amebaxxx.bin
文件, 因为烧录工具会先把 flashloader 烧录进 SRAM,然后 flashloader 负责后续量产固件烧录到 Ameba Flash。对于 WinXP 或 Win7,若需通过 USB 接口下载固件,需要先安装 USB 驱动
{MP ImageTool}/RtkUsbCdcAcmSetup.INF
。
固件下载
根据设备所处的状态,进入烧录模式的方法不同,从原理上解释,主要有两种方法:
软件应用(含 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 配置)。
此外,客户也可以根据具体需求,自行设计和实现自动进入烧录模式的电路及其时序控制方案。
确认设备的状态之后,可以开始下载固件。
Ameba 1-N MP ImageTool 提供了两种模式以便用户进行固件下载:图形用户界面模式(GUI)和命令行模式(CLI)。以下是对这两种模式的详细介绍:
图形用户界面模式
下载步骤
图形界面固件下载步骤如下:
双击
{MP ImageTool}/Ameba_1-N_MP_ImageTool.exe
。点击
选择芯片型号。备注
一旦芯片型号选定,界面上灰掉的按键/复选框表示该功能不支持当前芯片型号。
配置参数:
- Baudrate:
固件烧录波特率,默认值是 1500000
- Image:
点击 Browse 按键选择待烧录的目标固件
- Addr(hex):
烧录固件的起始地址
- Leg(hex):
指定固件烧录长度,一般选择目标固件的时候会自动计算该值
以及其他 可选配置 参数。
点击 Scan Device 按键, 显示框会列出当前 PC 连接的设备端口
如果使能 USB Download , 扫到的为 USB 端口.
如果不使能 USB Download ,扫到的为非 USB 端口.
备注
如果没有正确显示可用端口,可以检查设备驱动是否没有安装或者正在安装,这种情况一般在设备第一次接入 PC 的时候会出现。
选择要下载固件的设备端口.
确认设备是空片或者已进入烧录模式或者在正常可以接收指令状态
点击 Download ,开始下载固件
如下图所示,固件下载过程中,每个设备端口后面会显示一个绿色进度条,表示当前设备下载进度。进度条前端有计时显示,后端有一个小灯泡,鼠标放在小灯泡上,可以指示当前烧录状态。烧录结束,小灯泡变成绿色对勾,表示正常烧录结束。


可选配置
工厂模式
此功能是为防止量产过程中,因误触界配置面上的某些功能,导致量产过程失败而设计。使能工厂模式,图形界面上某些功能会被禁掉。

工厂模式的配置参数会保存在 {MP ImageTool}/Setting.ini
,所以下次重启也会继续开启工厂模式。
如果需要退出工厂模式,有两种方式可选:
关闭{MP ImageTool}/Ameba 1-N MP ImageTool.exe.
删掉
{MP ImageTool}/Setting.ini
.修改
{MP ImageTool}/Setting.ini
中FactoryMode
参数为 False.
重新打开
{MP ImageTool}/Ameba 1-N MP ImageTool.exe
,图形界面就会恢复正常可操作模式。
校验
此功能是指下载结束,是否需要做校验,确认下载进设备的固件正确。
方法:在 下载步骤 第 3 步时勾选 Verification 复选框。
Flash 擦除
该功能表示是否要在下载开始之前对 Flash 全片擦除。
方法:在 下载步骤 第 3 步时勾选 ChipErase 复选框。
跳过系统数据区域
此功能表示下载过程是否跳过系统数据区域。
方法:在 下载步骤 第 3 步时勾选 Skip System 复选框。
USB 下载
此选项表示是否通过 USB 端口下载固件。
方法:在 下载步骤 第 3 步时勾选 USB Download 复选框。
如果使能 USB 下载,需要点 Profile Browse 键导入目标芯片的 profile 文件。
跳过 Wi-Fi 校准
此选项表示下载过程是否跳过 Wi-Fi 校准。
方法:在 下载步骤 第 3 步时勾选 Skip Wifi calibration 复选框。
支持大于 16M Flash 下载
设备 OTP 默认支持<=16MB 的 flash 容量,如果产线设备搭载的大于 16MB 容量的 flash,并且烧录的固件大于 16MB,则需要使能该功能。 该功能表示支持大于 16MB Flash 的下载,如果使能,工具会帮助编辑 OTP,以使能芯片 4-byte Flash 寻址功能,从而支持烧录大于 16MB 的 flash。
方法:在 下载步骤 第 3 步时,勾选 Option –> Support for >16MB Flash Download 。
保存擦除/下载过程的 Flash 写保护处理方法
下载固件过程中,可能会遇到 Flash 写保护置位,导致下载不了的情况,此时 MP ImageTool 会弹窗,引导使用者做进一步操作处理,该功能的作用就是保存当前的处理方式,下一次遇到 Flash 写保护置位的情况,会直接按第一次操作方法处理,无需再次人为介入。
如果烧录工具检测到 Flash 写保护,弹窗提示如下:
或者,可以在
{MP ImageTool}/Setting.ini
文件设置ProcessFlashBPsForErase
和ProcessFlashBPsForDownload
保存,以防产线在量产过程中出现误选导致下载失败。参数ProcessFlashBPsForErase
和ProcessFlashBPsForDownload
表示:1:Tool will remove the Flash protection and restore the Flash protection when erase/download.
2:Tool will abort erase/download when detect Flash block protection.
方法:在 下载步骤 第 3 步时,勾选 Option –> Remember Flash Protection process for erase/download 。
如果下载过程遇到问题,可以参考 常见问题 章节,确认是否为常见典型问题。
命令行模式
下载步骤
MP ImageTool 同时也支持命令行模式下载。在 Windows 的命令行窗口执行 {MP ImageTool}/Ameba_1-N_MP_ImageTool.exe
并且带着指定的参数,v2.5.11 版本之后,命令行模式支持一次带入多参数指令模式。
命令行下载固件方法如下:
必须设置参数项
芯片型号
参数
-c/--chip [amebasmart|amebalite|amebadplus]
带入目标 IC 型号。$Ameba_1-N_MP_ImageTool.exe -c amebaxxx CHIP: AMEBAXXX
波特率
参数
-b/--baudrate <value>
带入下载波特率参数.$Ameba_1-N_MP_ImageTool.exe -b 1500000 BAUDRATE: 1500000
备注
波特率可设置参数为 115200, 128000, 153600, 230400, 380400, 460800, 500000, 921600, 1000000, 1382400, 1444400, 和 1500000。
固件选择
参数
-i/--image <image_path>
带入要下载的固件。$Ameba_1-N_MP_ImageTool.exe -i E:\test\image_path\image_all.bin FILE PATH: e:\test\image_path\image_all.bin
下载起始地址
参数
-a/--address <value>
带入固件要下载的起始地址。$Ameba_1-N_MP_ImageTool.exe -a 0x08000000 ADDRESS: 0x08000000
固件大小
参数
-l/--length <value>
带入要下载的固件的大小,如果下载默认固件长度,可以不计算,带入 0x0 即可(必需带入),工具会自动计算固件长度。$Ameba_1-N_MP_ImageTool.exe -l 0xa500 LENGTH: 0XA500
备注
此参数一定要带入要下载的固件长度(或者 0x0),如果不带入,工具会使用 Setting.ini 文件的默认值,有可能不符合实际固件大小。
检查设置参数
参数
--show setting
可以列出当前设置的参数情况。$Ameba_1-N_MP_ImageTool.exe --show setting CHIP: AMEBAZ BAUDRATE: 1500000 IMAGE: e:\test\image_path\image_all.bin ADDRESS: 0x08000000 SKIP SYSTEM: False LENGTH: 0x0 ProcessFlashBPsForErase: 0 ProcessFlashBPsForDownload: 0 VERIFICATION: True SAVELOG: True
备注
下载开始前,这些参数只需要设置一次,MP ImageTool 会保存在根目录的 Setting.ini 文件。
固件下载
配置好参数之后,参数
-d/--download <dev1> <dev2>
或-d/--download added
带入目标端口,即可开始下载。-d/--download added
可以给所有通过--add device
指令添加过的端口下载固件。$Ameba_1-N_MP_ImageTool.exe -d added
-d/--download <dev1>
可以下载指定的<dev1>, 并且不会修改通过--add device
指令添加的端口列表。$Ameba_1-N_MP_ImageTool.exe -d COM4 COM5 1 COM4 SUCCESS 2 COM5 SUCCESS
备注
v2.5.11 版本之后, 命令行参数支持一次带入多个参数执行下载。
$Ameba_1-N_MP_ImageTool.exe -c amebad -b 1500000 -a 0x08000000 -l 0xa500 -i e:\test\image_path\image_all.bin -s true -d COM4 COM5 1 COM4 SUCCESS 2 COM5 SUCCESS
可选配置
扫描设备端口
参数 --scan device
用于扫描当前连接到 PC 的串口设备。
$Ameba_1-N_MP_ImageTool.exe --scan device
USB Serial Port (COM4)
USB Serial Port (COM5)
执行此命令后,终端会显示当前已连接的所有串口设备的信息。
添加/移除端口
在生产环境中,为了简化固件下载的过程,你可以使用 MP ImageTool 来固定设备的端口设置,这样每次执行下载指令时就不需要手动指定端口。
当确定了生产线中设备的端口,可以执行相关指令,tool 将这些端口添加到 {MP ImageTool}/dev_config.txt
中或从中移除。这样,MP ImageTool 可以自动识别和使用这些端口。
$Ameba_1-N_MP_ImageTool.exe --add COM4 COM5
COM4 added!
COM5 added!
$Ameba_1-N_MP_ImageTool.exe --show device
COM4
COM5
$Ameba_1-N_MP_ImageTool.exe --remove COM5
COM5 removed!
$Ameba_1-N_MP_ImageTool.exe --show device
COM4
一旦设备端口固定并记录下来,后续进行下载时就可以省去 --download
参数时指定端口的步骤,MP ImageTool 会自动选用已记录的端口,详细可参考 下载步骤 第 3 步。
USB 下载
如果目标设备支持 USB 下载,在 下载步骤 第 1 步设置。
方法:参数 -u/--usbdownload [true|false]
设置是否使能该参数.
True:使能 USB 下载
False:不使能 USB 下载
$Ameba_1-N_MP_ImageTool.exe –u true
USBDOWNLOAD: True
如果使能 USB 下载,需要同时通过参数 -p/--profile <path>
带入 profile。
$Ameba_1-N_MP_ImageTool.exe –p E:\MP_Image_Tool\image_all.rdev
PROFILE: e:\mp_image_Tool\image_all.rdev
备注
如果使能 USB 下载功能,此时通过 --scan device
获取的端口号为 USB 端口 ,反之,则为 UART 端口。
校验
参数 -v/--verify [true|false]
在固件下载过程中用于指定下载完成后是否要进行校验。
True:校验
False:不校验
$Ameba_1-N_MP_ImageTool.exe –v true
VERIFICATION: True
该参数需要在 下载步骤 第 1 步带入。
Flash 擦除
参数
-e/--chiperase [true|false]
用于控制在下载固件之前是否需要对设备的 Flash 进行全片擦除。
True:全片擦
False:不做全片擦
$Ameba_1-N_MP_ImageTool.exe –e true CHIPERASE: True该参数需要在 下载步骤 第 1 步带入。
参数
--erase <address> <length> <dev1> <dev2>
用于指定在命令行模式下执行针对特定地址范围的 Flash 擦除操作,参数释义如下:
<address>: 需要开始擦除的 flash 起始地址,十六进制表示
<length>: 要擦除的 Flash 长度,单位: KB
<dev1> <dev2>: 目标设备的端口号
$Ameba_1-N_MP_ImageTool.exe --erase 0x08000000 1024 COM56 Flash erase done!备注
在进行 Flash 擦除之前,确保相关参数已正确配置,例如:固件、波特率等。
DTR/RTS 配置
如果设备支持 DTR/RTS 控制模块自动进 download 模式,参数 -g/--dtrrtsconfig [true|false]
可以使能/不使能该功能.
True:使能
False:不使能
$Ameba_1-N_MP_ImageTool.exe –g true DtrRtsConfig: True
该参数需要在 下载步骤 第 1 步带入。
保存擦除/下载过程的 Flash 写保护处理方法
下载固件过程中,可能会遇到 Flash 写保护置位,导致下载不了的情况,此时下载工具会弹窗,引导使用者做进一步操作处理,该功能的作用就是保存当前的处理方式,下一次遇到 Flash 写保护置位的情况,会直接按第一次操作方法处理,无需再次人为介入。
参数 -f/--processflashbpsforerase | -n/--processflashbpsfordownload <value>
可以帮助设置是否使能该功能, value 可以配置参数如下:
1: Tool 会删除 Flash 写保护位,继续擦除/下载操作,结束后再把写保护置起来。
2: Tool 如果检测到 Flash 写保护,会取消擦除/下载。
$Ameba_1-N_MP_ImageTool.exe –f 1 ProcessFlashForErase: 1 $Ameba_1-N_MP_ImageTool.exe –n 1 ProcessFlashForDownload: 1
该参数需要在 下载步骤 第 1 步带入。
保存日志
参数 -s [true|false]
可以设置是否保存下载日志。
True:保存
False:不保存
$Ameba_1-N_MP_ImageTool.exe –s true
SAVELOG: True
该参数需要在 下载步骤 第 1 步带入。
GPIO/PWM 指示
在生产线上通过 USB 接口下载固件时,自动识别哪些设备已成功下载,而无需重新连接或手动检查设备是一项重要的功能。利用 GPIO/PWM 指示功能,可以有效地实现这一目标。以下是这种功能的具体配置和实现方法:
首先关闭
{MP ImageTool}/Ameba 1-N MP ImageTool.exe
打开根目录
{MP ImageTool}/Setting.ini
文件并配置ProgramConfig
(默认值: 0).具体的
ProgramConfig
配置位描述,参考下表。Bit
Description
[63:32]
Download indication configuration:
For GPIO indication
Bit[63:33]: Reserved
Bit[32]: GPIO output level
For PWM indication
Bit[63:57]: PWM duty cycle (0~100, unit: percent)
Bit[56:32]: PWM period (unit: us)
[31:30]
Download indication strategy:
0: Disable
1: GPIO indication after download success
2: PWM indication after download success
3: Reserved
[29:16]
Download indication PIN name, refer to the SoC-specific definition of PinName for MBED API
GPIO: all GPIO pins can be selected
PWM: PWM channels can be selected
[15:2]
Reserved
[1:0]
NAND Flash bit flip fail level:
2/3: Reserved
1: Fail at fatal bit flip error, i.e. bit flip count > ECC level
0: Fail at bit flip error, i.e. bit flip count >= ECC level
保存
{MP ImageTool}/Setting.ini
重新打开工具开始下载.
读 MAC 地址
指令 -r/--readmac
可以协助读取设备的 MAC。
$Ameba_1-N_MP_ImageTool.exe -r COM4
COM4 FF-FF-FF-FF-FF-FF
合并固件
参数 --combine "<image1_path>;<image2_path>" --offset "<image1_offset><image2_offset>" [--output "<image_all_output>"]
可以协助用户合并固件, 参数释义如下:
combine: <image1_path>, <image2_path>表示要合并的 image,多个并列。
offset: <image1_offset>, <image2_offset>: 要合并的 image 的 offset,需要和 combine 的参数值一一对应。
output: 可选参数,指定合并的 image_all.bin 的输出路径,如果不指定,默认输出到 tool 根目录。
$Ameba_1-N_MP_ImageTool.exe --combine "E:\image1.bin;E:\image2.bin" --offset "0x00000000;0x00004000" --output E:\image_all.bin Offset0: 0x00000000, Image0: E:\image1.bin Offset1: 0x00004000, Image1: E:\image2.bin Images have been combined successfully, size: 12KB, path: E:\image_all.bin
CLI 帮助说明
工具支持的参数列表可以通过 --help
获取,如下所示
$Ameba_1-N_MP_ImageTool.exe --help
Ameba 1-N MP ImageTool 2.5.13.0
Copyright ? 2016
-a ADDRESS, --address=ADDRESS Set start download address
-b BAUDRATE, --baudrate=BAUDRATE Set download baudrate
-c CHIP, --chip=CHIP Set target chip
-d [COMx COMy COMn|added], --download=[COMx COMy COMn|added] Target device to download
-e TRUE|FASLE, --chiperase=TRUE|FASLE Erase chip or not before download
-f PROCESSFLASHBPSFORERASE,
--processflashbpsforerase=PROCESSFLASHBPSFORERASE Process flash BPs for erase or not when download
-g TRUE|FASLE, --dtrrtsconfig=TRUE|FASLE Set Dtr/Rts config or not
-h FLASHPIN, --flashpin=FLASHPIN Set flashpin for download
-i IMAGE, --image=IMAGE Set target image path
-k TRUE|FASLE, --skipsys=TRUE|FASLE Skipsys or not when download
-l LENGTH, --length=LENGTH Set target image length
-m TRUE|FASLE, --support4bytesaddrmode=TRUE|FASLE Support 4-byte address mode or not when download
-n PROCESSFLASHBPSFORDOWNLOAD,
--processflashbpsfordownload=PROCESSFLASHBPSFORDOWNLOAD Process flash BPs for download or not when download
-p PROFILE, --profile=PROFILE Set target device profile path for download
-r [COMx COMy COMn|added], --readmac=[COMx COMy COMn|added] Target device to read mac
-s TRUE|FASLE, --savelog=TRUE|FASLE Save log or not when download
-t CheckFlashAddrModeTimeoutSecond,
--checkflashaddrmodetimeoutsecond=CheckFlashAddrModeTimeoutSecond Timeout(unit:s) used to pop confirmwindow for check flash address mode
-u TRUE|FASLE, --usbdownload=TRUE|FASLE Select usb download or not
-v TRUE|FASLE, --verify=TRUE|FASLE Set verification or not when download
-w TRUE|FASLE, --skipwifi=TRUE|FASLE Skip wifi for AmebaZ2
--add=COMx COMy COMn Add target device
--remove=COMx Remove target device
--combine=IMAGE1;IMAGE2;IMAGEx Combine images together
--offset=OFFSET1;OFFSET2;OFFSETx Images' offset to combine
--output=OUTPUT Combined images output path
--erase=addr length COMx COMy COMn Erase target device at addr with length(KB)
--show=setting|device Show setting or device
--scan=device Scan devices
--help Display this help screen
--version Display version information
下载结束,如果打印信息显示下载失败,可以查看根目录 {MP ImageTool}/log
文件夹下的日志文件,查找失败原因。
通用参数配置
{MP ImageTool}/Setting.ini
文件用于配置 MP ImageTool 的通用设置。
备注
在配置 {MP ImageTool}/Setting.ini
文件之前,一定要先关掉烧录工具。
详细日志显示
在 MP ImageTool 的 {MP ImageTool}/Setting.ini
文件中,通过配置 ShowDetailLog
参数,可以控制是否显示烧录过程的详细日志信息。
True:启用
False:禁用
ShowDetailLog =True
该参数需要在烧录开始之前设置。
下载进度条显示
在控制台使用 command line 烧录时,如果需要显示烧录进度,可以配置 {MP ImageTool}/Setting.ini
文件的 DownloadProgressDisplay
,在控制台显示下载进度。
True:显示
False:不显示
DownloadProgressDisplay =True
该参数也可以在 下载步骤 第 1 步带入。
DTR/RTS 配置
如果设备支持 DTR/RTS 控制模块自动进 download 模式,可以配置 {MP ImageTool}/Setting.ini
文件的 DtrRtsConfig
使能该功能。
True:使能
False:不使能
DtrRtsConfig =True
SRAM 固件烧录
MP ImageTool v2.5.24 之后的版本, 支持烧录 mp shrink 固件到 SRAM。烧录结束,模块会自动重启,此时可以通过指令和模块交互而不需要硬重启。
MP shrink 固件的 SRAM layout 如下:
Image type |
StartAddress |
EndAddress |
---|---|---|
km0_km4_app.bin |
0x2001A000 |
0x20080000 |
Image type |
StartAddress |
EndAddress |
---|---|---|
kr4_km4_app.bin |
0x2001A000 |
0x20080000 |
Image type |
StartAddress |
EndAddress |
---|---|---|
kr4_km4_app.bin |
0x2001A000 |
0x20080000 |

自动烧录方案
Ameba 模块在实际使用过程中,有可能会遇到需要自动进烧录模式或者强制重启的场景,本章节主要描述 Realtek 公板搭载的可以支持 SoC 自动进烧录模式的解决方案。
电路设计
Realtek 公板配套的 USB-UART 转换芯片是 PL2303GC,电路设计如下,可以实现上述两个功能。

上述电路中,UMH3N 是两个完全相同的 NPN 三极管。输入信号和输出信号的真值表对应关系如下:
Input
Output
DTR
RTS
CHIP_EN
LOGUART_TX
0
0
1(EXT PU)
1(EXT PU)
1
1
1(EXT PU)
1(EXT PU)
0
1
1
0
1
0
0
1
关于时序有以下几点需要注意:
对于 DTR 和 RTS 的控制和上层逻辑是相反的,芯片管脚信号对应名称为 DTR_N 和 RTS_N。即上层 API 控制输出 1 时,实际对应芯片管脚输出是 0。因此编写 flow 时需要注意一次转化。补充上述真值表为:
Windows API Control Input
Input
Output
DTR
RTS
DTR_N
RTS_N
CHIP_EN
LOGUART_TX
1
1
0
0
1(EXT PU)
1(EXT PU)
0
0
1
1
1(EXT PU)
1(EXT PU)
1
0
0
1
1
0
0
1
1
0
0
1
目前检查所有 EVB,CHIP_EN 均有做外部上拉,但是 LOGUART_TX 只有 DP 的 EVB 做了外部默认上拉。没有做上拉的 TX pin 在 CHIP_EN 拉低期间会处于 floating 状态,对应三极管会因为集电极浮空无法提供电流而不能正常打开。因此使用该功能时务必注意要将 LOGUAT_TX 外部上拉电阻(10K)上件 。
实际进入 DOWNLOAD MODE 需要 CHIP_EN 在拉高之后一段时间内 TX 一直维持低电平保证芯片内部电路可以 latch 到。由于 CHIP_EN 是由 0 变为 1,也就是对应的三极管有打开变为关闭状态。0 变 1 的过程是通过外部上拉电阻实现的。而 TX 是 1 变 0,三极管由关闭变为导通状态。该过程是三极管驱动实现的。因此为了保证时序(CHIP_EN 变为高电平时 TX 已经为低),CHIP_EN 上需要挂载一个电容让 CHIP_EN 拉高的过程慢一些,该电容 EVB 上 一般默认上件 1uF 即可。
在芯片内部 latch 进入 DOWNLOAD mode 之后,芯片电路机制在间隔一段时间之后接管 LOGUART_TX pin 并且控制该 pin 推 0 推 1。为避免此处电路控制同时驱动,需要 软件控制时序 ,在完成 latch 后关闭控制 TX 的三极管。
以上第四点的时序有以下几个因素影响:
因为 CHIP_EN 挂载了电容,实际 RTS 变为 1 之后,TX 立刻被拉低,但是 CHIP_EN 会间隔一段时间再拉低,1uF 电容 CHIP_EN 滞后的时间大约是 10ms ——T1
芯片内部电路在 CHIP_EN 变为高电平之后 10ms 左右对 TX 值进行 latch ——T2
芯片内部电路在 CHIP_EN 变为高电平之后 40ms 左右接管 TX pin ——T3
因此,软件控制 RTS 拉高之后,需要 delay [T1+T2, T1+T3]范围内的时间再拉高 DTR,保证既可以 latch 进入 download mode,又可以在芯片接管 TX 之前放开对 TX 的控制避免 short。
软件时序
Reset 及 Auto download 的建议 flow 如下,下面 flow 中的配置讯息均是指 WINDOWS API 中的控制信息,已经经过一层转化。
自动重启时序要求:
DTR = 0
RTS = 1
DELAY 200ms
RTS = 0
DTR = 0
自动进入烧录模式时序要求:
DTR = 0
RTS = 1
DELAY 200ms
DTR = 1
RTS =
DELAY 35ms
备注
如果客户自定义了上述时序,则需要联系 FAE 定制对应的 1-N MP ImageTool 版本。
PL2303GC 驱动要求
不同的 windows 系统,PL2303GC 的驱动版本要求如下:
Win10 安裝的版本 >= 5.1.8.0
Win11 安裝的版本 >= 5.2.8.0
可以直接在 Windows 系统上更新,也可以去 Prolific 官方网站下载安装。
另外,由于 PC 在有新的 USB 设备插入时,会对此时空闲的且正在连接的 USB 设备进行枚举,这时 PL2303GC 的 DTR/RTS 会有一系列的输出,所以增减 USB 设备会影响已连接设备的 DTR/RTS 状态,需要 disable 掉,配置方法如下:
PL2303 端口 –> 右键属性 –> 端口设置 –> 高级 –> Disbale DTR/RTS INIT signal, 确定,保存。
常见问题
下载失败
如果固件下载失败,试着强制进烧录模式再次下载。
如果传输过程被中断,或者校验失败,进度条最后会有一个红底叹号,可以查看日志,试着解决导致失败的问题,重新下载。查看日志的方式有两种:
把鼠标移动到红底叹号上,错误信息即显示出来,如下图示。

如果使能保存日志功能,检查根目录
{MP ImageTool}/log/
文件夹的日志文件,获取详细的下载日志,查看失败原因。Start Tool from UI Scan Device Start Scan Device End Start to Download... COM56 Open Port error
备注
这种查看方式,需要确保下载开始之前,使能保存日志功能。
Flash 写保护
如果烧录过程中遇到 Flash 被写保护,从而下载失败,可以参考 保存擦除/下载过程的 Flash 写保护处理方法 章节。
下载过程中断电
如果在下载过程中偶发终端掉电问题,会导致下载失败,这时可以重新进烧录模式并重新开始下载。