如何安装 .hex 固件?

3D打印 固件
2021-05-19 08:06:48

Creality 确实在creaality3d.cn 上以 .hex 文件的形式提供其固件这些作为备份非常好,因为人们不能意外地改变和破坏它们。

但是......你如何安装它们?!


这是关于直接安装固件无需其他微控制器。使用另一个微控制器如何通过微控制器安装新固件?

3个回答

Arduino IDE 的一个主要部分是半隐藏的,那就是一个叫做 avrdude 的人。实际上,AVRDUDE – AVR 下载器/上传器是一个独立的二进制文件。

顺便说一句,也有gcc编译的,但那是另一回事。所述avrdude上传提供的编译的二进制gcc上到Arduino,通过USB端口(COM端口)。

您可以从命令行调用它(假设您安装了 Arduino IDE)。

您需要指定(请参阅命令行选项说明):

  • COM 口的波特率 ( -b)
  • COM 端口 ( -P)
  • 板中使用的处理器(对于Arduino Mega2560板:ATmega2560)(-p
  • .hex文件路径( -U)
  • .confavrdude 本身文件路径( -C)
  • 详细模式,看看发生了什么 ( -v)
  • 指定要使用的编程器 ( -c)。有关详细信息,请参阅命令行选项说明中的 -c 选项
  • 禁用闪存的自动擦除 ( -D)

该命令将采用以下形式:

<path to arduino>/hardware/tools/avr/bin/avrdude
-C<path to arduino>/hardware/tools/avr/etc/avrdude.conf
-v -patmega2560 -carduino -b 115200 -cstk500v2
-P<name of serial port>
-D -Uflash:w:<path to hex file>:i

上面这个例子:

  1. 指定avrdude二进制文件的完整路径
  2. 指定avrdude .conf配置文件的完整路径
  3. 详细模式
  4. Arduino Mega2560板中使用的ATmega2560处理器
  5. Arduino 程序员
  6. USB口的波特率
  7. Atmel STK500 2.x 版固件编程器(可能不需要)
  8. Arduino 板所连接的端口
  9. 禁用自动闪存,因为它不是必需的——自动擦除不用于 ATxmega 设备,因为这些设备可以在写入每个页面之前使用页面擦除,因此不需要明确的芯片擦除。但是请注意,任何不受当前操作影响的页面都将保留其先前的内容。
  10. 要上传到的内存和 .hex 文件的路径(有关更多信息,请参阅命令行选项说明中的 -U 选项):
    1. flash 指定设备的闪存ROM。
    2. w: 读取指定文件并写入指定设备内存
    3. :i 指定英特尔十六进制

例子

对于 Windows

C:\dev\Arduino\hardware\tools\avr\bin\avrdude 
-CC:\dev\Arduino\hardware\tools\avr\etc\avrdude.conf 
-v -patmega2560 -carduino -b115200 -cstk500v2
-P\\.\COM1 
-D -Uflash:w:C:\Users\<username>\Documents\firmware.hex:i

对于 OSX

/Applications/Arduino/hardware/tools/avr/bin/avrdude 
-C/Applications/Arduino/hardware/tools/avr/etc/avrdude.conf -v -patmega2560 -carduino -b115200 -cstk500v2 -P\\.\COM1 -D -Uflash:w:/Users/<username>/Documents/Arduino/firmware.hex:i

备择方案

如果您不习惯使用命令行界面 (CLI),那么使用 GUI 解决方案可能会更容易……

加载器

对于仅限 Windows 的解决方案,请参阅使用 XLoader 上传 Arduino HEX 文件

XLoader 用户界面

来自作者的网站

我制作了一个小程序,可用于使用引导加载程序将您自己的 *.hex 文件上传到 arduino 板。这意味着您不需要闪存编程器。我自己做的,发现它非常有用。所以现在我制作了一个更用户友好的版本..要使用它编译你在类似 AvrStudio 的代码。然后只需启动 XLoader.exe,选择一个十六进制文件并按上传。而已。好消息是它现在也支持 Arduino Uno。

Arduino 生成器

来自Arduino Builder – 用于构建和上传 Arduino 草图的独立实用程序

  1. 选择文件,草图文件 (.ino)、HEX 文件 (.hex) 或 ELF 文件 (.elf)
  2. 在下拉列表中选择板类型。
  3. 点击串口(或USBASP按钮),将继续上传。

Arduino上传器

同一页面上,有 Arduino Uploader,它是 Arduino Builder 的命令行版本。

Creality 还提供安装 PDF。他们建议的过程是双重的,可能需要在其他机器上进行不同的设置1我认为您可能需要调整的地方用A 标注请注意,此解决方案取决于 CURA

1. 将打印机安装为外围机器。

这部分是特定于 Windows 的。如果您使用 Linux 或 MAC,您将需要使用不同的设置,但您可能会得到相同的结果。

  1. 打开打印机电源,将其从 MircoUSB 连接到计算机的 USB。这应该会自动安装驱动程序。如果没有,则驱动程序位于打印机2随附的 SD 卡上
    • 手动安装windows Key+“ MANAGER”并选择设备管理器找到显示黄色的串口,右键,选择Update driver software > Browse my computer for driver software现在Browse,在 SD 卡上找到 USB 驱动程序的位置并单击Next
    • 一般来说,你需要更新的串口(COM)号是最大的,但可以改变。
    • 一个好主意是使用Repetier Host 之类的软件确认正确的端口,您可以使用它直接控制打印机 - 如果它可以工作,则您的驱动程序和端口正确。此外,您知道正确的波特率。
  2. 驱动安装完成后,启动CURA进行一些设置。File > Preferences
    • 打印窗口是“Pronterface UI” A
  3. 切换到Machine > Machine Settings
    • 串口:选择刚刚更新的那个
    • 波特率:115200

2.通过cura上传.hex文件

  1. Machine > Install custom Firmware
  2. 确保打印机已连接,然后 OK
  3. 在您的 PC 上找到 .hex 文件,然后确认。
  4. 等待该过程完成。

1 - 很可能,您将不得不更改波特率
2 - 这可能不适用于所有制造商,但适用于创意。其他制造商可能有不同的来源。
A - 根据需要调整!

Prusa i3 MK3 带有Slic3r,Prusa 版它有一个用于刷新固件的菜单,该菜单以 HEX 文件作为输入。

Slic3r 截图

然后您可以选择 HEX 文件。如果通过 USB 连接,它将自动检测打印机。

截图固件更新详情