固件升级命令行工具操作说明

1. 简介

通过命令行实现固件升级操作。用户可以通过简单的命令行参数,指定固件文件路径、目标机器人节点、升级的固件版本等进行操作。工具能够处理特定节点的固件升级,并提供错误反馈机制,以确保用户及时了解升级过程中可能发生的问题。

本工具支持在 Linux 和 Windows 环境下运行,用户只需根据操作系统的不同,选择相应的执行文件。

2. 命令行选项和参数

选项 说明 示例
-h\ --help 显示帮助信息。介绍所有可用选项和参数的详细说明。 -h
-f\ --file 指定固件文件的路径。此参数为必填项,且所指定的固件文件必须存在于控制柜中。 -f /tmp/firmware_update-1.0.42-rc.10+9030ebb.firm
-n\ --node 指定要升级的节点。节点名称以逗号分隔,示例中的master_mcu、slave_mcu、joint1、joint2、joint3、joint4、joint5、joint6、base和tool分别代表机器人的主板、从板、关节1、关节2、关节3、关节4、关节5、关节6、基座和工具节点。all表示所有节点都会进行升级。 -n master_mcu,slave_mcu,joint1,joint2,joint3,joint4,joint5,joint6,base,tool
-i\ --ip 设置目标机器人的IP地址。 -i 192.168.1.46
-F\ --force 强制所有节点升级到指定的目标版本。即使某些节点已经处于该版本。 -F

3. 升级前准备

4. 运行操作

4.1 Linux 环境下的操作

操作步骤如下:

  1. 打开终端,转到SDK开发包的 bin 目录下

  2. 运行 firmware_install,输入下面命令

     ./firmware_install -h
    
  3. 输出结果如下图所示,说明运行成功

    run_linux

4.2 Windows 环境下的操作

操作步骤如下:

  1. 打开 CMD,转到SDK开发包的 bin 目录下

  2. 输入下面命令

     set PATH=..\lib;%PATH%
    
  3. 运行 firmware_install.exe,输入下面命令

     firmware_install.exe -h
    
  4. 输出结果如下图所示,说明运行成功

    run_windows

5. 升级命令示例

5.1 Linux 环境

假定机器人的 IP 地址为 172.16.26.203,固件安装包 .firm 文件在控制柜的目录为 /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm。

带校验版本地升级节点:在升级该节点前,会先判断当前版本和目标版本是否相同,如果相同就不升级该节点。

强制(不带版本校验)地升级所有的固件节点:在升级该节点前,不会先判断当前版本和目标版本是否相同,直接强制升级。

5.1.1 示例1:带版本校验地升级所有的固件节点

升级命令:

./firmware_install -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n all

5.1.2 示例2:强制(不带版本校验)地升级所有的固件节点

升级命令:

./firmware_install -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n all!

5.1.3 示例3:带版本校验地升级特定的固件节点

如果只升级主板节点,则升级命令如下:

./firmware_install -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n master_mcu

5.1.4 示例4:强制(不带版本校验)地升级特定的固件节点

升级命令:

./firmware_install -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n master_mcu!

5.2 Windows 环境

假定机器人的 IP 地址为 172.16.26.203,固件安装包 .firm 文件在控制柜的目录为 /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm。

带校验版本地升级节点:在升级该节点前,会先判断当前版本和目标版本是否相同,如果相同就不升级该节点。

强制(不带版本校验)地升级所有的固件节点:在升级该节点前,不会先判断当前版本和目标版本是否相同,直接强制升级。

5.2.1 示例1:带版本校验地升级所有的固件节点

升级命令:

firmware_install.exe -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n all

5.2.2 示例2:强制(不带版本校验)地升级所有的固件节点

升级命令:

firmware_install.exe -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n all!

5.2.3 示例3:带版本校验地升级特定的固件节点

如果只升级主板节点,则升级命令如下:

firmware_install.exe -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n master_mcu

5.2.4 示例4:强制(不带版本校验)地升级特定的固件节点

如果只升级主板节点,则升级命令如下:

firmware_install.exe -i 172.16.26.203 -f /tmp/firmware_update-1.0.44-rc.1+8127e8d.firm -n master_mcu!

6. 运行结果

  • 固件升级成功:在终端会打印出 firmware update success。如下图所示:

    result_success

  • 程序运行失败:在终端会打印出对应的报错信息。下面列举出运行失败的情况:

    • RPC 连接失败:打印 rpc connect error, reconnect now
    • RPC 登录失败:打印 rpc login error
    • 未提供固件安装包路径:打印 firmware update ERROR! please enter the - f parameter
    • 固件升级请求失败:打印 update firmware error!ret :
    • 固件升级失败:打印 firmware update failed!
    • 获取固件升级进度失败:打印 getFirmwareUpdateProcess error
    • 固件安装失败:打印 firmware update failed

results matching ""

    No results matching ""