1.编译Grbl - MillerRen/grbl GitHub Wiki

这个 wiki 旨在提供有关如何编译 grbl 的各种说明。编译后,您应该有一个全新的 .hex 文件可以闪存到您的 Arduino。请随时贡献更多最新或替代方法。

通过 Arduino IDE(所有平台):推荐给所有用户。

2009年,由于Arduino的IDE工作的伟大的人们,有需要编译纳入其grbl一切软件包。此方法编译 Grbl 源代码并自动将其上传到 Arduino。您不能通过 IDE 接口直接刷写预编译的 .hex 文件。如果您只有一个 .hex 文件,请参阅我们的Flashing Grbl 到 Arduino wiki 页面,了解如何执行此操作。

意:在开始之前,从 Arduino IDE 中删除之前的 Grbl 库安装。否则,您将遇到编译问题!在 Mac 上,Arduino 库位于~/Documents/Arduino/libraries/. 在 Windows 上,它位于My Documents\Arduino\libraries. 在 Linux (Ubuntu) 上,/usr/share/arduino/libraries 如果找不到 grbl 库以便删除和重新安装,请检查 IDE 中的 Sketchbook 位置 通过file -> preferences和/sketchbook/location/path。

  1. 下载 Grbl 源代码。
  • 点击 <>Code 页签
  • 点击Grbl源码主页的 clonedownload 按钮
  • 点击 Download ZIP 并保存到电脑上
  • 解压下载文件,您将拥有一个名为 的文件夹grbl-XXX,其中XXX是发布版本。
  1. 启动 Arduino IDE
  • 确保您使用的是最新版本的 Arduino IDE!
  1. 将grbl folder其作为库加载到 Arduino IDE 中。
  • 点击 Sketch 下拉菜单, 导航到 Include Library 并选择 Add .ZIP Library. Add .ZIP Library 命令支持.zip文件或文件夹,在我们的例子中,没有.zip文件。
  • 你可以确认已经添加了库。再次点击 Sketch 下拉菜单, 导航到 Include Library, 然后华东到列表底部,你应该能看到grbl
  • 重要: 选择grbl-XXX文件夹 里面的 grbl 文件夹, 它只包含源文件和例子.
  • 如果你不小心选择了.zip文件或错误的文件夹,你需要导航到你的Arduino库的位置,删除错误的文件夹,然后重做步骤3。
  1. 打开 GrblUpload Arduino 例子。
  • 点击 File 下拉菜单, 导航到 Examples->Grbl, 并选择 GrblUpload.
  • 不要以任何方式修改这个例子 Grbl 并没有使用Ardiuno代码。修改这个例子可能会导致 Arduino IDE 引用 Arduino 代码编译失败。
  1. 编译并上传Grbl到你的Arduino.
  • 连接你的Arduino Uno到你的电脑。
  • 确保你的板子在 Tool->Board 菜单下设置了板子型号和串口端口号在Tool->Serial Port菜单中被正确设置。(在ebay上有些控制板安装了Arduino Pro bootloader,如果你看到错误信息像 "avrdude: stk500_getsync() attempt n of 10: not in sync: resp=0x20" 就选择两外一个型号,例如Arduino Pro或Pro mini)
  • 点击 Upload, 然后Grbl应该被编译并烧录到你的Arduino!(用编程器Upload Using Programmer 菜单命令烧录也是可行的。)

注意: 如果你的环境是干净的并且Arduino IDE仍然抛出"warning: [...] redefined" 信息, 你需要 取消选择 File -> Preferences -> "Aggressively cache compiled core".

编译Grbl或高级用户: 大部分用户用Grbl默认的构建就可以了,但是你可以通过编辑config.h文件自定义Grbl。特别指出 编辑Arduino 里面的文件夹 不是 你用来导入的那个文件夹。 config.h 可以开启或禁用Grbl的所有额外的编译时选项。在文件的描述并解释了他们的作用。一旦编辑和保存,只需按照上面的步骤闪现您的自定义Grbl构建!

不必大惊小怪,不必争论!

注意: 如果你碰到了上传问题,试着重新烧录Arduino bootloader。如果你有一个备用的Arduino,非常简单!

上次更新: 2018-03-04



以下方法仅供参考

在 Mac OS X 上:

上次更新: 2012-01-29 由 chamnit. (在 OS X 10.7, 10.6, 10.4 和 the Arduino IDE r22,v1.0测试通过)

这个编译Grbl的方法使用Mac OSX 终端 和 命令行访问Arduino IDE的编译器而不需要Arduino IDE. 这和上面的Arduino IDE方法生成相同的固件。

首先,你需要确保你由最新版本的Arduino IDE安装在你的Mac上。最棘手的部分是设置在Arduino软件中包含的编译器环境。要做到这点,你将首先需要确定他们的位置。取决与你的Arduino.app放在哪个位置,对于大部分用户通常它被放在 /Applications/Arduino.app 。 完整的路径是: /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/

添加编译器路径: 打开在 /Applications/Utilities下的终端Terminal.app。

然后键入: nano ~/.bashrc 编辑你的shell配置文件.

现在添加这一行到文件末尾: export PATH=$PATH:/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/ 或者任何你的path生效的地方。

输入 Crtl-X 退出并且选择_Yes_保存文件。现在你已经添加了编译器的路径。你将需要关闭当前窗口并重新打开一个,路径会被正确加载。

注意: 如果你碰到问题了,你可能需要添加相同的PATH到你的 .bash_profile 文件. 过程是一样的,只是文件名不一样。

