女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在Linux下為STM32 MCU構建代碼

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-11-15 17:12 ? 次閱讀

步驟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

如何在Linux下為STM32 MCU構建代碼

要為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
    mcu
    +關注

    關注

    146

    文章

    17893

    瀏覽量

    361887
  • Linux
    +關注

    關注

    87

    文章

    11479

    瀏覽量

    213057
  • STM32
    +關注

    關注

    2291

    文章

    11019

    瀏覽量

    363029
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    STM32與機智云連接實現步驟與技巧(下篇):機智云代碼移植與優化

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

    何在Linux中配置DNS服務器

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

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

    代碼轉向玩 Linux 系統,本質是技術追求和職業發展的雙重選擇。今兒咱就掰扯掰扯,為啥現在越來越多開發者覺得 MCU “不香” 了,一門心思往 MPU(Linu
    的頭像 發表于 04-25 10:48 ?326次閱讀
    為何嵌入式開發者覺得 <b class='flag-5'>MCU</b> 開發無趣,更傾向 MPU(<b class='flag-5'>Linux</b>)?

    何在NXP MCU上啟用D-Cache?

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

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

    電子發燒友網站提供《STM32CubeMX用于STM32配置和初始化C代碼生成.pdf》資料免費下載
    發表于 02-26 17:32 ?658次下載

    INA226 stm32的demo代碼和規格書

    文檔包含in226的規格書和stm32的demo代碼
    發表于 02-08 17:32 ?6次下載

    何在日常開發過程中提高代碼質量

    。 提高代碼質量是一個系統工程,本文主要介紹開發人員如何在日常開發過程中提高代碼質量。 01 什么是代碼質量? 代碼質量一般用于衡量
    的頭像 發表于 01-23 09:09 ?493次閱讀
    如<b class='flag-5'>何在</b>日常開發過程中提高<b class='flag-5'>代碼</b>質量

    何在Linux系統上設置站群服務器IP地址

    Linux系統上設置站群服務器的IP地址,可以通過以下步驟進行,主機推薦小編為您整理發布如何在Linux系統上設置站群服務器IP地址。
    的頭像 發表于 12-11 10:05 ?458次閱讀

    請問ADS1292R如何在MCU休眠的情況下通過脫落檢測喚醒MCU

    請問ADS1292R如何在MCU休眠的情況下通過脫落檢測喚醒MCU
    發表于 11-28 08:03

    國產MCU扎堆平替STM32的原因

    mcu
    芯廣場
    發布于 :2024年11月11日 17:00:28

    如何構建Linux根文件系統

    構建Linux根文件系統是一個涉及多個步驟和概念的過程,它對于Linux系統的啟動和運行至關重要。
    的頭像 發表于 10-05 16:47 ?622次閱讀

    何在STM32上運行AI應用

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

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

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

    何在DRA821U上使用Linux實現快速引導

    電子發燒友網站提供《如何在DRA821U上使用Linux實現快速引導.pdf》資料免費下載
    發表于 09-03 10:11 ?0次下載
    如<b class='flag-5'>何在</b>DRA821U上使用<b class='flag-5'>Linux</b>實現快速引導

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

    在之前的文章中,我們已經詳細介紹了基礎音頻參數和AP525的軟硬件配置。本文將延續這一主題,以泰凌TLSR9518A EVB作為測試設備(DUT),向大家展示如何在不同應用場景下構建音頻測試環境。
    的頭像 發表于 07-03 15:00 ?1186次閱讀
    如<b class='flag-5'>何在</b>不同應用場景下<b class='flag-5'>構建</b>音頻測試環境