Skip to content

Wiki

Linux配置MDK6环境教程

About 8 min read

An English translation is not available yet. The latest Simplified Chinese source is shown without triggering paid translation.

(本教程为2024年1月创建的,可能与以后的版本有些出入)

1.需要准备的软件

  1. CubeMX最新版

  2. VScode最新版

  3. vcpkg包管理工具

  4. pyOcd(如何安装下方有教程)

  5. ST-Link驱动(如何安装下方有教程)

2.vcpkg安装与环境配置

  1. 下载依赖包
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential tar curl zip unzip
sudo apt-get install default-jre
  1. 克隆vcpkg仓库

https://github.com/microsoft/vcpkg/tree/master

git clone https://github.com/microsoft/vcpkg.git
  1. 生成vcpkg程序
cd vcpkg
sudo chmod a+x ./bootstrap-vcpkg.sh
sudo ./bootstrap-vcpkg.sh
  1. 配置环境
vim ~/.bashrc

这个 VCPKG_HOME是vcpkg的目录

#配置vcpkg环境 
export VCPKG_HOME=/home/tungchiahui/user/applications/vcpkg  #目录需要改为你的vcpkg的目录
export PATH=$VCPKG_HOME:$PATH

source ~/.bashrc
vcpkg --version

出现如图提示则安装成功!

3.MDK5工程生成与ARMCLANG(AC6)编译器配置

3.1.工程生成与编译器配置

  1. 方式一 :配置编译器教程需要在Windows进行,在Linux上目前很难修改编译器选项,可以参考下方Windows教程里的生成工程并配置默认编译器。(实质就是把编译器从默认的AC5改成AC6)

  2. 方式二 :克隆已经生成好的模板(模板目前只有几个常用型号的)

仓库链接:

https://github.com/TungChiahuiMCURepos/CubeMX_CMake_Template

git clone https://github.com/TungChiahuiMCURepos/CubeMX_CMake_Template.git

3.2.工程配置(比如初始化一个GPIO口并创建任务使其电平翻转)

先复制一份工程模板

重命名工程

打开CubeMX(并点击最上方File->Load Project 或者 直接点击下方图中的图标)

找到工程并Load,并配置好工程

在文件夹MDK-ARM下打开终端

cd MDK-ARM
code .

4.安装并激活MDK6插件

下载好ARM Keil Studio Pack

激活MDK6插件

5.初次转化MDK5工程并下载依赖包

右下角把这些要安装的pack都安装一下,有什么提示要允许的都允许一下

在安装Packs的时候,需要保证一个良好的网络环境(需要一个有魔法的网络环境),

这个阶段会持续5-20分钟,请慢慢等待。(看你的机场速度而决定)

(只有第一次运行需要这些操作)

这个调查可以不查

如图即是安装成功

如果下方环境已经配置好了,请右键点击uvprojx选择Convert

如果环境没配置好,右键这个文件,选择active environment(图中因为我的环境配置好了,所以是deactive失能)

然后再执行上一步的Convert

如图已经初始化成功了

6.编译

点击build按钮发现文件大小一样就是编译成功了。

若编译失败,则看一下是否是工程文件列表被多配置了一个点。(看下方进阶教程里的添加源文件解决)

7.Linux如何配置ST-Link等调试器?

7.1.安装pyOCD(Linux)

https://github.com/pyocd/pyOCD

先打开终端输入(如果你是debian系的系统,如Ubuntu,请看下方的教程)

sudo apt install python3-pip
python3 -mpip install -U pyocd

# 如果上面的不行,则输入下方的
pip3 install -U pyocd

如果还不行,且提示

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

则使用(debian系的系统)

sudo apt install python3-pyocd

或者 说直接克隆仓库

git clone https://github.com/pyocd/pyOCD.git
cd pyOCD
pip3 install .

这样也可以安装pyOCD

接下来,我们需要安装ST-Link等调试器的驱动。

pyOCD安装调试器驱动官方教程:

https://github.com/pyocd/pyOCD/tree/main/udev

还是需要用到pyOCD仓库里的文件。

如果你没clone仓库请尽快克隆。

在仓库目录下,输入以下命令

cd udev
sudo cp *.rules /etc/udev/rules.d
#重启udev
sudo udevadm control --reload
sudo udevadm trigger

这样ST-Link就可以正常被检测出来了

如果没被检测出来,请插拔一下ST-Link,然后点击Add Device添加一下设备。

7.2.更新ST-Link最新驱动(Linux)

https://www.st.com/en/development-tools/stsw-link007.html#get-software

暂时无法在飞书文档外展示此内容

下载后的文件解压出来。

sudo apt install ./st-stlink-udev-rules-1.0.3-2-linux-all.deb

重启VScode即可

(下方还有其他有关的教程操作,请往下滑)