步驟1:安裝必需的軟件
首先,安裝必需的軟件。
為ARM安裝gcc編譯器:
gcc編譯器包含用于編譯,鏈接和構(gòu)建MCU的構(gòu)建代碼的工具。安裝以下三個軟件包:
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,。..。
網(wǎng)頁:www.st.com/stm32cube
CubeMX工具具有Linux支持。易于安裝:
下載并解壓縮zip文件
運行安裝程序
遵循向?qū)?/p>
取決于您的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是用于將構(gòu)建的代碼下載到MCU(閃存)的程序。由texane維護的inux版本,位于github:github.com/texane/stlink。此處介紹了安裝過程。如果您喜歡二進制文件,則最新版本在這里:github.com/texane/stlink/releases。
步驟2:設(shè)置代碼:: Blocks IDE
要為ARM處理器編譯并構(gòu)建自己的程序,必須設(shè)置C :: B IDE。在“設(shè)置-》編譯器。..”中:
在左窗格中選擇“全局編譯器設(shè)置”
在頂窗格中選擇編譯器:ARM的GNU GCC編譯器
在中心窗格中,選擇“工具鏈可執(zhí)行文件”選項卡并填寫以下值:
編譯器安裝目錄:/usr
C編譯器:arm-none -eabi-gcc
C ++編譯器:arm-none-eabi-g ++
動態(tài)庫鏈接器:arm-none-eabi-gcc
靜態(tài)鏈接器庫:arm-none-eabi-ar
調(diào)試器:現(xiàn)在可以為空
make程序:make
Step 3:創(chuàng)建STM32CubeMX項目
在啟動項目之前,請檢查是否存在特定庫MCU。在菜單幫助-》安裝新庫中,檢查所需的庫(在我的情況下為STM32F0版本1.5.0)。單擊“立即安裝”將庫安裝到本地存儲庫中。
下一個項目將用于STM32F0 MCU。
創(chuàng)建新項目
有兩種可能:通過選擇MCU來創(chuàng)建新項目
,通過選擇STM板
。
在“新建項目”對話框中選擇“系列”: STM32F0,行:STM32F0x0價值行。從列表中選擇STM32F030F4Px
出于測試目的,將PA0引腳檢查為GPIO_Output。
設(shè)置項目屬性
單擊項目設(shè)置:菜單Project-》 Settings。 。.
鍵入項目名稱(例如InstructableF0)
更改項目位置(如果需要)
工具鏈/IDE:選擇SW4STM32
取消選中“根據(jù)根生成”
單擊“確定”
生成C代碼
單擊“項目”-》“生成代碼”以生成空項目
步驟4:生成Makefile和C :: B項目
要生成Makefile和Code :: Block項目,即Makefile4CubeMX
打開生成CubeMX項目的目錄,并在其中打開終端。類型:
CubeMX2Makefile.py 。
在工作目錄中將生成文件:Makefile,InstructableF0.cbp(此文件的名稱取決于CubeMX項目名稱)
Step 5:編寫并構(gòu)建程序
打開項目InstructableF0.cbp并打開main.c文件。
現(xiàn)在,我們可以做一點代碼了。讓我們切換端口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 */
}
構(gòu)建代碼以驗證我們代碼的正確性:Build-》 Rebuild(Ctrl + F11)
步驟6:連接硬件
準備硬件:
連接stlink-v2加密狗與您的電路板
將LED二極管連接到端口PA0(串聯(lián)到150歐姆或更高的電阻)
構(gòu)建
在Code :: Block中,在編譯器工具欄中選擇“發(fā)布”。
選擇“重建”(Ctrl + F11)。重建后,代碼會自動加載到MCU
LED二極管開始閃爍。
您也可以在不使用Code :: Block IDE的情況下使用Makefile。
在工作目錄(放置Makefile的目錄)中打開終端,然后鍵入:
內(nèi)部版本代碼:
make
閃存代碼到MCU:
責任編輯:wv
-
mcu
+關(guān)注
關(guān)注
146文章
17199瀏覽量
351927 -
Linux
+關(guān)注
關(guān)注
87文章
11326瀏覽量
209964 -
STM32
+關(guān)注
關(guān)注
2270文章
10915瀏覽量
356755
發(fā)布評論請先 登錄
相關(guān)推薦
評論