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