基于Clion IDE + STM32CubeMX搭建STM32开发环境(详细介绍搭建过程)_ide调用cubemx-程序员宅基地

技术标签: # STM32  

目录

 概述      

一、环境配置:

1、下载交叉编译环境gcc-arm-none-eabi。点击下载

2、下载编译器,因为我们所写的代码是C/C++,需要下载MinGW点击下载

3、调试工具OpenOCD(用来调试JLINK 或者STLINK 或者其他)点击下载

4、下载STM32CubeMX驱动代码生成工具。点击下载

5、下载Clion点击下载

二、开发步骤

1、STM32CubeMX配置基础工程代码

2、Clion IDE 配置与编译

3、完成并调试

4、总结


 概述      

       由于本人之前开发过一段时间Android,一直想使用Jetbrains家族里面其中一款开发工具来开发STM32,是否能像开发Android、Java、前端他们那样,达到敏捷开发效果呢?当然是有的了。该款IDE那就是Clion,很好用,说到这,当然网上也有一款Code IDE同样很受欢迎,它就是Visual Studio Code IDE ^_^,网上也有教大家搭建开发STM32或者其它的ARM系列的开发环境,这篇文章只讲解基于Clion IDE搭建STM32开发环境,有时间,可能会写一篇基于Visual Studio IDE搭建STM32开发环境。好了,废话有点多,进入正题。^_^

一、环境配置:

1、下载交叉编译环境gcc-arm-none-eabi。点击下载

      下载最新的版本(注:下载时要根据自己PC端,下载对应的gcc即可)

      如我的PC环境是win10系统,选择第一个即可。

 2、下载编译器,因为我们所写的代码是C/C++,需要下载MinGW点击下载

     

      

      

      

      

      

    MinGW安装完成。

3、调试工具OpenOCD(用来调试JLINK 或者STLINK 或者其他)点击下载

    下载最新版本

     

4、下载STM32CubeMX驱动代码生成工具。点击下载

    下载时,官网会提示你要注册一个账号,才可下载。该工具是基于JAVA语言开发的,所以还要下载

    JRE,安装JAVA开发环境。 点击下载,下载最新即可。

5、下载Clion点击下载

    下载最新版本,安装即可。

 

以上所有步骤操作完后,就可以开发了。

下载完后的所有安装包如下所示:

二、开发步骤

1、STM32CubeMX配置基础工程代码

  (注:这里是基于STM32L051C8T6这款芯片生成代码,其它款芯片看官根据自己的需要选型即可。)

2、Clion IDE 配置与编译

(注:安装步骤很简单,各位看官自行去百度搜索一些安装步骤操作即可。)

哈哈,此时看到这个页面是不是觉得很高逼格,现在我们也能像开发纯软的攻城狮一样的环境下开发项目啦!是不是很爽呢?

刚刚安装的MinGW默认是安装在C盘,找到路径即可。

此时,回到安装完Clion,打开界面,选择Open选项,打开STM32CubeMX所生成工程代码即可。

自动识别芯片型号.cfg文件

(注:这里一般选择Clion自动识别的.cfg文件很少会出现代码下载成功的,所以需要自创一个.cfg文件,下面会有讲解)

3、完成并调试

    1)由于OpenOCD现目前支持ST-Link工具调试,所以使用JLink的盆友,需要自行去找资料,修改.cfg文件的内容了。

    2)此时,下载代码到板子上,会出现如下错误。

     Error: timed out while waiting for target halted embedded:startup.tcl:439: Error: ** Unable to reset target **

    3)所以,要自创一个.cfg文件,修改里面的内容即可。

    4)找到OpenOCD解压的路径中找到,我的存放的路径是如:

         D:\OpenOCD-20200310-0.10.0\share\openocd\scripts\board

    5)复制一份stm32l0discovery.cfg,修改文件名为:stm32l0discovery_stlink_v2.cfg,并使用记事本或者其它第三编辑

   工具打开,修改里面的内容

   原始内容

   

  修改后内容

   

   

   

   

   4、总结


   介绍完毕,以后可以使用Clion IDE开发程序了,只是不足的地方就是不能查看寄存器,也可能是我没有发现这个功能吧,如有知道这个功能的看官,请告知一声,一起学习,共同进步。

   代码下载链接

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36075612/article/details/104995147

智能推荐

java秒转换为年月日_SimpleDateFormat将月/日/年 时分秒转换为年-月-日 时:分:秒-程序员宅基地

