Skip to content

固件编译指南

Lao·Zhu edited this page Oct 8, 2021 · 19 revisions

    在这个部分,我会教你如何在安装编译固件必要的工具,并使用这些工具编译出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进行下载。


安装软件

Windows操作系统

    我们推荐您使用Windows 10操作系统,因为本安装流程只在Windows 10操作系统上进行过测试,并不保证其它版本的Windows系统可以使用同样的方法安装。

  1. 安装CMake工具。双击CMake安装包运行,按照下面的图进行操作即可完成CMake工具的安装。

cmake-install

  1. 解压gcc-arm-none-eabi*到文件夹,并将该文件夹下的bin文件夹绝对路径添加到系统PATH环境变量中。如何添加到系统PATH环境变量?

  2. 安装make工具。本质上来说Windows上是没有make命令的,而真正和Linux中make命令有相同作用的是mingw32-make,所以我们安装的是mingw32-make工具。解压x86_64-8.1.0-release-posix*文件到文件夹,并将该文件夹下的bin文件夹绝对路径添加到系统PATH环境变量中。如何添加到系统PATH环境变量?

  3. 检查上述工具是否正确安装。右键左下角的windows图标,呼出Windows Powershell界面,输入:

    > mingw32-make -v
    > arm-none-eabi-gcc-10.2.1.exe --version
    > cmake --version

    若返回信息如下图所示,说明上述工具均已安装完成。若返回信息中出现红色警告(无法将“xxx”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。),则说明该xxx项并没有安装成功,请重新检查前面的步骤是否成功执行。 windows_check_install

  4. 安装CLion软件(可选)。双击CLion安装包运行,按照下面的图进行操作即可完成CLion工具的安装或者参考官方安装文档

cmake-windows_clion_install


Linux Debian系操作系统

    我们推荐您使用Ubuntu 18.04或Ubuntu 20.04操作系统,因为本安装流程只在Ubuntu 18.04和Ubuntu 20.04操作系统上进行过测试,并不保证其它版本的Debian系统可以使用同样的方法安装。

  1. 安装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
  2. 安装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
  3. 检查上述工具是否正确安装。打开终端,输入:

    $ make -v
    $ arm-none-eabi-gcc -version
    $ cmake --version

    若返回信息如下图所示,说明上述工具均已安装完成。若返回信息中出现红色警告(command not found: xxx),则说明该xxx项并没有安装成功,请重新检查前面的步骤是否成功执行。
    ubuntu_check_install

  4. 安装CLion软件(可选)。使用下面的bash指令即可解压压缩包并打开CLion或者参考官方安装文档

    $ sudo tar xvzf CLion-*.tar.gz -C /opt/
    $ sh /opt/clion-*/bin/clion.sh

编译固件

Windows操作系统

    双击运行program文件夹下的build_fw.bat自动编译脚本,当看到出现文字[100%] Built target miniFOC.elf时说明固件已经编译成功。编译好的固件保存在了program文件夹下的cmake-build-debug文件夹中,名称为miniFOC.hex。

Linux Debian系操作系统

    在本仓库的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)