2.烧录Grbl - MillerRen/grbl GitHub Wiki

该维基旨在提供有关如何将 grbl 闪存到 Arduino 的各种说明。请随时贡献更多最新或替代方法。

通过 Arduino IDE(所有平台):

推荐:以下所有其他方法仅供参考!

转到编译 Grbl wiki 页面,了解如何通过 Arduino IDE 界面将 Grbl 编译并上传到您的 Arduino 上。

别大惊小怪!只需要用户下载源代码,将Grbl作为库添加到IDE中,点击上传即可。

但是,如果您只有一个预编译的 .hex 文件,则需要使用以下方法之一来刷新它,因为 Arduino IDE 无法通过 IDE 接口刷新 .hex 文件。


对于 Mac OS X:

先试试这个!来自 Inventables 的 Paul Kaplan 使用一个名为HexUploader的简单 GUI 应用程序使这个过程比以前容易得多。让我们知道它是如何工作的!

最后更新:2012-02-12 由 gregrebholz。(在 OS X 10.7、10.6 和 10.4 以及 Arduino Uno 和 IDE v1.0/r22;以及 OS X 10.6 和 Arduino Duemilanove 和 IDE v1.0 上测试)

与编译 grbl 一样,用于将 grbl 闪存到 Arduino 的工具包含在 Arduino IDE软件中。您需要做的就是通过 Terminal.app 直接访问它们。以下说明已经过测试,适用于 Arduino Uno。对于其他人,您的里程可能会有所不同。

对于大多数人来说,Arduino 编译器工具的路径是:/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr(注意编译 grbl 页面中没有/bin。)取决于你在哪里放置Arduino IDE,/ Applications/Arduino.app路径可能不同。因此,让我们调用您的编译器工具路径_$AVRPATH_以帮助缩短以下命令。

接下来,您需要找到 Arduino 的设备路径。首先,将您的 Arduino 连接到 Mac USB 端口。要查找设备路径,请从 Terminal.app 窗口中键入:/dev/tty.usb_并按 Tab 一次或两次。这将为您提供一个设备路径,即您的 Arduino,或多个路径,如果您有多个 USB 调制解调器类型的设备连接到您的计算机。如果您有多个,只需拔下您的 Arduino,重复该过程,并消除仍然列出的剩余设备。您的 Arduino 设备路径应该是这样的:/dev/tty.usbmodem1811_并让我们称之为**$DEVPATH**。

烧录Grbl: 使用 Terminal.app,首先确保您与要烧录到 Arduino的grbl.hex文件位于同一目录中,我们将其称为_$GRBLHEX_。然后,键入以下命令进行刷机。

对于 Uno 上的 0023 版及更早版本: $AVRPATH/bin/avrdude -C$AVRPATH/etc/avrdude.conf -pm328p -cstk500v1 -P$DEVPATH -D -Uflash:w:$GRBLHEX

对于 Duemilanove 上的 0023 版及更早版本: $AVRPATH/bin/avrdude -C$AVRPATH/etc/avrdude.conf -pm328p -cstk500v1 -P$DEVPATH -b57600 -D -Uflash:w:$GRBLHEX

对于 Uno 上的 v1.0: $AVRPATH/bin/avrdude -C$AVRPATH/etc/avrdude.conf -pm328p -carduino -P$DEVPATH -D -Uflash:w:$GRBLHEX

对于 Duemilanove 上的 v1.0: $AVRPATH/bin/avrdude -C$AVRPATH/etc/avrdude.conf -pm328p -carduino -P$DEVPATH -b57600 -D -Uflash:w:$GRBLHEX

请注意,两个版本之间唯一的变化是-c标志从stk500v1编程器到arduino编程器。此编程器标志已在 v1.0 IDE 中更新。如果一切按计划进行,您应该会看到三个连续的读取、写入和验证进度条,您就可以开始了!

其他资源:

  • DANK (Last updated 2/2011)

对于 Windows:

最后更新:2013-01-24 由 dmalicky。(在 Windows XP/7 和 Arduino Uno 上测试)

使用 Windows 将十六进制文件刷入您的 Arduino 很简单。首先,将 Arduino 插入 Windows 机器的任何 USB 端口,然后确定分配给 Arduino 的 COM 端口。

要确定您的 Arduino 的 COM 端口:

  • Windows XP: 右键单击“我的电脑”,选择“属性”,选择“设备管理器”。

  • Windows 7: 单击“开始”-> 右键单击​​“计算机”-> 选择“管理”->从左侧窗格中选择“设备管理器”

  • 在树中,展开“端口(COM & LPT) ”

  • 您的 Arduino 将是 USB 串行端口 (COMX),其中“X”代表 COM 编号,例如 COM6。

  • 如果有多个USB串口,右击每一个并查看制造商,Arduino将为“ FTDI ”。国内大部分为“ch340”

要将 grbl 十六进制闪存到 Arduino:

  1. 下载并解压 XLoader

  2. 打开 XLoader 并从左下方的下拉菜单中选择您的 Arduino 的 COM 端口。

  3. 从标题为“设备”的下拉列表中选择适当的设备。

  4. 检查 Xloader 是否为设备设置了正确的波特率:Duemilanove/Nano (ATmega 328) 为 57600,Uno (ATmega 328) 为 115200。

  5. 现在使用表单右上角的浏览按钮浏览到您的 grbl 十六进制文件。

  6. 选择您的 grbl 十六进制文件后,单击“上传”