文章浏览阅读7.9k次。String expirTime = ”12 / 27 / 2018 12: 00: 00 AM”;SimpleDateFormat in = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss");SimpleDateFormat out = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");try {idpData.setE..._simpledateformat 修改时分秒

经历印度一年中最严重的空气污染是种什么体验? | 经济学人全球早报精选-程序员宅基地

文章浏览阅读208次。文 / 王不留(微信公众号:考研英语笔记)2021年11月4号的清晨,来杯“经济学人浓香咖啡”,提神解困。Hold your breath: air pollution in IndiaOn Wednesday Delhi sucks in a last gasp of cleanish air before Diwali begins the following day. For many Hindus this holiday is the most joyous: it

SQL: "IN" Function_"in function\"phi"-程序员宅基地

文章浏览阅读7.8k次。 SQL: "IN" FunctionThe IN function helps reduce the need to use multiple OR conditions.译:IN函数有助于减少OR条件的复合使用。The syntax for the IN function is:译:IN函数的语法:SELECT columnsFROM tablesWHERE col_"in function\"phi"

【每日蓝桥】36、一六年省赛Java组真题“凑算式”_凑算式解题思路-程序员宅基地

文章浏览阅读2.5k次,点赞28次,收藏3次。你好呀,我是灰小猿,一个超会写bug的程序猿!欢迎大家关注我的专栏“每日蓝桥”,该专栏的主要作用是和大家分享近几年蓝桥杯省赛及决赛等真题,解析其中存在的算法思想、数据结构等内容,帮助大家学习到更多的知识和技术!标题:凑算式解题思路:本题的求解思路是:首先应该对1~9这9个数进行全排列,排列之后数组中的数字安装题目要求分割,这个时候我们要注意的是:得到的三个数据都是分数,且分母不相同,这个时候我们就需要对数据进行同分,得到分母一样的三个数字,之后再对这三个数字相加,判断得到的分子是否_凑算式解题思路

完美解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)_error 1045 (28000): access denied for user 'root'@-程序员宅基地

文章浏览阅读6.4w次,点赞208次,收藏219次。对于出现"ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)"的问题,一般是由于MySQL的访问权限配置问题导致的。_error 1045 (28000): access denied for user 'root'@'localhost' (using passwor

【Latex】PPT画图并插入图片_latex插入emf图片-程序员宅基地

文章浏览阅读2.8k次,点赞4次,收藏10次。引言图片是几乎所有SCI等学术论文的标配,同时也是影响论文接受的重要因素之一。本文将介绍制作符合Latex要求的图片和引入图片的流程。利用PPT制作图片PPT是迄今为止最好的、最强大的画图工具,直接利用PPT自带的图形工具即可完成图形制作;完成后,ctrl + A 全选所有的控件;单击右键选择“另存为”;注意保存类型选择为"*.emf"格式;注意:WPS的ppt不支持该格式,只能使用office软件。制作EPS图片打开word软件,菜单项“插入”,选择刚才制作完成的emf图片;保_latex插入emf图片

随便推点

pikachu练习——sql注入_手工注入完成“sql注入”下的“get型”,得到所有账号的明文口令-程序员宅基地

文章浏览阅读2.1k次。一、字符型注入(get)(1)随便输入name,获取url:因pikachu登录需要用户名及密码,所以查询网页cookie绕过:(2)使用sqlmap查找该网站数据库:python sqlmap.py -u "http://127.0.0.1:8083/vul/sqli/sqli_str.php?name=123&submit=查询" --cookie="PHPSESSID=plhm5hfit589nq6h01tiq4u3f3; security=low" --dbs --_手工注入完成“sql注入”下的“get型”,得到所有账号的明文口令

win10安装与破解loadrunner一系列问题-程序员宅基地

文章浏览阅读1.1w次。我在安装和破解loadrunner11的过程中,遇到主要三个问题:1.安装.netframework3.52.deletelicense.exe运行之后提示 failed3.以管理员身份运行提示受阻

从mediaserver入手学习快速理解binder机制_mediaserver手动起-程序员宅基地

文章浏览阅读1.9k次,点赞3次,收藏2次。(一) 概述 android的binder机制提供一种进程间通信的方法,使一个进程可以以类似远程过程调用的形式调用另一个进程所提供的功能。binder机制在Java环境和C/C++环境都有提供。 android的代码中,与C/C++的binder包括一些类型和接口的定义和实现,相关的代码在下面这几个文件中: frameworks\base\include\uti_mediaserver手动起

取模运算优化超级算法_取模优化 acm-程序员宅基地

文章浏览阅读5.4k次,点赞10次,收藏2次。【代码】取模运算优化超级算法。_取模优化 acm

高斯混合模型的实现(EM算法)_c# 高斯混合模型-程序员宅基地

文章浏览阅读310次。Input:观测数据Xn×dX_{n\times d}Xn×d​, 类别数ccc, 迭代停止条件 toltoltolOutput: 模型参数(pic×1pi_{c\times 1}pic×1​, muc×dmu_{c\times d}muc×d​, sigmac×d×dsigma_{c\times d\times d}sigmac×d×d​ )“”"ccc:类别数nnn:数据总数ddd..._c# 高斯混合模型

KNN(K近邻算法) 实现非侵入式电荷复杂分解(NILM)_nilm算法 arduino-程序员宅基地

文章浏览阅读4.1k次,点赞2次,收藏41次。首先介绍以下KNN算法,KNN算法的全称是K近邻算法,基本的算法按流程就是: 1. 计算测试集中的样本到训练集中每个样本的距离 2. 对计算得到的距离进行排序 3. 选取和当前的测试样本距离最近的K个训练样本,作为这个测试样本的K个最近的邻居 4. 统计k个邻居的类别的概率 5. K个邻居里面所属的类别概率最高的即为该测试样本的类别上面的是用KNN来做分类的算法流程,从上面的..._nilm算法 arduino

推荐文章

热门文章

相关标签