STM32单片机开发Clion环境配置
时间:2020-04-15
本文章向大家介绍STM32单片机开发Clion环境配置,主要包括STM32单片机开发Clion环境配置使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
STM32单片机开发Clion环境配置
最近开始接触STM32。那个Keil编辑器实在不行,代码提示几乎没有。偶尔在网上看到能用Clion开发STM32,并且三大平台都可以。于是,折腾又开始了。
-
一、工具准备
- GNU Arm Embedded toolchain
- 下载地址
- gcc编译工具(根据你的系统选择32位还是64位)
- windows下: mingw
- linux下一般默认安装
- OpenOCD
- windows下的地址
- linux下直接apt install即可
- STM32CubeMX
- 直接去ST官网下载最新版即可。下载完成直接就有三个系统下的版本。
- Clion直接去官网下载,目前最新版2020.1
- 学生和老师用教育网邮箱即可免费使用。好像有期限:一年。
- 他的全家桶都可以用。我反正用得很爽。
- J-Link驱动
- zadig:这个东西也要备一个。如果JLink烧写出现问题可能需要。用这个工具你一定要知道你在干什么。所以,我推荐用stlink.
- stLink
- windows下OpenOCD包中有这个驱动
- Linux下需要编译安装才比较保险。
-
二、安装注意事项
- 1、基本按照上面的步骤安装。尽量全部下载完毕再安装。
- 2、在Windows下能用管理员权限就用管理员权限。
- 3、OpenOCD只用解压即可。但要注意在Windows系统变量里增加路径。
- 4、MinGW不要用线上安装方式,慢到你怀疑人生。直接下载安装包即可。
- 5、B站上有详细的教程。这一类的视频还不多见。
- 6、这些工具很多是GNU下的,所以如果可能的话,还是在Linux下配置吧。我在Deepin15.11下配置成功。但当时只想着怎么把他搞定,没想着写笔记,现在有些步骤都忘记了。这也是以前学习的毛病,以为自己能记住,下次再用进,一切重新来过。这浪费了大量的时间。现在学乖了,只要有时间,我就把做过的一些事情记下来。这样,下次再搞不用再浪费时间。发到网上,也许还能不小心帮到同道中人,也多少算是一点功德吧!
-
三、踩坑记
-
1、Clion不能生成CMakeLists.txt文件。最后升级Clion2020.1版本问题解决。
-
2、写入时出现Error: error writing to flash at address 0x08000000 at offset 0x00000000
- https://github.com/platformio/platform-ststm32/issues/175
- H:\OpenOCD\share\openocd\scripts\board (H代表你的OpenOCD安装所在分区)这里有好多个CFG文件,建议把没有的删去,只留下STM开头的。如果你只是开发STM32的话。
- 百度了N多次,找不到有用的。最后在上面这个地址找到解决办法。把cfg文件中的
set WORKAREASIZE 0x2000
这句话中的0x2000改为0x1000。 - 因为我用的是F030的,所以我选的是stm32f0discovery.cfg这个文件。
-
3、解决了1的问题之后又出现了链接问题,目前还未解决。
-
====================[ Build | untitled1.elf | Debug]=========================== "H:\JetBrains\CLion 2019.3.5\bin\cmake\win\bin\cmake.exe" --build H:\stm32\untitled1\cmake-build-debug --target untitled1.elf -- -j 6 [ 4%] Linking C executable untitled1.elf h:/gnutoo~1/92019-~1/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: cannot open linker script file H:/stm32/untitled1/: Invalid argument collect2.exe: error: ld returned 1 exit status mingw32-make.exe[3]: *** [CMakeFiles\untitled1.elf.dir\build.make:375: untitled1.elf] Error 1 mingw32-make.exe[2]: *** [CMakeFiles\Makefile2:75: CMakeFiles/untitled1.elf.dir/all] Error 2 mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:82: CMakeFiles/untitled1.elf.dir/rule] Error 2 mingw32-make.exe: *** [Makefile:117: untitled1.elf] Error 2
-
-
原文地址:https://www.cnblogs.com/xiaolee-tech/p/12706879.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法