99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在Linux下為STM32 MCU構(gòu)建代碼

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-15 17:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:安裝必需的軟件

首先,安裝必需的軟件。

ARM安裝gcc編譯器:

gcc編譯器包含用于編譯,鏈接和構(gòu)建MCU的構(gòu)建代碼的工具。安裝以下三個(gè)軟件包:

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項(xiàng)目的基于Java的工具。借助此工具可以配置使用過(guò)的MCU的所有部分,例如USART,I2C,SPI,GPIO,TIMx,。..。

網(wǎng)頁(yè):www.st.com/stm32cube

CubeMX工具具有Linux支持。易于安裝:

下載并解壓縮zip文件

運(yùn)行安裝程序

遵循向?qū)?/p>

取決于您的ST32硬件(STM32F0,STM32F10x 。.. |),您需要為MCU下載庫(kù)。運(yùn)行STM32CubeMX并單擊“幫助”-》“安裝新庫(kù)”。從列表中為您的MCU選擇最新的庫(kù)。

安裝Makefile4CubeMX

從CubeMX項(xiàng)目生成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,請(qǐng)使用您的軟件包管理器。在Ubuntu下可用的版本是13.12-3:

sudo apt-get install codeblocks

安裝stlink

stlink是用于將構(gòu)建的代碼下載到MCU(閃存)的程序。由texane維護(hù)的inux版本,位于github:github.com/texane/stlink。此處介紹了安裝過(guò)程。如果您喜歡二進(jìn)制文件,則最新版本在這里:github.com/texane/stlink/releases。

步驟2:設(shè)置代碼:: Blocks IDE

如何在Linux下為STM32 MCU構(gòu)建代碼

要為ARM處理器編譯并構(gòu)建自己的程序,必須設(shè)置C :: B IDE。在“設(shè)置-》編譯器。..”中:

在左窗格中選擇“全局編譯器設(shè)置”

在頂窗格中選擇編譯器:ARM的GNU GCC編譯器

中心窗格中,選擇“工具鏈可執(zhí)行文件”選項(xiàng)卡并填寫(xiě)以下值:

編譯器安裝目錄:/usr

C編譯器:arm-none -eabi-gcc

C ++編譯器:arm-none-eabi-g ++

動(dòng)態(tài)庫(kù)鏈接器:arm-none-eabi-gcc

靜態(tài)鏈接器庫(kù):arm-none-eabi-ar

調(diào)試器:現(xiàn)在可以為空

make程序:make

Step 3:創(chuàng)建STM32CubeMX項(xiàng)目

在啟動(dòng)項(xiàng)目之前,請(qǐng)檢查是否存在特定庫(kù)MCU。在菜單幫助-》安裝新庫(kù)中,檢查所需的庫(kù)(在我的情況下為STM32F0版本1.5.0)。單擊“立即安裝”將庫(kù)安裝到本地存儲(chǔ)庫(kù)中。

下一個(gè)項(xiàng)目將用于STM32F0 MCU。

創(chuàng)建新項(xiàng)目

有兩種可能:通過(guò)選擇MCU來(lái)創(chuàng)建新項(xiàng)目

,通過(guò)選擇STM板

在“新建項(xiàng)目”對(duì)話框中選擇“系列”: STM32F0,行:STM32F0x0價(jià)值行。從列表中選擇STM32F030F4Px

出于測(cè)試目的,將PA0引腳檢查為GPIO_Output。

設(shè)置項(xiàng)目屬性

單擊項(xiàng)目設(shè)置:菜單Project-》 Settings。 。.

鍵入項(xiàng)目名稱(chēng)(例如InstructableF0)

更改項(xiàng)目位置(如果需要)

工具鏈/IDE:選擇SW4STM32

取消選中“根據(jù)根生成”

單擊“確定”

生成C代碼

單擊“項(xiàng)目”-》“生成代碼”以生成空項(xiàng)目

步驟4:生成Makefile和C :: B項(xiàng)目

