STM32單片機開發Clion環境配置(windows\linux)


STM32單片機開發Clion環境配置

最近開始接觸STM32。那個Keil編輯器實在不行,代碼提示幾乎沒有。偶爾在網上看到能用Clion開發STM32,並且三大平台都可以。於是,折騰又開始了。

  • 一、工具准備

    • GNU Arm Embedded toolchain

    • 下載地址

    • linux:

      • sudo apt install gdb-arm-none-eabi
      • sudo apt install gcc-arm-none-eabi
    • gcc編譯工具(根據你的系統選擇32位還是64位)

      • windows下: mingw
      • linux下一般默認安裝
    • OpenOCD

      • windows下的地址
      • linux下直接apt install即可
    • STM32CubeMX

      • 直接去ST官網下載最新版即可。下載完成直接就有三個系統下的版本。
      • linux:
        • 需要先安裝Java環境:sudo apt install default-jre
        • 運行STM32CubeMX:
          • 可能需要加上運行權限:sudo chmod +x SetupSTM32CubeMX-6.1.1.linux
          • ./SetupSTM32CubeMX-6.1.1.linux
    • 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
        


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM