0
点赞
收藏
分享

微信扫一扫

Ubuntu系统下搭建STM32开发环境(CubeMX+VScode+STlink+OpenOCD+GDBserver)

小磊z 2022-04-26 阅读 68

目录

一、换源

2.1简介

2.2配置方法:

2.2.1图形界面配置

2.2.2手动更改

2.2.3 执行如下命令

二、相关软件安装

2.1.1 VSCode

2.1.2 必备插件

2.2 CubeMX

2.2.1 Java环境

2.2.2 安装CubeMX

2.3 arm-Linux-gcc交叉编译器

2.4 gdb server

2.5 OpenOCD

2.6 STlink

三、VSCode配置及调试

3.1 CubeMX生成Makefile文件

3.2 VSCode配置

一、换源

2.1简介

换源是因为使用Ubuntu的时候在升级时感觉很慢,这时候就需要换国内源

一般使用的是清华源(https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/)/阿里源( https://mirrors.aliyun.com/ubuntu/)

清华源(20.04.LTS)

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用

# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

2.2配置方法:

2.2.1图形界面配置

新手推荐使用图形界面配置: 系统设置 -> 软件和更新 选择下载服务器 ->

2.2.2手动更改

Ubuntu 的软件源配置文件是 /etc/apt/sources.list。

将系统自带的该文件做个备份sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

打开文件: sudo gedit /etc/apt/sources.list 或者 sudo vi /etc/apt/sources.list

这里推荐用gedit工具,因为vim修改比较麻烦。

VIM步骤:i插入->粘贴->ESC-> :wq

将上面内容替换原内容即可。

在这里插入图片描述

2.2.3 执行如下命令

更新源:

sudo apt-get update

更新软件列表:

sudo apt-get dist-upgrade

升级软件:

sudo apt-get upgrade

二、相关软件安装

2.1.1 VSCode

1、应用商店安装

在这里插入图片描述

2、安装包安装

进入VSCode官网https://code.visualstudio.com/下载deb包

在这里插入图片描述

或者用wget https://code.visualstudio.com/deb包名称

cd /下载目录 ——到存储deb包的文件夹下

sudo dpkg -i deb包名称 ——安装

2.1.2 必备插件

Chinese simplified:简体汉化
在这里插入图片描述

ARM Assembly :汇编代码高亮显示
在这里插入图片描述

C/C++:用于提供高亮显示和代码补全在这里插入图片描述

Cortex-Debug:用于提供调试配置
在这里插入图片描述

2.2 CubeMX

Keil不免费,而且bug多。STM32CubeMX就简单得多,图形化界面便于操作。而且对使用HAL库开发比较友好。

2.2.1 Java环境

输入 java -version 如下图所示则说明已经有Java环境了
在这里插入图片描述

否则输入 sudo apt install default-jre 进行安装

2.2.2 安装CubeMX

官网(https://www.st.com/zh/development-tools/stm32cubemx.html)下载
在这里插入图片描述

获取软件(需要接收协议,注册并登录)

右键解压,安装得到下图。双击STM32CubeMX即可运行
在这里插入图片描述

进入主界面->help
在这里插入图片描述

安装HAL库
在这里插入图片描述

2.3 arm-Linux-gcc交叉编译器

命令行下载:

sudo apt-get install gcc-arm-linux-gnueabi

官网下载:

https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads

也可以参考:https://blog.csdn.net/u013491946/article/details/72782344

解压得到:
在这里插入图片描述

修改/etc/profile文件,再最后面添加export PATH=$PATH:+上面复制的绝对路径,目的是为了将交叉编译器的命令添加到全局变量

输入:

gedit /etc/profile

然后在文件的末尾添加以下语句:

export PATH=$PATH:/usr/local/arm/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/lib

保存并退出之后,执行以下命令使环境变量生效:

source profile

在终端输入以下命令则可查看交叉编译工具的版本号:

arm-linux-gnueabihf-gcc -v
在这里插入图片描述

2.4 gdb server

1、下载gdb
wget下载

https://ftp.gnu.org/gnu/gdb/gdb-11.2.tar.xz、

gdb官网下载: https://ftp.gnu.org/gnu/gdb/

解压
tar xvf gdb-11.2.tar.xz

Cd 进入解压文件夹

./configure

make

makeinstall

查看是否安装成功

arm-none-eabi-gdb -v
在这里插入图片描述

2.5 OpenOCD

输入命令:

apt install openocd

查看是否安装成功:

openocd -version
在这里插入图片描述

2.6 STlink

首先需要安装依赖包:(已安装也最好敲一遍防止漏了)

sudo apt-get install libusb-1.0

sudo apt-get install cmake

sudo apt-get install libgtk-3-dev

使用git安装

git clone https://github.com/texane/stlink stlink.git

-进入安装目录

cd stlink.git

编译

make

make release

make debug

cd build

cmake -DCMAKE_BUILD_TYPE=Debug …

make

cd Release

sudo make install

sudo ldconfig

cd 到stlink目录

cd …/…

将文件49-stlinkv2.rules,拷贝到位置:/etc/udev/rules.d/

sudo cp stlink.git/config/udev/rules.d/49-stlinkv2.rules /etc/udev/rules.d/

重新导入规则:

sudo udevadm control --reload-rules

sudo udevadm trigger

将st-flash复制到/usr/bin下

sudo cp src/st-flash/* /usr/bin

查看安装是否成功

sudo st-info -version

在这里插入图片描述

三、VSCode配置及调试

3.1 CubeMX生成Makefile文件

首先生成一个CubeMX工程
在这里插入图片描述

生成Makefile文件
在这里插入图片描述

3.2 VSCode配置

打开VSCode,点击文件,打开文件夹
在这里插入图片描述

选择包含刚刚CubeMX生成的makefile文件的目录

在这里插入图片描述

点击左侧资源管理器,可以看到导入的文件夹
在这里插入图片描述

点击右下角Linux,配置JSON文件
在这里插入图片描述

得到下图所示文件
在这里插入图片描述
打开资源管理器中的Makefile文件
在这里插入图片描述

将"defines"和"includePath"一一对应复制到c_cpp_properties.json中

注意格式!!!
下面需要修改的是compilerPath,这个需要arm-none-eabi-gcc的安装路径。其它默认即可。
“compilerPath”: “/usr/local/arm/bin/arm-none-eabi-gcc”,
“cStandard”: “c11”,
“cppStandard”: “c++14”,
“intelliSenseMode”: “gcc-x64”,
“browse”: {
“limitSymbolsToIncludedHeaders”: true,
“databaseFilename”: “”,
“path”: [
“${workspaceFolder}”

修改完保存。

点击运行->添加配置

这里用到的是ST-Link,所以选择ST-Link,也可以用JLINK,步骤是一样的![在
得到以下代码:
在这里插入图片描述
在这里插入图片描述

在左侧资源管理器中找到elf文件,如果没有build这个文件夹,点开下方终端,输入make进行编译。
在这里插入图片描述

右键复制绝对路径(相对路径也可),粘贴到上面代码中
在这里插入图片描述

保存,点击终端,配置任务
在这里插入图片描述

进入task.json文件

将下面代码复制进去

点开main.c Shift+Ctrl+B生成gcc活动文件

在这里插入图片描述

以后每次调试只需要按Shift+Ctrl+B就可以了。

在这里插入图片描述

举报

相关推荐

0 条评论