要生成Makefile和Code :: Block項(xiàng)目,即Makefile4CubeMX

打開(kāi)生成CubeMX項(xiàng)目的目錄,并在其中打開(kāi)終端。類(lèi)型:

CubeMX2Makefile.py 。

在工作目錄中將生成文件:Makefile,InstructableF0.cbp(此文件的名稱(chēng)取決于CubeMX項(xiàng)目名稱(chēng))

Step 5:編寫(xiě)并構(gòu)建程序

打開(kāi)項(xiàng)目InstructableF0.cbp并打開(kāi)main.c文件。

現(xiàn)在,我們可以做一點(diǎn)代碼了。讓我們切換端口PA.0來(lái)演示工作代碼。

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)建代碼以驗(yàn)證我們代碼的正確性:Build-》 Rebuild(Ctrl + F11)

步驟6:連接硬件

準(zhǔn)備硬件:

連接stlink-v2加密狗與您的電路板

LED二極管連接到端口PA0(串聯(lián)到150歐姆或更高的電阻

構(gòu)建

在Code :: Block中,在編譯器工具欄中選擇“發(fā)布”。

選擇“重建”(Ctrl + F11)。重建后,代碼會(huì)自動(dòng)加載到MCU

LED二極管開(kāi)始閃爍。

您也可以在不使用Code :: Block IDE的情況下使用Makefile。

在工作目錄(放置Makefile的目錄)中打開(kāi)終端,然后鍵入:

內(nèi)部版本代碼:

make

閃存代碼到MCU:
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17984

    瀏覽量

    367172
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213862
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    365116
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32IDE如何設(shè)定代碼到ITCM中運(yùn)行?

    近期使用STM32MUX生成STM32IDE的代碼(MCUSTM32H743),目前希望可以將部分代碼
    發(fā)表于 06-24 06:45

    STM32與機(jī)智云連接實(shí)現(xiàn)步驟與技巧(下篇):機(jī)智云代碼移植與優(yōu)化

    在《STM32與機(jī)智云連接實(shí)現(xiàn)步驟與技巧(上篇)》中,我們介紹了硬件連接和通信協(xié)議配置。本篇將重點(diǎn)講解如何將機(jī)智云相關(guān)代碼移植到STM32,完成數(shù)據(jù)上傳和設(shè)備控制。我們將介紹如何在
    的頭像 發(fā)表于 05-23 18:10 ?262次閱讀
    <b class='flag-5'>STM32</b>與機(jī)智云連接實(shí)現(xiàn)步驟與技巧(下篇):機(jī)智云<b class='flag-5'>代碼</b>移植與優(yōu)化

    何在Linux中配置DNS服務(wù)器

    本文詳細(xì)介紹了如何在Linux中配置DNS服務(wù)器,包括DNS工作原理、本地緩存、DNS查詢(xún)過(guò)程,以及正向和反向查詢(xún)的配置。步驟包括服務(wù)器配置、編輯BIND配置文件、添加解析信息和客戶端測(cè)試,同時(shí)提到了注意事項(xiàng)和常見(jiàn)問(wèn)題解決方法。
    的頭像 發(fā)表于 05-09 13:38 ?1443次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b>中配置DNS服務(wù)器

    為何嵌入式開(kāi)發(fā)者覺(jué)得 MCU 開(kāi)發(fā)無(wú)趣,更傾向 MPU(Linux)?

    代碼轉(zhuǎn)向玩 Linux 系統(tǒng),本質(zhì)是技術(shù)追求和職業(yè)發(fā)展的雙重選擇。今兒咱就掰扯掰扯,為啥現(xiàn)在越來(lái)越多開(kāi)發(fā)者覺(jué)得 MCU “不香” 了,一門(mén)心思往 MPU(Linu
    的頭像 發(fā)表于 04-25 10:48 ?389次閱讀
    為何嵌入式開(kāi)發(fā)者覺(jué)得 <b class='flag-5'>MCU</b> 開(kāi)發(fā)無(wú)趣,更傾向 MPU(<b class='flag-5'>Linux</b>)?

    何在NXP MCU上啟用D-Cache?

    Data Cache,我已經(jīng)能夠減少其他 MCU 的推理時(shí)間。我想知道如何在 NXP MCU 上啟用 D-Cache。任何其他性能提升策略也受到歡迎。
    發(fā)表于 03-27 07:48

    STM32CubeMX用于STM32配置和初始化C代碼生成

    電子發(fā)燒友網(wǎng)站提供《STM32CubeMX用于STM32配置和初始化C代碼生成.pdf》資料免費(fèi)下載
    發(fā)表于 02-26 17:32 ?677次下載

    INA226 stm32的demo代碼和規(guī)格書(shū)

    文檔包含in226的規(guī)格書(shū)和stm32的demo代碼
    發(fā)表于 02-08 17:32 ?7次下載

    何在日常開(kāi)發(fā)過(guò)程中提高代碼質(zhì)量

    。 提高代碼質(zhì)量是一個(gè)系統(tǒng)工程,本文主要介紹開(kāi)發(fā)人員如何在日常開(kāi)發(fā)過(guò)程中提高代碼質(zhì)量。 01 什么是代碼質(zhì)量? 代碼質(zhì)量一般用于衡量
    的頭像 發(fā)表于 01-23 09:09 ?572次閱讀
    如<b class='flag-5'>何在</b>日常開(kāi)發(fā)過(guò)程中提高<b class='flag-5'>代碼</b>質(zhì)量

    何在Linux系統(tǒng)上設(shè)置站群服務(wù)器IP地址

    Linux系統(tǒng)上設(shè)置站群服務(wù)器的IP地址,可以通過(guò)以下步驟進(jìn)行,主機(jī)推薦小編為您整理發(fā)布如何在Linux系統(tǒng)上設(shè)置站群服務(wù)器IP地址。
    的頭像 發(fā)表于 12-11 10:05 ?505次閱讀

    請(qǐng)問(wèn)ADS1292R如何在MCU休眠的情況下通過(guò)脫落檢測(cè)喚醒MCU?

    請(qǐng)問(wèn)ADS1292R如何在MCU休眠的情況下通過(guò)脫落檢測(cè)喚醒MCU?
    發(fā)表于 11-28 08:03

    國(guó)產(chǎn)MCU扎堆平替STM32的原因

    mcu
    芯廣場(chǎng)
    發(fā)布于 :2024年11月11日 17:00:28

    如何構(gòu)建Linux根文件系統(tǒng)

    構(gòu)建Linux根文件系統(tǒng)是一個(gè)涉及多個(gè)步驟和概念的過(guò)程,它對(duì)于Linux系統(tǒng)的啟動(dòng)和運(yùn)行至關(guān)重要。
    的頭像 發(fā)表于 10-05 16:47 ?695次閱讀

    何在STM32上運(yùn)行AI應(yīng)用

    1.X-Linux-AI概述X-LINUX-AI是STM32MPUOpenSTLinux擴(kuò)展包,面向STM32MP1和STM32MP2系列微
    的頭像 發(fā)表于 09-30 08:00 ?3362次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>STM32</b>上運(yùn)行AI應(yīng)用

    何在MSP430?MCU中使用智能模擬組合

    電子發(fā)燒友網(wǎng)站提供《如何在MSP430?MCU中使用智能模擬組合.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:19 ?0次下載
    如<b class='flag-5'>何在</b>MSP430?<b class='flag-5'>MCU</b>中使用智能模擬組合

    何在DRA821U上使用Linux實(shí)現(xiàn)快速引導(dǎo)

    電子發(fā)燒友網(wǎng)站提供《如何在DRA821U上使用Linux實(shí)現(xiàn)快速引導(dǎo).pdf》資料免費(fèi)下載
    發(fā)表于 09-03 10:11 ?0次下載
    如<b class='flag-5'>何在</b>DRA821U上使用<b class='flag-5'>Linux</b>實(shí)現(xiàn)快速引導(dǎo)