在日常学习中,使用keil编写stm32的程序太正常不过,但是keil的自动补全非常的差劲,不仅效果不好还经常死机,如果你想要更好的代码编写体验,希望本文能给大家提供一些帮助。CLion为收费软件,其余的都是免费的,CLion是我认为在除了windows环境下体验最好的IDE了,Stm32CubeMX是stm32hal库的自动代码生成工具,能极大的节约项目的底层代码编写时间。windows安装步骤差不多,但是编译器安装比较繁琐,所以在ubuntu下安装比较方便。
Ubuntu 16.04Lts
Stm32CubeMX 4.27
CLion 2019.2
OpenOCD 0.10.0
arm-none-eabi-gcc 9-2019-q4
官方git地址:git://git.code.sf.net/p/openocd/code(实在慢,不是一般的慢)
官方git镜像地址:git://repo.or.cz/openocd.git(推荐)
csdn下载:https://download.csdn.net/download/dielaoji0733/12043524
最简单的安装方式是apt安装:
sudo apt install openocd
这个版本比较老很多新的器件不支持,比如stm32h7,推荐源码安装。
#先安装依赖
sudo apt install build-essential pkg-config autoconf automake libtool libusb-dev libusb-1.0-0-dev libhidapi-dev
sudo apt install libtool libsysfs-dev
#编译安装
cd openocd
sudo ./bootstrap
sudo ./configure
sudo make
sudo make install
测试安装是否成功
openocd --version
直接apt安装没有什么问题,但是版本比较老,推荐源码安装。
#apt安装
sudo apt install gcc-arm-none-eabi
官方下载地址:https://links.jianshu.com/go?to=https%3A%2F%2Fdeveloper.arm.com%2Ftools-and-software%2Fopen-source-software%2Fdeveloper-tools%2Fgnu-toolchain%2Fgnu-rm%2Fdownloads
csdn:https://download.csdn.net/download/dielaoji0733/12043555
#解压包放到任何路径下即可
vim /etc/profile #最后添加以下环境变量,记得改路径
export PATH=$PATH:/usr/local/gcc-arm-none-eabi-9-2019-q4-major/bin
重启计算机,验证安装成功
arm-none-eabi-gcc -v
官方网址:https://www.st.com/en/development-tools/stm32cubemx.html
先安装jre环境
sudo apt install default-jre
下载zip包,stm32cubemx 5.0以上版本解压后直接双击.linux文件安装即可。本人不喜欢5.0以上的界面,故安装4.27版本。由于需要32位系统支持,所以安装i386支持
sudo apt install libc6-i386
为了使用方便,可以把其他的板子的配置文件都删了。
sudo rm -r /usr/local/share/openocd/scripts/board/*
新建一个文件,名字随便起
sudo vim /usr/local/share/openocd/scripts/board/stm32h7xx.cfg
#写入以下内容
source [find interface/stlink-v2.cfg] #仿真器配置文件
source [find target/stm32h7x.cfg] #目标芯片配置文件
其他型号的仿真器和芯片的配置文件到以下目录找,将上面的内容修改成对应的文件名即可。
/usr/local/share/openocd/scripts/interface #仿真器
/usr/local/share/openocd/scripts/target #芯片
使用lsusb命令查看usb设备,本人的stlink设备如下
Bus 003 Device 005: ID 0483:3748 STMicroelectronics ST-LINK/V2
新建一个文件,以增加对usb设备的访问权限
sudo vim /etc/udev/rules.d/stlink.rules #文件名随意,以.rules结尾
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", GROUP="users", MODE="0666"
重启电脑
clion官方下载地址:https://www.jetbrains.com/clion/download/other.html
汉化包地址(不想用中文可以不装):https://github.com/pingfangx/jetbrains-in-chinese
这里使用一个插件来支持stm32,File->Settings->Plugins,搜索openocd,点击install安装。
直接用stm32cubemx生成指定的工程文件,ide选择SW4STM32(重要)。生成完成后直接用CLion打开该文件夹即可。
路径为对应的可执行程序路径,点test测试路径是否正确。
选择烧录配置文件。
直接点运行就可以烧录了。
usb打开失败,可能是没有权限,确认2.4.3步骤是否正确执行。