步驟1:安裝必需的軟件
首先,安裝必需的軟件。
為ARM安裝gcc編譯器:
gcc編譯器包含用于編譯,鏈接和構建MCU的構建代碼的工具。安裝以下三個軟件包:
gcc-arm-none-eabi
binutils-arm-none-eabi
libnewlib-arm-none-eabi
sudo apt-get install gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi
安裝STM32CubeMX
STM32CubeMX是用于生成C項目的基于Java的工具。借助此工具可以配置使用過的MCU的所有部分,例如USART,I2C,SPI,GPIO,TIMx,。..。
網頁:www.st.com/stm32cube
CubeMX工具具有Linux支持。易于安裝:
下載并解壓縮zip文件
運行安裝程序
遵循向導
取決于您的ST32硬件(STM32F0,STM32F10x 。.. |),您需要為MCU下載庫。運行STM32CubeMX并單擊“幫助”-》“安裝新庫”。從列表中為您的MCU選擇最新的庫。
安裝Makefile4CubeMX
從CubeMX項目生成Makefile需要使用Makefile4CubeMX。
下載鏈接:github.com/duro80/Makefile4CubeMX
如何安裝:
git clone https://github.com/duro80/Makefile4CubeMX.git
sudo ln -s“ $ PWD“/CubeMX2Makefile.py/usr/bin/CubeMX2Makefile.py
安裝代碼:: Blocks IDE
要安裝Code :: Blocks IDE,請使用您的軟件包管理器。在Ubuntu下可用的版本是13.12-3:
sudo apt-get install codeblocks
安裝stlink
stlink是用于將構建的代碼下載到MCU(閃存)的程序。由texane維護的inux版本,位于github:github.com/texane/stlink。此處介紹了安裝過程。如果您喜歡二進制文件,則最新版本在這里:github.com/texane/stlink/releases。
步驟2:設置代碼:: Blocks IDE
要為ARM處理器編譯并構建自己的程序,必須設置C :: B IDE。在“設置-》編譯器。..”中:
在左窗格中選擇“全局編譯器設置”
在頂窗格中選擇編譯器:ARM的GNU GCC編譯器
在中心窗格中,選擇“工具鏈可執行文件”選項卡并填寫以下值:
編譯器安裝目錄:/usr
C編譯器:arm-none -eabi-gcc
C ++編譯器:arm-none-eabi-g ++
動態庫鏈接器:arm-none-eabi-gcc
靜態鏈接器庫:arm-none-eabi-ar
調試器:現在可以為空
make程序:make
Step 3:創建STM32CubeMX項目
在啟動項目之前,請檢查是否存在特定庫MCU。在菜單幫助-》安裝新庫中,檢查所需的庫(在我的情況下為STM32F0版本1.5.0)。單擊“立即安裝”將庫安裝到本地存儲庫中。
下一個項目將用于STM32F0 MCU。
創建新項目
有兩種可能:通過選擇MCU來創建新項目
,通過選擇STM板
。
在“新建項目”對話框中選擇“系列”: STM32F0,行:STM32F0x0價值行。從列表中選擇STM32F030F4Px
出于測試目的,將PA0引腳檢查為GPIO_Output。
設置項目屬性
單擊項目設置:菜單Project-》 Settings。 。.
鍵入項目名稱(例如InstructableF0)
更改項目位置(如果需要)
工具鏈/IDE:選擇SW4STM32
取消選中“根據根生成”
單擊“確定”
生成C代碼
單擊“項目”-》“生成代碼”以生成空項目
步驟4:生成Makefile和C :: B項目
要生成Makefile和Code :: Block項目,即Makefile4CubeMX
打開生成CubeMX項目的目錄,并在其中打開終端。類型:
CubeMX2Makefile.py 。
在工作目錄中將生成文件:Makefile,InstructableF0.cbp(此文件的名稱取決于CubeMX項目名稱)
Step 5:編寫并構建程序
打開項目InstructableF0.cbp并打開main.c文件。
現在,我們可以做一點代碼了。讓我們切換端口PA.0來演示工作代碼。
int main(void){
/* MCU Configuration-------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* Configure the system clock */
SystemClock_Config();
/* Initialize all configured peripherals */
MX_GPIO_Init();
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1) {
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_0);
HAL_Delay(500); // 500ms
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
構建代碼以驗證我們代碼的正確性:Build-》 Rebuild(Ctrl + F11)
步驟6:連接硬件
準備硬件:
連接stlink-v2加密狗與您的電路板
將LED二極管連接到端口PA0(串聯到150歐姆或更高的電阻)
構建
在Code :: Block中,在編譯器工具欄中選擇“發布”。
選擇“重建”(Ctrl + F11)。重建后,代碼會自動加載到MCU
LED二極管開始閃爍。
您也可以在不使用Code :: Block IDE的情況下使用Makefile。
在工作目錄(放置Makefile的目錄)中打開終端,然后鍵入:
內部版本代碼:
make
閃存代碼到MCU:
責任編輯:wv
-
mcu
+關注
關注
146文章
17893瀏覽量
361887 -
Linux
+關注
關注
87文章
11479瀏覽量
213057 -
STM32
+關注
關注
2291文章
11019瀏覽量
363029
發布評論請先 登錄
STM32與機智云連接實現步驟與技巧(下篇):機智云代碼移植與優化

如何在Linux中配置DNS服務器

為何嵌入式開發者覺得 MCU 開發無趣,更傾向 MPU(Linux)?

如何在NXP MCU上啟用D-Cache?
STM32CubeMX用于STM32配置和初始化C代碼生成
如何在Linux系統上設置站群服務器IP地址

如何在不同應用場景下構建音頻測試環境

評論