Clion下开发STM32

Clion下开发STM32


  • Clion下开发STM32
    • 0 前言
    • 1 环境及所需工具
    • 2 工具说明
      • 2.1 cubeMX
      • 2.2 Clion
      • 2.3 openOCD
      • 2.4 arm-none-eabi-gcc
    • 3 实例(整个流程)
      • 3.1 cubeMX创建工程
      • 3.2 Clion导入工程
      • 3.3下载及调试

0 前言

多数人在开发STM32的时候用的都是keil这个老牌IDE,很大一部分原因是因为很多人都是从51单片机过来的,那个时候就用keil去开发,然后换成stm32的时候也就沿用下来了,操作简单,容易上手,而且很方便的进行调试。但是用过intellij IDEA的朋友肯定会被他强大的代码补全,界面风格以及其他多种优点所吸引,能够极大提高开发效率。代码的话大家用的基本上都是ST的标准库,然后自己开发逻辑部分,或者在一些方便的地方直接操作寄存器,直接操作寄存器能提高代码的执行效率,但是很难移植,后来ST开发了一款可以快速demo的平台Cube MX,通过这个软件配合ST的HAL库,可以快速的搭建工程,并能生成多种工程。HAL库更容易进行移植,而且应用起来也更加方便。ST正在加大对HAL库的支持,并渐渐放弃标准库。

1 环境及所需工具

这里我是在Ubuntu16.04下搭建的开发环境,其他环境大家自行实践。

软件环境:

  • Ubuntu 16.04

  • cubeMX 5.2.0

  • Clion-2019.1.2

  • OpenOCD

  • arm-none-eabi-gcc

硬件环境:

  • STM32F103RCT6

  • ST-Link

2 工具说明

2.1 cubeMX

1.首先戳这里下载:cube MX下载,地址为:https://www.st.com/en/development-tools/stm32cubemx.html 
2.下载完成后解压,得到如下目录:

Clion下开发STM32_第1张图片 
运行SetupSTM32CubeMX-5.2.0.linux就可以开始安装,在这里可能会遇到jdk版本的问题,如果遇到此问题,需要更新一下jdk版本, 
3.安装完成后打开cubeMX,界面如下:

Clion下开发STM32_第2张图片

2.2 Clion

1.戳这里下载clion 下载, 地址为:http://www.jetbrains.com/clion/ 
2.下载完成后解压,找到bin目录下的clion.sh运行就ok,这里需要激活码,去某宝5块钱买一个就好。 
3.File->Settings->Plugins,搜索stm32,可见如图插件,安装并重启clion

Clion下开发STM32_第3张图片

2.3 openOCD

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

2.4 arm-none-eabi-gcc

这里建议大家下载工具包,然后解压并设置环境变量,而不是用apt去安装。下载地址: 
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

3 实例(整个流程)

3.1 cubeMX创建工程

1..这里以亮灯为例来体验一下cubeMX,File->New Project…,这里会自动下载一些数据包。下载完成后在搜索框输入我想要的单片机并双击选中

Clion下开发STM32_第4张图片 
2.这里看到单片机界面,直接找到LED对应的GPIO单击更改成自己想要的模式,这里我将PC6更改为GPIO_Output

Clion下开发STM32_第5张图片 
3.在左侧栏中,找到SYS,在右侧的Debug选项中选择Debug方式,这里我用sw,所以选择Trace Asynchronous Sw,

Clion下开发STM32_第6张图片 
4.直接点击Tools,按照图中配置,需要注意的地方是Toolchain/IDE这一栏一定要选择SW4STM32,Firmware Package Name and Version用默认库就可以。

Clion下开发STM32_第7张图片
5.点击右上角的GENERATE CODE

3.2 Clion导入工程

1.File->Import Project…,找到刚才生成的目录确定

Clion下开发STM32_第8张图片 
2.导入文件默认,点击OK

Clion下开发STM32_第9张图片 
3.Tool->Update CMake project with STM32CubeMX project

Clion下开发STM32_第10张图片 
4.编译

 
5.arm-none-eabi-gcc没有错误的话,此时应该便宜成功了

Clion下开发STM32_第11张图片

3.3下载及调试

1.File->Settings->Build,Execution,Deployment->OpenOCD Support,设置OpenOCD Home

Clion下开发STM32_第12张图片 
2.设置板文件,

Clion下开发STM32_第13张图片

Clion下开发STM32_第14张图片 
3.其实这里并没有合适的配置文件,需要自己写一个,将stlink.cfg和stm32f1x.cfg混合一下,就像包含头文件一样,代码如下:

 

source [find interface/stlink.cfg]

source [find target/stm32f1x.cfg]

4.将上述代码保存为stm32f103.cfg,在上面的设置里选中这个配置文件,并点击运行按钮,会提示下载成功

5.调试,先设置一个断点如图,点击debug按钮,代码会停留在断点上。

Clion下开发STM32_第15张图片 
6.查看变量,点加号,输入变量名

Clion下开发STM32_第16张图片 
7.其他功能读者自己去发现吧,很强大


欢迎大家留言点赞,欢迎大家点击关注,大家的赞美是我创作的最大动力,谢谢!

你可能感兴趣的:(单片机)