Mac下搭建基於PlatformIO的嵌入式開發環境(STM32開發)

PlatformIO簡介

PlatformIO是開源的物聯網開發生態系統。提供跨平臺的代碼構建器、集成開發環境(IDE),兼容 Arduino,ESP8266和mbed等
支持在Windows、Linux、macOS上使用預編譯好的工具鏈,調試器和框架進行開發。它支持超過350個的嵌入式設備,超過20個的開發平臺,超過10個的框架。
Atom
PlatfromIO IDE是基於Atom的新一代集成開發環境。提供了C/C++的代碼智能提示,程序庫管理,內置命令行等功能。
Visual Studio Code
PlatfromIO for Visual Stuido Code提供了構建,部署,設備監視器,程序庫搜索等主要功能。爲超過350個的嵌入式設備提供了良好的開發環境。
Sublime Text
Deviot是一個基於Sublime Text插件,基於PlatformIO爲許多嵌入式設備的開發提供支持。

環境:html

macOS Mojavegit

STM32F103ZExcode

VSCode網絡

PlatformIO IDE框架

安裝步驟

首先要安裝VScode(相信你們都使用過)
在vscode 中安裝插件PlatformIO IDE
安裝完成後重啓vscode 左下角會有一個小房子,點擊它進入插件的界面
介紹一下主要的模塊信息:

一、Home標籤頁

  1. Show at startup 的複選框,勾上後,每次啓動vs code就會啓動這個主頁;
  2. Quick Access:
    • New Project:新建工程;
    • Import Arduino Project:導入電腦中已經存在的Arduino工程;
    • Open Project:打開已經存在的Platformio工程;
    • Project Examples:打開本機已經安裝的單片機平臺的例程工程;
  3. Recent News:顯示最新 Platformio 信息;
  4. Recent Projects: 顯示最近新建的工程 

二、Libraries標籤頁

這是一個管理庫的標籤頁,能夠再這裏查找相關的庫的信息,查看方法、使用例程等。能夠安裝、管理和更新第三方庫。

三、Boards標籤頁

這裏顯示的都是PlatformIO 支持的開發板信息,主要信息以下:
Name:開發板名稱
Platorm:對應的平臺
Frameworks:支持的開發框架
MCU:開發板MCU型號
FRQ:開發板工做主頻(Mhz)
ROM:開發板存儲
RAM:開發板的內存
Extra:其餘的操做

四、Platforms標籤頁

用來管理對支持的平臺

五、Devices標籤頁

顯示電腦鏈接的設備信息。
 

工具欄信息

  1. 編譯按鈕(Build):勾號,點擊後會編譯當前的工程
  2. 燒寫按鈕(Upload):向右的箭頭,將程序燒寫到開發板
  3. 遠程燒寫按鈕(Upload to remote device):雲朵,遠程燒寫程序
  4. 清理按鈕(Clean):垃圾桶,清理編譯過程生成的文件
  5. 測試按鈕(Test):燒瓶,測試工程,免費版的Platformio受限不能用;
  6. 運行任務按鈕(Run task...):本子,會跳出操做菜單,包含編譯、燒寫、調試等操做;
  7. 串口監視器按鈕(Serial monitor):插頭,點擊後會啓動命令行的串口監視助手;
  8. 終端按鈕(New Terminal):命令行,新建一個終端窗口;
 


先來嘗試一個使用吧,更多的功能,在實際的使用過程當中再進行學習,
每次個人電腦點擊新建工程後都會沒法點擊輸入框,因此只好退出後從新進入
 
感受還挺順利,開始創建第一個工程,嗯哼,填好工程名,選好相關的板子,選擇Framework(暫不知道有什麼區別,先選arduino吧),點擊finish,據說第一次建立工程的時候花的時間要就一些。
半個小時後。。。一個小時後。。。凌晨一點了,開着電腦讓他建吧,先睡覺。。。。
早上起來,what???仍是please wait… 
換個網絡,連上外網,再重試一次,竟然一分鐘內就建好了,因此這又是爲啥呢,我昨晚也試過鏈接了外網的。
是由於網絡鏈接不順暢,沒有鏈接外網?仍是須要將xcode更新到最新版本,並下載相關組件,亦或是clang沒有更新;緣由不得而知,反正在xcode,clang更新完了以後連上外網,很快就建好了。(我猜測是網絡質量很差形成的,如果有讀者知道緣由還請告訴我一下,先在此謝過)


上代碼測試吧,在src文件夾下的main.cpp中加入以下代碼,編譯下載,查看結果。
 1 #include <Arduino.h>
 2 
 3 #define LED PB5 //這是等在板子上的引腳信息
 4  
 5 void setup() {  6   // put your setup code here, to run once:
 7   pinMode(LED,OUTPUT);  8 }  9  
10 void loop() { 11   // put your main code here, to run repeatedly:
12   digitalWrite(LED, HIGH); 13   delay(1000); 14   digitalWrite(LED, LOW); 15   delay(1000); 16 }
固然想要成功下載還須要一個些配置信息,platformio.ini文件裏添加以下代碼:
1 [env:genericSTM32F103ZE] 2 platform = ststm32 3 board = genericSTM32F103ZE 4 framework = arduino 5 upload_protocol = jlink
至此,應該已經成功的實現了在Mac上進行嵌入式開發,接下來就是更深一步的去學習使用了。
相關文章
相關標籤/搜索