Hi,我是嘉赫。

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

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

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

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

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

软件 版本
CLion 2021.3.4
STM32CubeMX 6.5.0
JLink Driver Pack V7.22a
ARM GCC gcc-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开始配置HAL工程。只需要点击右侧的链接打开STM32CudeMX。需要注意的是,在第一次配置好STM32CubeMX工程并生成代码前不要尝试做后面的配置,会让你质疑人生的。

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

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

打开首选项(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是通过socket通信的,在本地创建了一个TCP服务器,默认用2331端口。所以是tcl:localhost:2331

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

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

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

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

晚安各位。

CLion配置STM32开发环境(JLink GDB Server)相关推荐

  1. clion安装glfw_MacOS上使用Clion配置Vulkan开发环境

    前言 学习图形学编程的时候,其实在MacOS的编程环境默认都是用Xcode,Windows又经常用Visual Studio.但是因为我经常要在Windows 和 MacOS上切换编程,偶尔还得跑到U ...

  2. STM32开发 | Clion搭建STM32开发环境

    目录 前言 1.软件以及所需工具 2.添加到环境变量 1) 将 MinGW.OpenOCD 以及 arm-none-eabi-gcc 文件夹下的 bin 文件添加到系统环境变量中. 2) 测试是否添加 ...

  3. 配置clion用于stm32开发

    配置clion用于stm32开发 以stm32f103ZET6为例 2022.4.8更新(解决了OCD无法调试的问题) 之前配置完环境后,就只是实验了一下烧录的功能,一直没有尝试使用ocd的调试功能. ...

  4. STM32串口通信中使用printf发送数据配置方法 开发环境 Keil

    STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) 已有 12456 次阅读2011-6-29 23:29 | 在STM32串口通信程序中使用printf发送数据, ...

  5. Linux下STM32开发环境的搭建

    目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...

  6. VS Code 搭建stm32开发环境

    MCU免费开发环境 一般芯片厂家会提供各种开发IDE方案,通常其中就包括其自家的集成IDE,如: 意法半导体 STM32CubeIDE NXP Codewarrior TI CCS 另外也可以用ecl ...

  7. arm调试java_使用J-Link GDB Server + Eclipse CDT进行ARM程序调试

    之前我预告过这篇文章,这段时间以来,我工作一直比较忙,而且在装修我的小破窝,生活的压力让我把业余的时间都贡献给奥山战场了,我的小牧师,杀人很慢,被杀倒是挺速度的,呵呵:想当年上学的时候,我也是副本RL ...

  8. VSCode搭建ARM(STM32开发环境)

    目录 需要用到的工具 软件安装 下载安装 Visual Studio Code 下载安装 STM32Cubemx 下载安装 ARM GCC交叉编译工具链 下载安装 Msys2 下载安装 OpenOCD ...

  9. ubuntu linux下建立stm32开发环境: 程序烧录 openocd+openjtag

    原文出处: http://blog.csdn.net/embbnux/article/details/17619621 之前建立stm32开发环境,程序也已经编译好生成main.bin,接下来就是要把 ...

最新文章

  1. C++数组名做函数形参/指针
  2. 检查一棵二叉树是否为二叉查找树
  3. delegate的使用总结
  4. Qt修炼手册12_线程同步与线程等待条件
  5. 从网页(WEB)登录SAP
  6. 主成分分析PCA以及特征值和特征向量的意义
  7. transform再次理解
  8. 在HTML5中,用getCurrentPosition()获取用户的当前位置
  9. 19电子设计速成实战宝典pdf_开发宝典丛书:Visual C++编程实战宝典PDF
  10. 让菜鸟飞上天,简单搞定linux服务器
  11. 淘宝最新签名算法分析(1)
  12. Cgroup框架分析
  13. HTML5+CSS3+Bootstrap开发静态页面嵌入android webview中
  14. w ndows7如何清理垃圾,Win7系统垃圾一键清理工具 一键清除windows7系统垃圾文件
  15. protues 51单片机仿真电路图及代码
  16. Python字符串:isspace、istitle、isupper、islower
  17. IDEA项目上传码云报错:Push rejected: Push to origin/master was rejected
  18. 谷歌服务组件安装简介
  19. 小马哥----高仿苹果5se 机型界面图面面观,低配机型 谨防假冒
  20. stat() /root/xxx/index.html failed (13: Permission denied)

热门文章

  1. [基础]-向量点乘和叉乘
  2. 史上最小白之BM25详解与实现
  3. 百度图片推广广告位怎么做,图片广告位如何投放
  4. LINUX中的七种文件类型
  5. conda创建环境报错conda.core.subdir_data.Response304ContentUnchanged
  6. 李炎恢bootstrap做轮播器的方法与思路
  7. 带视频教程|2.0升级版源码价值18500元的商业版游戏陪玩语音聊天系统源码
  8. Java并发Future
  9. [Tensorflow]关于TFRecord和tf.Example的使用
  10. 简单计算器(PTA)