本文承接《Micropython研究記錄:一、Linux下STM32編譯環境的搭建——步驟總述》,連結:https://blog.csdn.net/weixin_41875247/article/details/88191587
1.開啟并進入已經裝好的Ubuntu16.04系統:

2.打開終端:在桌面空白處右鍵->Open Terminal:
3.安裝vim:
檢視vim版本,看是否安裝有vim:
輸入指令:vim --version
回車;
可以看到vim并沒有安裝,我們需要線上安裝vim:
輸入:sudo apt-get install vim
回車;
這裡輸入我們的使用者密碼,輸入密碼是沒有顯示的,閉着眼睛輸完,按回車:
這裡我密碼輸錯了一次,輸了兩次,到上述畫面,問你是否繼續,輸入Y,回車:
然後就開始自動下載下傳,很快便會完成安裝:
這時,我們再次輸入:vim --version
看一看,現在出現版本資訊了,說明安裝好了:
4.安裝git并在git官網克隆micropython源碼:
安裝git:
輸入:sudo apt-get install git
回車,之後同樣輸入Y,回車,很快會完成安裝:
在git官網克隆micropython源碼:
輸入:git clone https://github.com/micropython/micropython.git
回車:
可以看到系統開始在官網下載下傳克隆源碼,直到完成;
5.安裝gcc-arm-none-eabi:
點選這個圖示,打開可視化的檔案管理器:
将下載下傳好的gcc-arm-none-eabi-7-2017-q4 拖進去:(若這裡無法拖動,則需重新安裝VMware Tools,如何安裝自行百度,很簡單,大部分都是可以直接拖進去的)
對它進行右鍵,點選“Extract Here”,解壓到目前目錄:
等待進度條十幾秒。。。:
之後獲得解壓出來的源碼檔案夾,我們右鍵他,選擇重命名,删掉後面一坨,保留名字為gcc-arm-none-eabi:(為了後面添加路徑的時候友善)
添加gcc-arm-none-eabi的PATH路徑:
在終端輸入:vim ~/.bashrc
這便打開了bashrc檔案,按鍵盤的方向鍵下箭頭,将光标移動到最後:
目前這種狀态是無法編輯該檔案的,光标移到此處,點選鍵盤 i 鍵,視窗下方出現“-- INSERT --”,這時進入編輯模式:
現在在把光标往後移一格,再回車到第二行,輸入:export PATH="/home/testroot/gcc-arm-none-eabi/bin:$PATH"
如圖:
其中# added for gcc-arm-none-eabi這一行是注釋,可加可不加,需要注意的是路徑中testroot這一項,需根據你的使用者名來修改!
到現在,點選鍵盤ESC鍵,再輸入“:wq”,然後回車儲存退出:
之後關閉終端視窗,再重新打開,輸入arm,再輕按兩下Table鍵,出現如下情況,說明路徑添加成功:
6.編譯環境:
cd到克隆好的micropython目錄下,然後執行:make -C mpy-cross
回車後,出現如下畫面,表示成功:
7.終于要開始編譯固件了,但是按上述步驟後,編譯固件會遇到問題,問題我會記錄展示出來,并列出解決辦法:
繼續cd到micropython目錄下的stm32檔案夾(我是用STM32F7的MCU下手的):
執行:make BOARD=STM32F7DISC
執行該句,意在編譯STM32F7DISC開發闆的固件,若成功,在stm32目錄下會出現build-STM32F7DISC檔案夾,且檔案夾下有很多檔案,其中包含firmware.dfu和firmware.hex固件檔案,然而并不如我意,雖然出現了buil-STM32F7DISC檔案夾,但是顯然裡面的 東西不對,隻有這麼些:
終端顯示資訊如下:
可以看到,第一個紅框内容是顯示沒有stm32lib庫的錯誤,然後系統自動開始下載下傳克隆。
完成後,開始繼續編譯,出現第二個紅框的錯誤,被強行停止編譯,編譯并未成功!
。。。。
經過無數折騰,終于在git官網文章裡找到這麼一段話:
需要更新git,于是我在終端輸入執行:git submodule update --init
開始更新。。。。,等待。。。有點漫長,因為git的下載下傳速度實在太慢了。。。。。
。。。
在等待期間,我們先把之前失敗的build-STM32F7DISC檔案夾删了,以便一會兒重新編譯:
繼續等。。。。。
。。終于好了:
再次輸入并執行編譯指令:make BOARD=STM32F7DISC
于是終端出現了很長很長很長很長的編譯過程顯示:
一張圖截不完,反正就是很長,直到下圖,表示編譯成功完成了:
然後去看看檔案夾裡有沒有固件檔案了:
哈哈!!!終于成功了!
到此,說明編譯環境成功搭建完成!
接下來就是研究如何修改闆子的定義檔案,修改引腳映射,移植到自己的闆子了。