多数人在开发STM32的时候用的都是keil这个老牌IDE,很大一部分原因是因为很多人都是从51单片机过来的,那个时候就用keil去开发,然后换成stm32的时候也就沿用下来了,操作简单,容易上手,而且很方便的进行调试。但是用过intellij IDEA的朋友肯定会被他强大的代码补全,界面风格以及其他多种优点所吸引,能够极大提高开发效率。代码的话大家用的基本上都是ST的标准库,然后自己开发逻辑部分,或者在一些方便的地方直接操作寄存器,直接操作寄存器能提高代码的执行效率,但是很难移植,后来ST开发了一款可以快速demo的平台Cube MX,通过这个软件配合ST的HAL库,可以快速的搭建工程,并能生成多种工程。HAL库更容易进行移植,而且应用起来也更加方便。ST正在加大对HAL库的支持,并渐渐放弃标准库。
这里我是在Ubuntu16.04下搭建的开发环境,其他环境大家自行实践。
软件环境:
Ubuntu 16.04
cubeMX 5.2.0
Clion-2019.1.2
OpenOCD
arm-none-eabi-gcc
硬件环境:
STM32F103RCT6
ST-Link
1.首先戳这里下载:cube MX下载,地址为:https://www.st.com/en/development-tools/stm32cubemx.html
2.下载完成后解压,得到如下目录:
运行SetupSTM32CubeMX-5.2.0.linux就可以开始安装,在这里可能会遇到jdk版本的问题,如果遇到此问题,需要更新一下jdk版本,
3.安装完成后打开cubeMX,界面如下:
1.戳这里下载clion 下载, 地址为:http://www.jetbrains.com/clion/
2.下载完成后解压,找到bin目录下的clion.sh运行就ok,这里需要激活码,去某宝5块钱买一个就好。
3.File->Settings->Plugins,搜索stm32,可见如图插件,安装并重启clion
1.下载源码,编译并安装
$ git clone git://git.code.sf.net/p/openocd/code openocd
$ cd openocd
$ sudo ./bootstrap
$ sudo ./configure
$ sudo make
$ sudo make install
2.测试是否安装成功
$ openocd --version
3.这里可能会遇到依赖库没有安装的情况,需要安装以下依赖库
$ sudo apt-get install build-essential pkg-config autoconf automake libtool libusb-dev libusb-1.0-0-dev libhidapi-dev
$ sudo apt-get install libtool libsysfs-dev
这里建议大家下载工具包,然后解压并设置环境变量,而不是用apt去安装。下载地址:
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
1..这里以亮灯为例来体验一下cubeMX,File->New Project…,这里会自动下载一些数据包。下载完成后在搜索框输入我想要的单片机并双击选中
2.这里看到单片机界面,直接找到LED对应的GPIO单击更改成自己想要的模式,这里我将PC6更改为GPIO_Output
3.在左侧栏中,找到SYS,在右侧的Debug选项中选择Debug方式,这里我用sw,所以选择Trace Asynchronous Sw,
4.直接点击Tools,按照图中配置,需要注意的地方是Toolchain/IDE这一栏一定要选择SW4STM32,Firmware Package Name and Version用默认库就可以。
1.File->Import Project…,找到刚才生成的目录确定
3.Tool->Update CMake project with STM32CubeMX project
5.arm-none-eabi-gcc没有错误的话,此时应该便宜成功了
1.File->Settings->Build,Execution,Deployment->OpenOCD Support,设置OpenOCD Home
3.其实这里并没有合适的配置文件,需要自己写一个,将stlink.cfg和stm32f1x.cfg混合一下,就像包含头文件一样,代码如下:
source [find interface/stlink.cfg]
source [find target/stm32f1x.cfg]
4.将上述代码保存为stm32f103.cfg,在上面的设置里选中这个配置文件,并点击运行按钮,会提示下载成功
5.调试,先设置一个断点如图,点击debug按钮,代码会停留在断点上。
欢迎大家留言点赞,欢迎大家点击关注,大家的赞美是我创作的最大动力,谢谢!