IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> CLion配置STM32开发环境(JLink GDB Server) -> 正文阅读

[嵌入式]CLion配置STM32开发环境(JLink GDB Server)

Hi,我是嘉赫。

终于忍受不了Keil了,需要换一个Windows和Mac通用的STM32开发环境。

其实早就受不了Keil了,虽然各路大佬都有很多其他IDE的环境配置,但是总觉得差强人意。现在终于发掘出一个能让自己满意的环境。

本文要介绍的是基于CLion、STM32CubeMX、Jlink的STM32开发环境,为什么要强调JLink这个调试器呢,因为目前来看,无论是市面上在售的各种调试器,还是各路神仙自制的DAPLink,都难以和JLink的简单而强大相媲美。JLink仍然是最优秀的调试器之一。

CLion

JetBrain系的CLion集大成于一身,功能强大,插件丰富,当然好看也是选择的重点之一。STM32CubeMX也是简单易用,生成HAL工程非常便捷。所以这套环境完美适合各路颜狗、懒狗、菜狗。

在写这篇文章的时候正在配置Mac上的开发环境,所以环境都是基于Mac的,Windows实际上没什么差异,需要的宝宝自己研究研究,仅供参考。软件版本差异不大的都适用,不用专门找我的版本。

软件版本
CLion2021.3.4
STM32CubeMX6.5.0
JLink Driver PackV7.22a
ARM GCCgcc-arm-none-eabi-10.3-2021.10

软件安装省略,都没什么坑,只说一嘴gcc。gcc可以选pkg安装也可以选tar包,tar包不需要安装,只要解压出来放在一个好找的位置就行,但是没有签名,系统可能报运行警告,百度一下关了就行。不管怎样都要知道路径在哪,pkg装完在user目录。

随后将gcc-arm扔进环境变量PATH,不然一会儿CMake找不着,在用户目录下创建文本文件.zshrc,如果有这个文件就在后面追加,填入以下内容保存(把里面的GCC_ARM路径换成你自己的路径)。

export GCC_ARM="/Users/larry/gcc-arm-none-eabi-10.3-2021.10"
export PATH="$GCC_ARM/bin:$PATH"

首先CLion是原生支持STM32CubeMX的,在创建CLion工程时直接选择STM32CubeMX就好。
基于STM32CubeMX创建工程

创建好空白工程后开始使用STM32CubeMX开始配置HAL工程。只需要点击右侧的链接打开STM32CudeMX。需要注意的是,在第一次配置好STM32CubeMX工程并生成代码前不要尝试做后面的配置,会让你质疑人生的。

点击右侧链接拉起STM32CubeMX

这里我就配置一个简单的STM32F103VET6闪烁的工程做个测试,在生成Code时注意工程名和路径都要和刚刚创建的CLion工程保持完全一致,工具链要选SW4STM32不然后面CMake会懵逼。

配置一个GPIO点亮LED

注意工程名、路径和工具链

最后点击右上角生成Code即可,在生成结束后弹出的窗口中不要打开工程,CLion里面会自动解析。此时解析成功与否还不重要,因为还没有配置工具链,所以失败了也不要慌。

会自动配置CMake

打开首选项(Preference)的Build, Execution, Deployment里的Toolchains配置一个新的工具链,GCC和G++填入上面的ARM GCC路径,选择对应的可执行文件。注意Make和GDB不要选择ARM GCC里的,后面可能出问题,用默认的就好。

我的有个警告,但是测试没有问题

此时就差一步了,就是接入JLink。刚创建好的工程默认使用的是OpenOCD,我们要换成JLink GDB Server。打开运行、调试配置页面,新建一个配置,选择Embedded GDB Server,照着下图配置。

添加JLink GDB Server

这里面的参数大致一看就知道是什么意思,其他JLink GDB Server的参数看看文档吧,这几个就够了。JLink GDB Server是通过socket通信的,在本地创建了一个TCP服务器,默认用2331端口。所以是tcl:localhost:2331

然后就可以在main.c里面写点测试代码了,这里修改下CLion的Inspections,把死循环的检测去掉,嵌入式开发里死循环很正常。

关闭死循环的警告

这样配置就完成了,接上板子试一下。

断点、变量值、单步调试都很齐全

这篇文章借鉴了稚晖君的配置流程,加入了JLink GDB Server的配置,并且移到了mac上。

另外我们学校的edu邮箱账号居然我毕业了还保留着,正好白嫖JetBrain全家桶,如果停了还可以白嫖女朋友的,美滋滋。

晚安各位。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:27:28  更:2022-04-04 12:30:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:23:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码