Linux/Windows配置stm32免費開發環境詳細流程


系統:linux mint 18.3 xfce,windows10 
stm32開發板:正點原子mini板(stm32f103rc) 
燒寫器:stlink v2 
如果是JLINK的可以參考這篇 
需要軟件:

鏈接:https://pan.baidu.com/s/1nxgh1VF 密碼:rvzu


2018/4/1更新

系統:manjaro xfce 64bit 
stm32型號:f407vet6 
燒寫器:stlink v2

基於arch Linux的manjaro安裝軟件更加簡單方便,步驟和下列初版教程一樣,為了運行stm32cubemx和sw4stm32,需要安裝jdk或者jre環境,我自己把兩個都安裝上了,在manjaro的軟件包管理器搜索安裝,如下圖 
這里寫圖片描述

下載安裝stm32cubemx和sw4stm32下面有介紹,這里就介紹一下manjaro下安裝stlink和openocd的教程,非常簡單,終端執行

$ yaourt stlink
  • 1

$ yaourt openocd
  • 1

前提是已經安裝了AUR軟件包管理器yaourt ,其實在安裝sw4stm32的時候就會提示安裝stlink驅動的,應該那時就已經安裝了stlink驅動了,為了確保順利重新安裝了一遍。


在win系統下下載安裝上面兩個軟件很簡單,但是記得要先安裝java運行環境,可以前往java官網下載,相關教程自行百度。 
下面主要介紹Linux環境下的配置:

(1) STM32CubeMX(4.24.0) ,STM32CUbeF1

第一個是配置stm32並且生成代碼的軟件,下載來后里面有win,linux兩平台的軟件,雙擊linux文件安裝。第二個stm32f1系列的軟件包,使用STM32CubeMX需要用到。

(2) sw4stm32 (目前最新2.4版本,2018/01/16)

ac6和st聯合開發,基於eclipse,這個下載比較困難建議用axel多線程下載,博主是之前在win使用IDM下載的 
注意:前面兩個軟件下載需要注冊帳號,一個是ST帳號,一個是openstm32帳號,sw4stm32是run文件的,linux安裝run文件教程請自行搜索。

使用另一台電腦安裝前面兩個軟件的時候遇到了麻煩,新裝的linux mint 18.3 xfce系統,沒有java環境,經過測試,安裝了Openjdk環境(直接下載的jdk失敗了) 
終端執行下面命令 
apt install openjdk-8* 
安裝和jdk8相關的軟件(我自己沒有安裝最新的jdk9,有興趣的伙伴可以試試)

安裝sw4stm32的時候還好,run文件很好安裝,網上教程一大堆(主要是要有java環境),安裝STM32CUbeMX的時候,之前在自己電腦是直接雙擊SetupSTM32CubeMX-4.23.0.linux,但是出現了下列錯誤報告 
無法執行文件 “SetupSTM32CubeMX-4.23.0.linux”. 
執行子進程“/home/mint/App/en.stm32cubemx/SetupSTM32CubeMX-4.23.0.linux”失敗(沒有那個文件或目錄).

查找一番后,通過下面的方法解決了問題 
終端執行 
java -jar SetupSTM32CubeMX-4.23.0.exe 
然后就可以安裝了 
安裝完以后要想打開,進入安裝目錄,例如我的在/home/mint/App/stm32cubemx/ ,目錄下有個執行文件STM32CubeMX ,如果發現雙擊無法運行並且出現前面的錯誤提示,同樣在終端執行

java -jar STM32CubeMX
  • 1

為了避免每次都那么麻煩,可以在桌面建立一個啟動器,啟動命令為java -jar /home/mint/App/stm32cubemx/STM32CubeMX

(3) gcc-arm-none-eabi