编译: 一旦你的路径设置好了,你所需要做的就是进入你的grbl目录并输入“make”。 (要清除以前构建中的所有旧编译文件,请先键入“make clean”。) 这会调用 avr-gcc, 开始编译Grbl, 创建一个名为_grbl的全新固件文件。然后可以在你的Arduino上烧录。

对于 Windows

最后更新:2018-08-11 by chamnit。(在 Windows 10 和 Arduino IDE 1.8.5 上测试)

您也可以使用 Arduino 平台,因为它提供了通过命令提示符界面编译 Grbl 所需的大部分内容。

  1. 首先从 arduino.cc 下载 Arduino IDE Windows 安装程序。不要使用 Windows 应用商店版本,因为它隐藏了这些文件。

  2. 打开 Arduino IDE 并导航到“工具”/“板:“XXX””下拉菜单中的“板管理器”。

  3. 在“Board Manager”中,安装“Arduino SAM 板”(用于 Arduino Due)。这个特定的库包含 Grbl 需要通过 Makefile 编译的“make”可执行文件。

  4. 在 Windows 搜索栏中搜索“环境变量”。控制面板中的“编辑系统环境变量”选项应该是列表中的第一个选项。选择它。

  5. 应出现“系统属性”窗口。单击窗口底部的“环境变量”按钮。

  6. 突出显示“用户变量”下的“路径”变量,然后单击“编辑”按钮。

  7. 单击“新建”按钮并添加这些路径。请注意,您可能需要更新下面的 sam 库版本。

    • C:\Program Files (x86)\Arduino\hardware\tools\avr\avr\bin\

    • C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\

    • %USERPROFILE%\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.11\system\CMSIS\Examples\cmsis_example\gcc_atmel\ ​

    • C:\Program Files (x86)\Arduino

  8. 单击“确定”并重新启动计算机。

  9. 重新启动后,打开 Windows 命令提示符(搜索“命令提示符”)。通过“cd”更改目录命令导航到 Grbl 源文件夹。在 Grbl 源目录的根目录中,即 Makefile 所在的位置,首先键入“make clean”以清除所有旧的构建文件,然后键入“make”,Grbl 应进行编译。

另一种方法是使用 Atmel Studio, 这是 Visual Studio 的自定义版本。

上次更新: 2014-07-18 由 gerritv (在Windows 8.1, 64位上测试)

  • 安装 Atmel Studio
  • 安装 Create From Makefile 扩展(工具/扩展管理器)
  • 从 Makefil 运行工具/创建项目
  • 从您的 grbl 代码目录中选择 Makefile
  • 选择设备,Arduino Uno 使用 ATmega328p
  • 在项目/属性中,取消选中使用外部 Makefile
  • 添加 -DF_CPU=16000000 -mmcu=atmega328p 到 Project/Properties/Toolchain/AVR Gnu Compiler/Miscellaneous Other Flags

Debug 和 Release 配置都需要完成最后 2 个步骤

享受 Visual Studio for Atmel/AVR 的好处

在Linux上:

上次更新: 2012-03-02 由 speters. (测试环境未知应该是Debian)

确保已安装必备库:avr-gcc和arduino(sudo aptitude install arduino)

在终端提示下,将目录更改为grbl源代码所在的位置。然后键入以下内容来编译和构建固件:

make clean
make grbl.hex

对于 Arch Linux

上次更新: 2017-03-26 由 brownjohnf. (测试时间 2017-03-06)

您可能会遇到有关缺少libtinfo.so.5. 我让 grbl 使用以下内容进行编译和运行。 警告: 以下是一个 hack,可能有更好的解决方案,但这很快并且对我有用。

  1. libtinfo从 AUR安装yaourt -S libtinfo
  2. 检查你已经安装了什么。就我而言,它看起来如下所示,您可以在其中看到libtinfo.so.6已安装,但未安装5.
$ ls -l /usr/lib | grep libtinfo
lrwxrwxrwx  1 root root       22 Mar 26 10:13 libtinfo.so -> /usr/lib/libtinfo.so.6
lrwxrwxrwx  1 root root       27 Mar 26 10:13 libtinfo.so.6 -> /usr/lib/libncursesw.so.6.0
  1. 你可以使用symlinking 让它工作 libncursesw.so.6.0 as libtinfo.so.5:
$ sudo ln -s /usr/lib/libncursesw.so.6.0  /usr/lib/libtinfo.so.5

对于 Ubuntu:

上次更新: 2021-05-08 由 ooxi, 基于EliteEng的工作。

以下已在 Ubuntu 20.04 和 Arduino Uno 上进行了测试。它将从源代码编译 grbl 并将其闪存到您的 Arduino。理论上它也应该与其他风格的 Debian 一起工作。

在全新的 Ubuntu 机器上,安装过程如下:

  1. 通过运行安装 avr 构建工具:
sudo apt-get install avrdude avr-libc gcc-avr make unzip
  1. Compile the GRBL source code and create the firmware file:
cd /home ## 或者您想要下载源代码的位置。
wget https://github.com/gnea/grbl/archive/master.zip
unzip master.zip
cd grbl-master
sudo make grbl.hex
  1. 要将固件刷入您的 Arduino Uno,请使用 USB 电缆插入 Arduino(确认设备位于 /dev/ttyACM0 并运行以下命令:
sudo PROGRAMMER="-c arduino -P /dev/ttyACM0" make flash

就是这样,固件现在应该安装在你的 Arduino 上。