-
Notifications
You must be signed in to change notification settings - Fork 243
固件编译指南
在这个部分,我会教你如何在安装编译固件必要的工具,并使用这些工具编译出hex文件。我们采用的整套编译工具包为cmake->make->gcc-arm-none-eabi,在这里我们只提供Windows和Linux Debian系平台下的编译方法。如果你只需要修改config.h并编译固件,可以不安装CLion,但是如果你想在官方固件的基础上开发一些新功能,我们推荐你安装CLion,这可以加快代码开发的效率。
你可以直接点击这里从github上下载,或者用git工具输入以下命令克隆源项目仓库。在仓库提示已经被下载完成后,你就可以开始接下来的步骤了。在这个部分,我们主要会用到program文件夹下的文件。
$ git clone --depth 1 [email protected]:ZhuYanzhen1/miniFOC.git
# 如果你在中国国内且没有VPN,你可以输入以下命令克隆我们gitee的镜像仓库:
$ git clone --depth 1 [email protected]:zhuyanzhen1/mini-foc.git
点击下面的链接即可下载对应安装包。安装包取自各工具官网,你也可以进入官网自行下载。由于下载地址服务器基本在国外,下载速度和下载过程中稳定性均不能保证,所以建议您使用VPN进行下载。
- 下载CMake安装包:[Windows_x86_64] Linux通过apt安装。
- 下载gcc-arm安装包:[Windows_x86_64] [Linux_x86_64]
- 下载make工具:[Windows_x86_64] Linux通过apt安装。
- 下载CLion安装包(可选):[Windows_x86_64] [Linux_x86_64]
- 下载Qt creator工具(可选):[Windows_x86_64] [Linux_x86_64]
我们推荐您使用Windows 10操作系统,因为本安装流程只在Windows 10操作系统上进行过测试,并不保证其它版本的Windows系统可以使用同样的方法安装。
- 安装CMake工具。双击CMake安装包运行,按照下面的图进行操作即可完成CMake工具的安装。
-
解压gcc-arm-none-eabi*到文件夹,并将该文件夹下的bin文件夹绝对路径添加到系统PATH环境变量中。如何添加到系统PATH环境变量?
-
安装make工具。本质上来说Windows上是没有make命令的,而真正和Linux中make命令有相同作用的是mingw32-make,所以我们安装的是mingw32-make工具。解压x86_64-8.1.0-release-posix*文件到文件夹,并将该文件夹下的bin文件夹绝对路径添加到系统PATH环境变量中。如何添加到系统PATH环境变量?
-
检查上述工具是否正确安装。右键左下角的windows图标,呼出Windows Powershell界面,输入:
> mingw32-make -v > arm-none-eabi-gcc-10.2.1.exe --version > cmake --version
若返回信息如下图所示,说明上述工具均已安装完成。若返回信息中出现红色警告(无法将“xxx”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。),则说明该xxx项并没有安装成功,请重新检查前面的步骤是否成功执行。
-
安装CLion软件(可选)。双击CLion安装包运行,按照下面的图进行操作即可完成CLion工具的安装或者参考官方安装文档。
我们推荐您使用Ubuntu 18.04或Ubuntu 20.04操作系统,因为本安装流程只在Ubuntu 18.04和Ubuntu 20.04操作系统上进行过测试,并不保证其它版本的Debian系统可以使用同样的方法安装。
-
安装CMake工具、make工具及其依赖工具链。在终端输入以下命令即可完成安装:
$ sudo apt-get update $ sudo apt-get -y upgrade $ sudo apt-get install -y cmake gcc g++ automake autoconf libtool make build-essential
-
安装gcc-arm-none-eabi。解压前面下载的安装包并移动到opt路径下,最后在PATH中添加gcc-arm-none-eabi的路径:
$ tar jxf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 $ sudo mv gcc-arm-none-eabi-10-2020-q4-major /opt/gcc-arm-none-eabi $ echo "PATH=$PATH:/opt/gcc-arm-none-eabi/bin" >> ~/.bashrc # 如果你使用的默认终端是zsh的话,不要执行上面这行的指令而执行下面这行指令: $ echo "PATH=$PATH:/opt/gcc-arm-none-eabi/bin" >> ~/.zshrc
-
检查上述工具是否正确安装。打开终端,输入:
$ make -v $ arm-none-eabi-gcc -version $ cmake --version
若返回信息如下图所示,说明上述工具均已安装完成。若返回信息中出现红色警告(command not found: xxx),则说明该xxx项并没有安装成功,请重新检查前面的步骤是否成功执行。
-
安装CLion软件(可选)。使用下面的bash指令即可解压压缩包并打开CLion或者参考官方安装文档:
$ sudo tar xvzf CLion-*.tar.gz -C /opt/ $ sh /opt/clion-*/bin/clion.sh
双击运行program文件夹下的build_fw.bat自动编译脚本,当看到出现文字[100%] Built target miniFOC.elf
时说明固件已经编译成功。编译好的固件保存在了program文件夹下的cmake-build-debug文件夹中,名称为miniFOC.hex。
在本仓库的program文件夹下打开终端并输入以下命令,当看到出现文字[100%] Built target miniFOC.elf
时说明固件已经编译成功。编译好的固件保存在了program文件夹下的cmake-build-debug文件夹中,名称为miniFOC.hex。
$ mkdir cmake-build-debug -p && cd cmake-build-debug && cmake ..
$ make -j$(nproc)