命令行
GProgrammer提供2类命令行程序:GR5xxx_console.exe和GR5xxx_encrypt_signature.exe。
GR5xxx表示芯片系列名称。
- GR5xxx_console.exe可方便用户直接使用命令行完成固件下载和Flash擦除等基本功能操作。
- GR5xxx_encrypt_signature.exe可方便用户直接使用命令行完成固件的加密加签或仅加签操作。
GR5xxx_console.exe
命令行程序GR5xxx_console.exe的使用步骤如下:
- 选择cmd再回车,打开命令提示符窗口。 ,或者在运行对话框中输入
- 使用cd命令进入GProgrammer安装目录。
- 输入GR5xxx_console.exe command命令行完成相应操作。关于command具体描述,参见表 9。
command | 功能描述 | 命令格式及参数说明 | 备注 |
---|---|---|---|
program | 下载固件文件至芯片内部Flash |
program <firmware file path> <run immediately:y | n> <flash start address(hex)> <flash size> <product type> <S/N(optional)> 参数说明:
|
命令中相同的参数,说明如下:
|
erase | 擦除指定地址范围内的芯片内部Flash数据 |
erase <start address<hex>> <end address<hex>><force erase when conflict with firmware/bootinfo:y | n> <flash start address(hex)> <flash size> <product type> <S/N(optional)> 参数说明:
|
|
eraseall | 擦除全部芯片内部Flash数据 | eraseall <product type> <S/N(optional)> | |
download | 下载数据文件至芯片内部Flash |
download <data file path> <start address<hex>><force download when conflict with firmware/bootinfo:y | n> <flash start address(hex)> <flash size> <product type> <S/N(optional)> 参数说明:
|
|
writeefuse | 将Encrypt Key Info和Mode Control文件写入eFuse |
writeefuse <Encrypt Key Info file Path> <Mode Control file Path> <product type> <S/N(optional)> 参数说明:
|
|
readefuse | 读取eFuse Layout信息 | readefuse <S/N(optional)> | |
reset | 复位芯片系统 | reset <product type> <S/N(optional)> | |
generate | 转换固件文件为芯片可用.bin格式文件 | generate <input firmware file path> <output firmware file path>
<flash start address(hex)> <flash size> <product type>
参数说明:
|
|
device | 获取J-Link设备信息(输出设备名称,S/N号) |
device <display count(optional)> 参数说明:
|
|
load | 下载固件(支持Flash固件、RAM固件) |
load <firmware file path> <erase type> <run immediately:y | n> <S/N(optional)> 参数说明:
|
|
dump | 从内部Flash导出数据 | dump <start address(hex)> <size(hex)> <file path> <S/N(optional)> | |
help | 查看所有命令帮助信息 | help |
例如,使用program命令下载一个固件文件到GR551x系列芯片,并设置下载完成后立即运行该固件,输入的命令为:
GR5xxx_console.exe program "D:/test/test_fw.bin" y "0x01000000" 1024 0
- "D:/test/test_fw.bin":待下载的目标固件.bin所在路径。
- "0x01000000" 1024 0:依次为待烧录目标固件的Flash起始地址为0x01000000、Flash大小为1024 KB、芯片系列为GR551x。
program命令执行过程中会实时显示下载进度。
GProgrammer命令行程序GR5xxx_console.exe和界面程序无法同时使用。
GR5xxx_encrypt_signature.exe
命令行程序GR5xxx_encrypt_signature.exe的使用步骤如下:
- 选择cmd后回车,打开命令提示符窗口。 ,或者在运行对话框中输入
- 使用cd命令进入GProgrammer安装目录。
- 输入GR5xxx_encrypt_signature.exe
--parameter完成操作。
常用参数及对应描述,详见表 10,全部参数可使用GR5xxx_encrypt_signature.exe --help命令进行查看。
参数 | 描述 | 备注 |
---|---|---|
operation | 操作类型,可输入值及含义如下:
|
|
firmware_key | 用于加密加签/仅加签的firmware.key文件所在路径 | 文件所在路径,对应eFuse设置章节,点击Generate eFuse File按钮后选择的文件保存路径。 |
signature_key | 用于加密加签/仅加签的sign.key文件所在路径 | |
signature_pub_key | 用于加密加签/仅加签的sign_pub.key文件所在路径 | |
product_json_path | 用于加密加签/仅加签的product.json文件所在路径 | |
rand_number | 用于加密加签/仅加签的random.bin文件所在路径 | |
ori_firmware | 待加密加签/仅加签的原始固件路径 | |
output | 加密加签/仅加签后的固件保存路径 | |
random_output | 加密加签/仅加签使用的随机数的保存路径 | |
base_addr | Flash起始地址,可输入值及含义如下:
|
|
flash_size | Flash大小(单位KB),即使用的芯片型号Flash大小,可查看图 6Flash列。 说明 若使用的芯片Flash为0 KB,则写入使用的外挂Flash大小。 |
|
product_type | 芯片类型, 可输入值及含义如下:
|
|
help | 显示帮助信息 |
例如,在GR551x系列芯片上执行固件加密加签,输入的命令示例如下:
GR5xxx_encrypt_signature.exe --operation="encryptandsign" --firmware_key="D:/test/eFuse/firmware.key" --signature_key="D:/test/eFuse/sign.key" --signature_pub_key="D:/test/eFuse/sign_pub.key" --product_json_path="D:/test/eFuse/product.json" --rand_number="D:/test/eFuse/random.bin" --ori_firmware="D:/test/firmware/test_fw.bin" --output="D:/test/firmware_encryptAndSign/test_fw_encryptAndSign.bin" --random_output="D:/test/firmware_encryptAndSign/random.bin" --base_addr="0x01000000" --flash_size="1024" --product_type="0"
其中参数值路径D:/test/eFuse/为eFuse设置章节,点击Generate eFuse File按钮后用户选择的文件保存路径。更多参数介绍,请查看表 10。
- --ori_firmware="D:/test/firmware/test_fw.bin":原始固件的路径。
- --output="D:/test/firmware_encryptAndSign/test_fw_encryptAndSign.bin":保存加密加签后固件的路径。
- --base_addr="0x01000000" --flash_size="1024" --product_type="0":依次表示待烧录目标固件的Flash起始地址为0x01000000、Flash大小为1024 KB、芯片系列为GR551x。
- --rand_number 参数使用请参见固件加密加签章节Random Number说明。
运行命令后,开始执行加密加签操作。
用户自定义Windows脚本
GR5xxx表示芯片系列名称。
encryptAndSignatureFirmware.bat脚本使用同级目录中firmware_origin.bin文件和eFuse目录,生成加密加签的固件保存到firmware_encryptAndSign\firmware_encryptAndSign.bin路径中。
program_Firmware_EncryptAndSign.bat脚本先擦除全部内部Flash,然后下载firmware_encryptAndSign\firmware_encryptAndSign.bin路径中的固件到内部Flash中。