wsl下编译stm32平台的软件

本文是介绍嵌入式工程师的CLI编译工具部署方法,所用编译器是 ARM GCC,即 gcc-arm-none-eabi ,案例也是使用 STM32 CubeMX 生成的文件。中间涉及到一些 单元测试 相关的插件安装可以视情况选择或弃用。

下方的操作需要提前安装好 Windows子系统Linux(WSL,Windows Subsystem Linux)或者 虚拟机,且确保使用的是 shell 是 zsh,否则下方的一些配置文件(如 ~/.zshrc )需要手动改成对应 shell 的配置文件。

安装软件

image-20220507181341683

安装git

仅实例安装,配置 用户名 和 邮箱 那些的操作请自行搜索。

1
sudo apt install git

安装工具链/编译器

  1. 官网 去下载自己需要的编译器。
  2. 然后进行解压到与 repo 相同位置的 ~/bin (放其他位置也可以)。
  3. 设置系统变量

下方以 gcc-arm-none-eabi-5_4-2016q3 为例:

1
2
3
4
cd ~/Downloads
wget https://storage.islet.space/02_Softwares/06_Embedded/01_CrossCompiler/gcc-arm-none-eabi/gcc-arm-none-eabi-5_4-2016q3.tar.gz
tar -zxvf gcc-arm-none-eabi-5_4-2016q3.tar.gz
cp -r ~/Downloads/gcc-arm-none-eabi-5_4-2016q3 ~/bin/

安装编译工具

下方这些操作默认安装不指定版本的cmake和make。

1
sudo apt install cmake make

安装单元测试工具

1
sudo apt install lcov valgrind

安装repo

gitpython2repo 的依赖,记得先安装。

  1. 创建 ~/bin 路径。
  2. 选择国内源安装repo。
  3. 赋予 ~/bin/repo 执行权限。
  4. 使 REPO_URL 变成系统变量。
  5. ~/bin 放到 PATH 环境变量中。
  6. 使配置生效。。

这一步简化成下面这些操作,对照着执行即可。(千万不要直接用 apt install repo 进行安装,国内大部分情况用不了)

1
2
3
4
5
6
mkdir ~/bin
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo
echo "export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'" >> ~/.zshrc
echo "export PATH=~/bin:$PATH" >> ~/.zshrc
source ~/.zshrc

拉代码

下方仅实例 repo 工具的代码拉取指令

1
2
repo init -u git@github.com:xxx/xxxxxx.git -b dev
repo sync -j8

拉下来之后会有下面这些文件,其中 outtmp 是之后才生成的。

image-20220511154414265

编译命令

使用编写的脚本进行单元测试、编译和其他操作:

1
./sdk/build/build.sh --board stm32l476rg --compiler $ARM_GCC_PATH --debug