当前位置: 首页 > article >正文

CLion社区免费后,使用CLion开发STM32相关工具资源汇总与入门教程

Clion下载与配置

Clion推出社区免费,就是需要注册一个账号使用,大家就不用去找破解版版本了,jetbrains家的IDEA用过的都说好,这里嵌入式领域也推荐使用。
在这里插入图片描述
CLion官网下载地址
安装没有什么特别,下一步就好。
启动登录账号,选择社区免费即可。
创建一个项目,这里选择STM32CubeMX选项,如下图
在这里插入图片描述
这里需要3个工具依赖,地址都放好了,方便大家下载。
Stm32CLT下载
Stm32CubeMX下载
OpenOCD下载
下载完成后,选择相应路径就好了。
根据CLion给的注释可以很容易的创建一个项目。
在这里插入图片描述
注意项目路径和项目名称要保持一致。
这里我是用一个串口调试工程来验证。
开启SW调试:
在这里插入图片描述

开启串口:
在这里插入图片描述
这里加入printf重定向代码,方便后面打印

#ifdef __GNUC__
/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printfset to 'Yes') calls __io_putchar() */
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ *//*** @brief  Retargets the C library printf function to the USART.* @param  None* @retval None*/
PUTCHAR_PROTOTYPE
{HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, HAL_MAX_DELAY);return ch;
}

时钟配置:
在这里插入图片描述
生成代码:
在这里插入图片描述

编译与运行

项目创建完成后,需要进行下一步的配置,这里配置不复杂。
这里先配置CMake相关。
在这里插入图片描述
选择Debug和Release都启用。
在这里插入图片描述
点击Build按钮,进行编译在这里插入图片描述
在这里插入图片描述
编译成功后,如何下载呢,这里需要配置OpenOCD,这里我使用的是STLink下载器,其他的也都类似。打开配置页
在这里插入图片描述
新建一个OpenOCD的配置项,这一步是为了配置下载器相关的参数
在这里插入图片描述

在这里插入图片描述
点辅助可以读取预设的模板文件,这里我用的stm32h743,所以我选择一个近似的cfg文件,复制到项目中。
在这里插入图片描述
文件内容:
把最后一行删除,重启这里有点问题
在这里插入图片描述
这时选择选择新建的OCD配置项,点击绿色运行按钮即可下载。
在这里插入图片描述
下载完成
在这里插入图片描述

Debug模式

调试模式下,是用debug按钮,进入断点调试,
在这里插入图片描述
这里可以查看调用栈,变量等信息。
在这里插入图片描述
外设这里也可以看到每一个寄存器的信息,很方便。
在这里插入图片描述第一次打开,由于没有关联SVD文件,会提示你加载一下SVD文件,这里找到STM32CubeCLT_1.18.0的安装目录,然后找到MCU对应的SVD文件即可。
在这里插入图片描述

http://www.lryc.cn/news/2403937.html

相关文章:

  • 第21讲、Odoo 18 配置机制详解
  • LinkedList、Vector、Set
  • SQL 基础入门
  • GitHub 趋势日报 (2025年06月05日)
  • 基于Flask框架的前后端分离项目开发流程是怎样的?
  • Delphi SetFileSecurity 设置安全描述符
  • rec_pphgnetv2完整代码学习(二)
  • 【计算机网络】Linux下简单的TCP服务器(超详细)
  • go中的接口返回设计思想
  • 最新Spring Security实战教程(十七)企业级安全方案设计 - 多因素认证(MFA)实现
  • html+css+js趣味小游戏~Cookie Clicker放置休闲(附源码)
  • 宝塔面板安装nodejs后,通过node -v获取不到版本号,报错node: command not found
  • SDC命令详解:使用set_propagated_clock命令进行约束
  • win32相关(消息Hook)
  • vue3单独封装表单校验函数
  • mysql 页的理解和实际分析
  • 分享一道力扣
  • 青少年编程与数学 01-011 系统软件简介 06 Android操作系统
  • 构建 MCP 服务器:第 2 部分 — 使用资源模板扩展资源
  • 【算法设计与分析】实验——汽车加油问题, 删数问题(算法实现:代码,测试用例,结果分析,算法思路分析,总结)
  • Ubuntu2404 下搭建 Zephyr 开发环境
  • 现代C++特性(一):基本数据类型扩展
  • 【C++进阶篇】C++11新特性(下篇)
  • 全生命周期的智慧城市管理
  • echarts柱状图实现动态展示时报错
  • Redis故障转移
  • STM32学习笔记:定时器(TIM)原理与应用(详解篇)
  • JAVA获取ES连接并查询所有数据
  • 408第一季 - 数据结构 - 线性表
  • 第23讲、Odoo18 邮件系统整体架构