基于Clion的STM32开发环境搭建及注意事项(现阶段最便捷可靠)

这篇具有很好参考价值的文章主要介绍了基于Clion的STM32开发环境搭建及注意事项(现阶段最便捷可靠)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

STM32的使用的比较多的IDE是MDK,其拥有强大的调试功能,但由于MDK的代码补全功能及其难用,以及调试功能全英文界面入门门槛较高,先推荐一套无比好用的STM32开发环境——Clion。基于Clion强大的代码补全、各种多样化的功能、插件以及调试功能,可以让开发者在开发STM32的过程比传统的MDK舒适许多。本文就野生钢铁侠稚晖君在某乎上发布的教程加以改进推出现阶段最合适的环境搭建教程。

一、软件及工具链下载及环境准备

工具下载

OpenOCD(https://gnutoolchains.com/arm-eabi/openocd/)

Clion(https://www.jetbrains.com/clion/)

Stm32CubeMx(www.st.com/stm32cubemx)

arm-gcc(https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads)

新版本Clion捆绑CMake和MinGW,无需另外下载。

以下为本人验证可用的工具链(arm-gcc OpenOCD)下载连接:

链接: https://pan.baidu.com/s/1nMgDniFVBacFf7Br12-ang?pwd=dmki 
提取码: dmki

鉴于做STM32开发和学习的同学都使用过MDK和STM32Cube等开发环境进行开发,Clion和stm32cubemx自行下载,不作教学

注:Clion安装选项建议此页全勾选
clion stm32,stm32,单片机,嵌入式硬件

工具链存放

将工具链(arm-gcc和openocd)复制在一个全英文目录下
建议放在根目录或新建一个单独的纯英文无空格文件夹,如下:
clion stm32,stm32,单片机,嵌入式硬件

设置环境变量

将 \OpenOCD\bin 与 \gcc-arm-none-eabi\bin 的绝对地址放入Path环境变量,步骤如下:
桌面右键此电脑->属性->高级系统设置->环境变量->系统变量中的Path:
clion stm32,stm32,单片机,嵌入式硬件

双击Path后将上述两个路径添加进Path环境变量中:

clion stm32,stm32,单片机,嵌入式硬件

重启电脑,使环境变量生效

二、Clion配置

由于Clion为付费软件,免费试用30天,可自寻和谐包,同时可从Jetbrains官网(https://www.jetbrains.com.cn)认证学生信息下载教育版。

建议在plugins界面下载中文语言包(凭个人习惯下载)

clion stm32,stm32,单片机,嵌入式硬件

CubeMx生成工程

在MCU的配置上与其他IDE开发无异,重点在于工程IDE的选择上,其他教程大多选择的是SW4STM32,而在STM32CubeMX 5.5.1版本起,官方已经取消了这个IDE的选项,为了能够使用最新版本的CubeMX进行开发,这里可以选择STM32CubeIDE作为IDE生成模板工程:

clion stm32,stm32,单片机,嵌入式硬件

打开工程的方式
1.在clion中直接打开

在clion中点击打开,选中CubeMX生成的.ioc文件或直接选中工程文件夹(建议选中工程文件夹打开):
clion stm32,stm32,单片机,嵌入式硬件
clion stm32,stm32,单片机,嵌入式硬件

2.在文件夹中以项目形式打开

在生成的项目的文件夹中在空白部分右键,选择以项目形式打开:
clion stm32,stm32,单片机,嵌入式硬件

两种方式都可以直接打开工程

工具链设置

打开:文件/设置/构建、执行、部署/工具链,新建一个新的MinGW配置

clion stm32,stm32,单片机,嵌入式硬件

将新建的配置命名为STM32(可自定义名字),设置C编译器和C++编译器:

找到arm-gcc编译器的目录的bin下找到arm-none-eabi-gcc.exe和arm-none-eabi-g++.exe,设置完毕后点击应用。

clion stm32,stm32,单片机,嵌入式硬件

调试器及CubeMX路径设置

打开:文件/设置/构建、执行、部署/嵌入式开发,在填入OpenOCD和STM32CubeMX的安装路径,设置完毕后点击测试,显示绿色即为可用。

clion stm32,stm32,单片机,嵌入式硬件
clion stm32,stm32,单片机,嵌入式硬件

CMake属性设置

文件/设置/构建、执行、部署/Cmake,在工具链选项选择刚刚设置好的STM32工具链,并勾选自动重建CMake:

clion stm32,stm32,单片机,嵌入式硬件

加载CMake

CMake全部配置完成之后返回主界面,在左侧菜单中右键并点击重新加载CMake,即可实现工程构建:

clion stm32,stm32,单片机,嵌入式硬件

点击右上角的一个小锤子图标,即可实现编译:

clion stm32,stm32,单片机,嵌入式硬件

面板配置文件选择

在工程初次打开的时候可以选择,也可先跳过等需要的时候在选择,这里选择复制到项目并使用

clion stm32,stm32,单片机,嵌入式硬件

如果在第一次打开错过,可以在CMake加载完毕后点击截面右上角的调试选项框,打开编辑选项:

clion stm32,stm32,单片机,嵌入式硬件

在“协助”下重新选择:

clion stm32,stm32,单片机,嵌入式硬件

使用介绍:

右上角三个按钮一次为编译、下载/运行、调试,为最基础的功能实现:

clion stm32,stm32,单片机,嵌入式硬件

三、省力技巧

自定义面板文件

由于OpenOCD提供的开发板配置文件兼容信差,这里以STM32F1,调试器以CMSIS-DAP和STLINK为例自定义配置文件。步骤如下

(1)打开OpenOCD面板配置文件目录,并新建一个新的cfg文件

目录为 \OpenOCD\share\openocd\scripts\board ,新建txt文件并将后缀改为cfg:

clion stm32,stm32,单片机,嵌入式硬件

(2)添加配置文件内容

以记事本打开该cfg文件,将以下代码添加并保存:

# daplink将下面两行取消注释
# adapter driver cmsis-dap
# transport select swd

# stlink将下面两行取消注释
#source [find interface/stlink.cfg]
#transport select hla_swd

#这里选择芯片型号,更改.cfg之前文件名即可
source [find target/stm32f1x.cfg]

# reset_config none
(3)使用配置文件

在添加面板文件的时候就可以使用自己配置的文件:

clion stm32,stm32,单片机,嵌入式硬件

头、源文件路径添加

(1)将驱动程序放入工程文件夹中

由于clion与MDK不同,不能直接配置头文件路径,在此有一种比较适合的方法,以添加OLED驱动程序为例,将OLED驱动放在单独的文件夹中

clion stm32,stm32,单片机,嵌入式硬件

(2)编辑CMake模板文件

打开CMakeLists_template.txt文件,找到include_directories(${includes} )和file(GLOB_RECURSE SOURCES ${sources} )所在行,将文件夹的路径(推荐相对路径)加入括号末端:

其中include_directories为头文件路径

file(GLOB_RECURSE SOURCES ${sources} )为源文件路径

clion stm32,stm32,单片机,嵌入式硬件

(3)更新工程

保存后右键CMakeLists_template.txt文件,选择使用STM32CubeMX更新CMake项目,完成源文件和头文件的路径添加。

clion stm32,stm32,单片机,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-686052.html

到了这里,关于基于Clion的STM32开发环境搭建及注意事项(现阶段最便捷可靠)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 记录:clion上开发stm32 环境配置(保姆级详细教程)----->2023_7_1

    clion _______百度网盘下载链接-------提取码:166b 注 :此链接clion是破解版的,下载无需安装,解压完了先运行主目录里的绿化脚本,然后再打开bin文件夹里的clion。 OpenOCD ______直达链接 或 首页地址 MingW ______直达链接 或 首页地址 arm-none-eabi-gcc ______直达链接 或 首页地址 STM32CubeMX ____

    2024年02月07日
    浏览(38)
  • STM32使用printf函数的步骤和注意事项

    1,在KEIL中勾选 Use MicroLIB . 即使用微库. 2, 在代码中添加 如下代码 (目的是为了调用stdio库中的print 函数) 3,在uart.c 填加如下代码 (目的是为了重定向 stdio库中的print 函数 ) 1, 在代码中添加 如下代码 (目的是为了调用stdio库中的print 函数) 2, 关闭半主机模式,并重定向printf 想要明白

    2023年04月08日
    浏览(44)
  • STM32使用STM32CUBEMX配置FreeRTOS+SDIO4bit+FATFS注意事项

    以STM32F429为例: 1、SDIO配置 配置为4bit模式,此配置不是最终配置,后面会在代码进行修改。 2、Fatfs配置 Set Defines 选项中的配置可以默认,最重要注意Advanced Setting 选择中的配置,如下 该界面配置默认Use dma template是默认使能的 ,并且不可以选择,只能选择使能,所以需要使

    2024年02月11日
    浏览(47)
  • STM32H723配置以太网+Freertos注意事项

    由于STM32H743涨价到300元以上,项目换用了Pin2Pin替换的STM32H723,看上去cpu运行速度快了20%达到550Mhz。 但是内存布局存在很大不一样,而且ST官方代码库升级迭代快,要手动修改地方每个版本不一样,在有H743的经验下,花了2天时间搞好了记录一下。很多信息来源于英文ST支持论

    2023年04月18日
    浏览(30)
  • STM32cubeMX配置工程(全过程+修改MCU方法+注意事项)

    1.修改默认的固件包下载路径,避免占用C盘空间 2、选择ACCESS TO MCU 3、在跳出的界面中的Part Number中搜索对应的芯片型号 4、选好后在右下角双击对应的芯片,然后跳出配置界面 左边可以配置外设,右边可以配置每个IO口的功能 System Core包括GPIO、RCC时钟、看门狗、DMA等系统外设

    2024年02月17日
    浏览(43)
  • STM32:利用PWM波控制飞盈电调过程和注意事项

    在进行模型控制的过程中,如四旋翼无人机等,需要用到电机,这些电机需要通过电调来控制电机的转速。在电调模块中带有的说明书一般都是利用遥控器进行控制,有些情况需要自己通过信号控制电调,而非遥控器,这个时候需要用到单片机生成PWM波。 电调的型号和种类繁

    2024年02月16日
    浏览(26)
  • 详细stm32驱动SDRAM的注意事项以及在keil中的使用

    容量:SDRAM的容量是指其可以存储的数据量,通常以兆字节(MB)或千兆字节(GB)为单位。 时钟频率:SDRAM的时钟频率指的是其内部时钟的速度,通常以兆赫(MHz)为单位。时钟频率越高,SDRAM的数据传输速度越快。 CAS延迟:CAS延迟是指SDRAM在接收到读取请求后,需要多长时

    2024年02月10日
    浏览(30)
  • 【STM32备忘录】【STM32WB系列的BLE低功耗蓝牙】一、测试广播配置搜不到信号的注意事项

    WB系列是双核单片机,用户写M4,无线协议栈使用M0 新买到手的单片机,需要自己刷入使用的无线协议栈 刷入无线协议栈的途径是通过一个叫FUS的东东,类似于bootloader,这个FUS新买的芯片通常已经刷好,但版本不一定是最新的(如果没有需要自己刷入) 刷入FUS和无线协议栈需要

    2024年03月16日
    浏览(42)
  • 【正点原子STM32】认识HAL库(CMSIS、STM32Cube固件包、HAL库框架结构、使用HAL库、注意事项)

    一、初识HAL库 1.1、CMSIS简介 1.2、HAL库简介 二、STM32Cube固件包浅析 2.1、如何获取STM32Cube固件包? 2.2、STM32Cube固件包文件夹简介 2.3、CMSIS文件夹关键文件 三、HAL库框架结构 3.1、HAL库文件夹结构 3.2、HAL库文件介绍 3.3、HAL库API函数和变量命名规则 四、如何使用HAL库 4.1、基于CM

    2024年02月21日
    浏览(35)
  • STM32+Clion多线程开发

    目录 创建多线程 freertos.c main.cpp main_app.h 二值信号量 相关API介绍 (1) osSemaphoreCreate (2)osSemaphoreDelete (3)osSemaphoreRelease (4)osSemaphoreWait 实际使用 创建信号量(freertos.c) 在头文件中外部引用(freertos_inc.h) main.c 关于clion使用printf,参考【教程】手把手教你用Clion进行STM32开

    2024年03月15日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包