ARM的編譯鏈(參考鏈接:http://blog.csdn.net/zhengyangliu123/article/details/54783443) 
關於這一點,我自己和網上的不太同,我在windows下面使用的是網站https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads 下載的工具鏈,也有linux64版本的,但是我自己電腦在安裝完sw4stm32后能正常編譯,所以不知道是本機就帶有還是sw4stm32安裝的時候帶有,沒有做深入探討,希望大神告知,在后面要燒寫的時候看到錯誤提示沒有gdb,就使用apt安裝了,在終端執行下面命令:

sudo apt install gdb-arm-none-eabi

看到apt推薦安裝gcc-arm-none-eabi,所以又安裝上了

sudo apt install gcc-arm-none-eabi

我的操作應該是手動安裝了ARM需要的編譯工具鏈,而直接在上述網站下載的是已經提供好的整體的工具鏈,只要把安裝目錄寫到環境變量讓系統能找到軟件目錄即可。

這是linux的stlink驅動,安裝考鏈接: 
ubuntu安裝stlink 紅聯 
Ubuntu安裝STLINK CSDN博客 
安裝stlink的時候一定要先安裝依賴,不然make的時候就會出錯。

(5) openocd

下載后解壓,解壓后有INSTALL安裝指導教程,就是linux一般軟件的安裝步驟,先./configure,然后make,然后sudo make install。 
要先安裝stlink驅動,不然在./configure 檢查環境的時候會提升找不到相關驅動

執行完以上步驟,stm32在linux環境下的開發環境就已經完成了,如果過程中出現任何其他問題請自行百度。

下面介紹簡單的基於STM32CubeMX的流水燈。 
先介紹怎么打開STM32CubeMX,很簡單,進去安裝目錄,例如我的安裝目錄如下圖: 
這里寫圖片描述 
直接雙擊運行即可,或者命令行運行,如果覺的不方便的話可以在桌面建立啟動器,在linux mint下非常簡單,自定義圖標也方便,在安裝目錄下的help子目錄有個圖標文件STM32CubeMX.ico,使用gimp將其轉化為png格式就可以作圖標使用了,ubuntu系統下好像比較麻煩。順便吐槽一下,以前用ubuntu總是有莫名其妙的bug,后來知道mint是排名第一的linux系統,也是基於utuntu開發的,但是穩定性非常好,這樣mint就相當於即有ubuntu的流行性,又有自身的穩定性,這一點也是我從win環境全面移植到linux的主要原因(不是雙系統喔,其實並沒有那么糟糕)。

sw4stm32安裝后會自動在桌面上生成快捷方式。

(1)打開STM32CubeMX,點擊左上角工具欄Help–>Install New Libraries,點擊左下角From Local…,選擇之前下載的STM32CUbeF1 
這里寫圖片描述

(2) 在stm32cubemx下選擇 New Project,選擇芯片型號,正點原子Mini板是STM32F103RCT6,選擇PA8和PD2,點擊選擇GPIO——Output,如下圖: 
這里寫圖片描述

(3)選擇工具欄Project–>settings,設置按下圖: 
這里寫圖片描述 
這里寫圖片描述

(4)點擊Configuration,選擇GPIO,更改PA8和PD2的Output level和最大輸出速率 
這里寫圖片描述

(5) 點擊Project–>Generate Code,就會在之前設置的目錄下生成如下目錄: 
這里寫圖片描述

(6) 生成工程后有這么些文件,然后用sw4stm32打開: 
詳細過程參考https://community.arm.com/cn/b/blog/posts/linux-stm32—nucleo-f429zi 
選擇 File->Import->General->Exist Project into Workspace 
這里寫圖片描述

或者直接在剛剛生成的目錄下,進去子目錄SW4STM32/led2,雙擊.cproject ,會自動使用sw4stm32打開的

(7)先點擊Build(錘子的標志),一般不會有問題,然后修改main.c代碼如下圖,實現跑馬燈效果 
這里寫圖片描述

(8) 點擊run(綠色箭頭的標志),燒寫到stm32里面,實現預定效果


免責聲明!

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



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