[应用相关] 使用clion开发STM32——点一个LED

[复制链接]
1528|2
 楼主| tpgf 发表于 2024-4-19 09:31 | 显示全部楼层 |阅读模式
需安装
Clion
STM32CubeMX
MinGW(编译)
gcc-arm-none-eabi(交叉编译)
OpenOCD(下载调试)
cmake
(默认都已安装且添加环境变量)

我使用的芯片:STM32H743VIT6
因为我手里没有Jlink,所以我使用的是STlink-v2。
如果使用Jlink的话可以选择不使用OpenOCD。

Clion配置

479246621c8b554116.png

这里MinGW我使用的Clion自带的,使用自己安装的也可以。

595446621c8bc3c5bc.png

302156621c8c1e6bed.png

OK,那我们接下来点亮一颗灯

新建项目

210276621c8ca8950b.png

然后打开

913786621c8d16740a.png

更换芯片型号,我这里使用的芯片是STM32H743VIT6

964176621c8d75d8cf.png

746166621c8dc396e3.png


设置时钟树

384836621c8e58014d.png

启用SWD调试接口

661026621c8ec3564f.png

做一个简单的操作,点亮一颗LED开始。
设置GPIO

600976621c8f2de255.png

生成代码

220816621c8fa57bdf.png

回到Clion,这里先跳过

218746621c9023a149.png

我这里编译报错non constant or forward reference address expression for section .ARM.extab
原因:最新的 STM32CubeMx 生成的 .ld 文件中含有 READONLY 关键字,此关键字只能在 gcc 11 版本及以后使用,gcc 10及以下版本解析不了报错
解决办法参考https://www.cnblogs.com/XuYuFan/p/18094079
删除掉READONLY
编译成功

742586621c9091ef7c.png

在main中写一个简单的点灯程序

911396621c91095ee9.png

烧录
在工程根目录下,新建一个文件夹

195966621c9174d577.png

56626621c91e017f9.png

# choose st-link/j-link/dap-link etc.
#adapter driver cmsis-dap
#transport select swd
#source [find interface/stlink.cfg]
source [find interface/stlink-v2.cfg]
transport select hla_swd
source [find target/stm32h7x.cfg]
# download speed = 10MHz
adapter speed 10000


配置OpenOCD

146616621c92867f0c.png

37316621c93049209.png

烧录成功

819406621c9379a897.png

OK!现在板子上的LED已经开始闪烁啦
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/rerrick_rose/article/details/137739543

yutingwei 发表于 2024-8-31 22:32 | 显示全部楼层
通过 STM32CubeMX 和 OpenOCD 配置和下载程序以点亮 STM32H743VIT6 芯片上的 LED。
yutingwei 发表于 2024-8-31 22:33 | 显示全部楼层

通过 STM32CubeMX 配置项目并生成代码,使用 CLion 进行开发和编译,最后通过 OpenOCD 下载程序,你可以成功地在 STM32H743VIT6 芯片上点亮 LED。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2384

主题

17636

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部