e-puck2快速入门-13.Epuck2机器人(STM32)固件更新

机器人可能会时不时地进行官方固件更新,重要的是让机器人使用最新的固件进行更新,以获得可能的新功能、改进和错误修复。

板载编程器运行GDB服务器,因此我们使用GDB命令上传新固件,因此需要工具链将新固件上传到机器人。

以下步骤说明了如何更新主微控制器固件:

1.下载包含对机器人进行编程所需的工具链和脚本的软件包:

Windows

Linux 32位/64位

Mac OS 

2.下载主微控制器出厂的最新版本固件(26.04.23), 或使用您的自定义固件

3.解压软件包并将固件文件(带elf扩展名)放入上述步骤1中下载的软件包目录中;请注意,此目录中只能存在一个elf文件

4.连接 USB 电缆并打开机器人

5.从上述步骤1中下载的软件包目录里运行脚本(.bat文件或者.sh文件):

Windows:双击program.bat

双击点bat2.png

Linux/Mac:在终端中发出以下命令./program.sh。如果您遇到权限错误,请发出sudo chmod +x program.sh命令让脚本可执行。请注意脚本需要pyserial模块,所以通过发出安装它pip3 install pyserial

上传完成后,您将看到如下图所示的输出: 最后几行应包含条目".data",

固件更新.png

这意味着上传成功。如果终端窗口仍然打开,您可以关闭它。

 

故障处理

如果遇到问题,请尝试拔下并重新插入USB数据线并重启机器人,然后重试。program_manual_conf.bat如果仍有问题,请尝试在文件(Windows) 或(Linux/Mac)顶部手动指定串行端口program_manual_conf.sh,然后运行此脚本而不是program.bat/program.sh.

如果您收到类似 的错误./program.sh:

line 27: gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gdb: Permission denied,

请尝试发出sudo chmod -R +x gcc-arm-none-eabi-7-2017-q4-major(对于Linux/Mac用户)然后重试。



固件更新下载失败问题解决方案

问题You can’t do that when your target is ‘exec’\n

固件下载失败1.png

参考此文,进行驱动更新,http://www.rosrobot.cn/?id=203

查看设备管理器,

固件下载失败2.png

问题分析:从设备管理器里面可以看到,GDB调试端口是COM4,而不是咱们上面错误显示的COM3,COM口选择错误,导致了下载失败。

解决方案就只需要改对COM 端口即可。

方案

用记事本打开program.bat文件

图片3.png


修改COM口,将%port%改为COM4

固件下载失败4.png

关闭记事本,再次双击program.bat进行固件下载

固件下载失败5.png

下载成功

通过上位机测试,显示连接成功。

固件下载失败6.png

    关键词:e-puck2快速入门