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。
- 下载 Grbl 源代码。
- 点击
<>Code
页签 - 点击Grbl源码主页的
按钮
- 点击
Download ZIP
并保存到电脑上 - 解压下载文件,您将拥有一个名为 的文件夹grbl-XXX,其中XXX是发布版本。
- 启动 Arduino IDE
- 确保您使用的是最新版本的 Arduino IDE!
- 将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。
- 打开
GrblUpload
Arduino 例子。
- 点击
File
下拉菜单, 导航到Examples->Grbl
, 并选择GrblUpload
. - 不要以任何方式修改这个例子 Grbl 并没有使用Ardiuno代码。修改这个例子可能会导致 Arduino IDE 引用 Arduino 代码编译失败。
- 编译并上传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 所需的大部分内容。
-
首先从 arduino.cc 下载 Arduino IDE Windows 安装程序。不要使用 Windows 应用商店版本,因为它隐藏了这些文件。
-
打开 Arduino IDE 并导航到“工具”/“板:“XXX””下拉菜单中的“板管理器”。
-
在“Board Manager”中,安装“Arduino SAM 板”(用于 Arduino Due)。这个特定的库包含 Grbl 需要通过 Makefile 编译的“make”可执行文件。
-
在 Windows 搜索栏中搜索“环境变量”。控制面板中的“编辑系统环境变量”选项应该是列表中的第一个选项。选择它。
-
应出现“系统属性”窗口。单击窗口底部的“环境变量”按钮。
-
突出显示“用户变量”下的“路径”变量,然后单击“编辑”按钮。
-
单击“新建”按钮并添加这些路径。请注意,您可能需要更新下面的 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
-
-
单击“确定”并重新启动计算机。
-
重新启动后,打开 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,可能有更好的解决方案,但这很快并且对我有用。
- libtinfo从 AUR安装yaourt -S libtinfo
- 检查你已经安装了什么。就我而言,它看起来如下所示,您可以在其中看到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
- 你可以使用symlinking 让它工作
libncursesw.so.6.0
aslibtinfo.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 机器上,安装过程如下:
- 通过运行安装 avr 构建工具:
sudo apt-get install avrdude avr-libc gcc-avr make unzip
- 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
- 要将固件刷入您的 Arduino Uno,请使用 USB 电缆插入 Arduino(确认设备位于 /dev/ttyACM0 并运行以下命令:
sudo PROGRAMMER="-c arduino -P /dev/ttyACM0" make flash
就是这样,固件现在应该安装在你的 Arduino 上。