@TOC

准备

参考链接:配置CLion用于STM32开发

挑选工具

一、环境类选择:
Java:jre-8u341-windows-x64(STM32CubeMX下载过有用的说明有java环境,不需要再安装了)
C环境:mingw64
arm-c环境:gcc-arm-none-eabi-9-2020-q2-update-win32: :gcc-arm不同版本下载 二、软件与小工具
CLion-2020.3.4
SetupSTM32CubeMX-6.5.0-Win
openocd-20211118:openocd 不同版本下载

所有包下载:
百度网盘:网盘地址 提取码: 7xfg
奶牛快传: Clion_STM32.zip ,或访问奶牛快传 cowtransfer.com 输入传输口令 zj8u6v 查看;

主要介绍关系

STM32157怎么运行OpenCV_串口

工具的安装及注意事项

环境类都需要添加环境变量(英文路径)还有openocd工具

注意:openocd路径名中不能有空格!!!

STM32157怎么运行OpenCV_stm32_02


剩下的两软件,百度安装。

STM32CubeMX需要下载自己需要的芯片库比较大,根据需求下就行。

STM32157怎么运行OpenCV_工具链_03


下载的本地地址可以选择:

STM32157怎么运行OpenCV_stm32_04

CLion配置(重要!)

打开设置 File–>Settings…(或快捷键Ctrl+Alt+s)

1.首先设置选择STM32CubeMX和openocd安装路径:

STM32157怎么运行OpenCV_串口_05

2.然后配置工具链添加c环境和gcc-arm:

STM32157怎么运行OpenCV_工具链_06


再默认工具链的基础上配置stm32的工具链:点击+选MinGW,从新命名为MinGW_STM

STM32157怎么运行OpenCV_STM32157怎么运行OpenCV_07


gcc-arm的debugger版本要能适配clion自带的cmake。最后点击CMake看看有没有对上:

STM32157怎么运行OpenCV_stm32_08


这样准备工作就好了。

创建

STM32157怎么运行OpenCV_STM32157怎么运行OpenCV_09


之后

STM32157怎么运行OpenCV_串口_10


然后确定

STM32157怎么运行OpenCV_工具链_11


STM32157怎么运行OpenCV_工具链_12


STM32157怎么运行OpenCV_stm32_13


之后的stm32cubemx芯片配置看大佬博客:STM32CubeMX教程二–基本使用(新建工程点亮LED灯) 最后的Project Manager设置不一样,工程IDW选SW4STM32

STM32157怎么运行OpenCV_stm32_14


有一个小warings,点yes就行:

STM32157怎么运行OpenCV_工具链_15

之后就生成stm32的hal库工程文件。

STM32157怎么运行OpenCV_单片机_16


点击锤子编译,就可以通过了。

STM32157怎么运行OpenCV_stm32_17


要下载到是stm32,还需要配置*.cfg文件

STM32157怎么运行OpenCV_stm32_18


取名随意:

STM32157怎么运行OpenCV_STM32157怎么运行OpenCV_19


里面写下载调试的配置信息:

我的是daplink,128k flash, 速度是10mhz。

(有关信息看第一个链接)

# choose st-link/j-link/dap-link etc.
adapter driver cmsis-dap
transport select swd

# 0x10000 = 64K Flash Size
set FLASH_SIZE 0x20000

source [find target/stm32f1x.cfg]

# download speed = 10MHz
adapter speed 10000

下一步:

STM32157怎么运行OpenCV_STM32157怎么运行OpenCV_20


STM32157怎么运行OpenCV_STM32157怎么运行OpenCV_21


然后点击下载:

STM32157怎么运行OpenCV_工具链_22


打开stm32cubemx,配置串口1:

STM32157怎么运行OpenCV_串口_23


然后加入 retarget文件

STM32157怎么运行OpenCV_单片机_24


在main.h 加入retaget头文件

STM32157怎么运行OpenCV_工具链_25


在main函数的初始化代码中添加对头文件的引用并注册重定向的串口号:

RetargetInit(&huart1);

然后就能愉快使用printf了。

char buf[100];

printf("\r\nYour name: ");
scanf("%s", buf);
printf("\r\nHello, %s!\r\n", buf);

 作者:稚晖君 https://www.bilibili.com/read/cv6308000 出处:bilibili

STM32157怎么运行OpenCV_工具链_26

调试

到此就应该可以使用openocd调试了,确保安装路径正确。调试上面的程序。
先安装一个clion的串口插件,这样就可以在clion中收发串口数据了。串口插件教程 还需要下stm32芯片的.svd硬件信息,这样就可以在clion调试是看到芯片硬件寄存器的实时变化值了。svd的使用下载教程

STM32157怎么运行OpenCV_STM32157怎么运行OpenCV_27


STM32157怎么运行OpenCV_STM32157怎么运行OpenCV_28


其他调试问题以后再此处总结。