单击上传后,您会看到 Arduino 上的 RX/TX 灯变亮。上传过程通常需要大约 10 秒才能完成。完成后,XLoader 的左下角会出现一条消息,告诉您上传了多少字节。如果出现错误,它将显示而不是上传的总字节数。步骤应该类似,可以通过命令提示符完成。

Windows HexUploader

APEHexLoader 可从 apecoder.co.za 获得,能够将 hexfile 上传到加载了执行 stk500 协议的引导加载程序的芯片,您所要做的就是选择您的文件并手动重置您的芯片,等待 3 次闪烁表示您的引导加载程序已准备就绪并点击加载固件按钮。

其他 Windows 资源:

对于那些使用 CLI 的人:浏览到新 hex 文件所在的目录并输入以下命令(用您的实际 COM 编号替换 COM3):

avrdude -p m328p -D -PCOM3 -c arduino -b 115200 -U flash:w:grbl.hex


对于 Linux:

avrdude -v -patmega328p -Uflash:w:grbl_v0_9j_atmega328p_16mhz_115200.hex:i -carduino -b 57600 -P /dev/ttyUSBX

最后更新:2012-01-30 由 Atrixium。(在 Linux Mint 9 (Ubuntu 10.04) 和 Arduino Uno 和 IDE V1.0 上测试)

将 grbl 刷入 Arduino(称为 AVRDUDE)的工具包含在 Arduino IDE软件中。以下说明已经过测试,适用于 Arduino Uno。对于其他人,您的步骤可能会有所不同。

Linux 用户现在可以使用Easy Flash脚本来简化流程。

请注意,在 Linux 中所有命令都区分大小写

在典型安装中,AVRDUDE 工具可以在:/home/$USER/arduino-1.0/hardware/tools/ 中找到,根据您放置 Arduino IDE 的位置,路径的_/home/$USER_部分可能不同. AVRDUDE有两个文件,我们需要注意的:AVRDUDE和avrdude.conf。为简单起见,本文档将这两个文件及其路径分别称为**$AVRPATH$CONFPATH**。

接下来,我们需要为您的 Arduino 找到设备路径。将您的 Arduino 连接到 USB 端口,然后在终端窗口中输入:dmesg。这将显示一长串文本,其底部应如下所示:

[ 3058.480208] usb 7-1: new full speed USB device using ohci_hcd and address 15
[ 3058.673379] usb 7-1: configuration #1 chosen from 1 choice
[ 3058.675293] cdc_acm 7-1:1.0: ttyACM0: USB ACM device

说 ttyACM0 的部分是我的Arduino,您的 Arduino 应该具有类似的名称,但可能是 ttyACM1 或 ttyACM2 等,具体取决于您安装了多少 USB 调制解调器设备。确定名称后,您的 Arduino 设备路径应该类似于:/dev/ttyACM0。从这里开始,我们将此路径称为$DEVPATH。根据您的 linux 版本,它也可能类似于 /dev/ttyUSB0,这就是我运行 Ubuntu 的情况。

烧录Grbl: 使用终端,首先确保您与要烧录到 Arduino的grbl.hex文件位于同一目录中,我们将其称为$GRBLHEX。然后,键入一个在烧录下面的命令行:

对于 IDE 版本 0023 及更早版本: $AVRPATH -C$CONFPATH -pm328p -cstk500v1 -P$DEVPATH -D -Uflash:w:$GRBLHEX
例如: /home/rob/arduino-1.0/hardware/tools/avrdude -C/home/rob/arduino-1.0/hardware/tools/avrdude.conf -pm328p -cstk500v1 -P/dev/ttyACM0 -D -Uflash:w:grbl_0_7d_atmega328p_16mhz_9600.hex

对于 v1.0: $AVRPATH -C$CONFPATH -pm328p -carduino -P$DEVPATH -D -Uflash:w:$GRBLHEX
例如: /home/rob/arduino-1.0/hardware/tools/avrdude -C/home/rob/arduino-1.0/hardware/tools/avrdude.conf -pm328p -carduino -P/dev/ttyACM0 -D -Uflash:w:grbl_0_7d_atmega328p_16mhz_9600.hex

请注意,两个版本之间唯一的变化是从-cstk500v1和的变化-carduino;在stk500v1程序员到Arduino的程序员。此程序员标志已在 v1.0 IDE 中更新。另外,请注意,如果您使用的是 Duemilanove,则可能需要添加标志-b 57600以手动设置波特率。这类似于上面 Mac OS X 部分中的说明。如果一切按计划进行,您应该会看到三个连续的读取、写入和验证进度条,您就可以开始了!

用USBASP烧录: 如果您通常使用带有“使用编程器上传”选项的 Arduino IDE

调用 avrdude 但设置了 USBASP 选项

/home/user/arduino-nightly/hardware/tools/avr/bin/avrdude -C/home/dgtlmoon/arduino-nightly/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cusbasp -Pusb -Uflash:w:./grbl_v0_9j_atmega328p_16mhz_115200.hex:i

其他 Linux 资源:

常见的烧录错误

error "avrdude: stk500_recv(): programmer is not responding Problem uploading to board"

当您的 arduino UNO 具有固件 <=3.3 时,可能会出现 解决方法是使用 ISP 编程器刷新更新的引导加载程序。 检查您的 UNO 固件版本: 转到文件>首选项>“在>上传期间显示详细输出”。 此问题与操作系统无关。 有关更多信息,请参阅问题 #760