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

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

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

stm32mp1 Cortex M4開發(fā)篇1:stm32CubeIDE開發(fā)環(huán)境搭建

華清遠(yuǎn)見工控 ? 2021-10-13 17:52 ? 次閱讀

寫在前面:

本文章為《ARM Cortex-M4裸機(jī)開發(fā)篇》系列中的一篇,,全系列總計(jì)14篇。筆者使用的開發(fā)平臺(tái)為華清遠(yuǎn)見FS-MP1A開發(fā)板(STM32MP157開發(fā)板),Cortex-M4裸機(jī)開發(fā)篇除了講M4裸機(jī)開發(fā)外,還會(huì)講解通過M4控制資源擴(kuò)展板上的各種傳感器執(zhí)行器模塊(包括空氣溫濕度傳感器LED燈、數(shù)碼管、蜂鳴器、震動(dòng)馬達(dá)、按鍵中斷、風(fēng)扇等),本篇是M4控制資源擴(kuò)展板中的一篇。

資源擴(kuò)展板是FS-MP1A開發(fā)板的擴(kuò)展模塊,主要包含了10余種助主流傳感器、執(zhí)行器件、總線控制器件,非常方便項(xiàng)目擴(kuò)展用。可拓展開發(fā)智慧家庭、智能醫(yī)療、智能安防、工業(yè)控制、圖像識(shí)別、環(huán)境檢測(cè)等方向的10個(gè)左右綜合項(xiàng)目,華清遠(yuǎn)見開發(fā)板也將配套提供所有項(xiàng)目的說明文檔、實(shí)驗(yàn)源碼、應(yīng)用程序等資料。

針對(duì)FS-MP1A開發(fā)板,除了Cortex-M4裸機(jī)開發(fā)篇外,還包括其他多系列教程,包括Cortex-A7開發(fā)篇、FreeRTOS篇、Linux基礎(chǔ)及應(yīng)用開發(fā)篇、Linux系統(tǒng)移植篇、Linux驅(qū)動(dòng)開發(fā)篇、硬件設(shè)計(jì)篇、人工智能機(jī)器視覺篇、Qt應(yīng)用編程篇、Qt綜合項(xiàng)目實(shí)戰(zhàn)篇等。

資源擴(kuò)展板介紹

硬件介紹

poYBAGFmcj6AXKrxAAKh90fgDqA915.jpg

資源擴(kuò)展板可開發(fā)項(xiàng)目

poYBAGFmcj6AXKrxAAKh90fgDqA915.jpg

Cortex-M4 開發(fā)環(huán)境搭建

STM32CubeIDE是一個(gè)高級(jí)C / C ++開發(fā)平臺(tái),具有用于STM32微控制器微處理器的外設(shè)配置,代碼生成,代碼編譯和調(diào)試功能。它基于ECLIPSE?/ CDT框架和用于開發(fā)的GCC工具鏈,以及用于調(diào)試的GDB。它允許集成數(shù)百個(gè)現(xiàn)有插件,這些插件可以完善ECLIPSE?IDE的功能。

主要特點(diǎn):

  • 集成STM32CubeMX,可提供以下服務(wù):

STM32微控制器和微處理器的選擇

引腳排列,時(shí)鐘,外設(shè)和中間件配置

項(xiàng)目創(chuàng)建和初始化代碼的生成

  • 基于Eclipse?/ CDT,以支持Eclipse?的附加軟件,GNU C / C ++為ARM ?工具鏈和GDB調(diào)試器
  • 其他高級(jí)調(diào)試功能包括:

CPU內(nèi)核,外設(shè)寄存器和內(nèi)存視圖

實(shí)時(shí)變量觀看視圖

系統(tǒng)分析和實(shí)時(shí)跟蹤(SWV)

CPU故障分析工具

  • 支持ST-LINK(STMicroelectronics)和J-Link(SEGGER)調(diào)試探針
  • 從Atollic導(dǎo)入項(xiàng)目? TrueSTUDIO ?和AC6系統(tǒng)工作臺(tái)的STM32(SW4STM32)
  • 多操作系統(tǒng)支持:Windows ?,Linux的?和MacOS ?,僅64位版本

STM32CubeIDE軟件獲取

https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-ides/stm32cubeide.html?dl=C1Xl1v%2FULQ0dLNXhPUM9vg%3D%3D%2CcrEvVZcaQVFOpw%2BiBXN5OniVodWnWIjZczA3UQRxaf4t4IqBoA4ynj7KVdsgDWQkzo61Vd7IFSR48HcBaQB0YRJ%2BkmDJE3FQokO6ZkDEdtElQtf%2F5O4k7L07zP26x1rzWypenTcR3xmxW8zQdk0cZSrFINp1v0rofptktxG1ZiaKxBEZk%2BfFyQsFB9NEmpcO3%2Fali0QZwOaXOvoFFoLamIQEGD0T1zvkxSvhtnVFDrXK1rl7wv7VhFB0FbFa8NwpLv9lNr8K2z%2F9hdTjaL5tTN%2FRTqQyx%2FVXZA1UBill%2FgmJ7GsUcR3KHgrSsnv2S3bvl%2FddwcRJzcECHruxxQm562Y87gHg8Ff7A5ybUDdZAnFKsshPEc9Op6unaXrXQKSNEADXkZYJ6T5trp1%2Be%2FgJHmQIysU%2BW7aYcXaGK4N9Lc7SHVRIqA4IX1vVw2plCG9z&uid=QchKIdBoOeE1wsFONZ4se/WuF3wDZMRC

poYBAGFmcj6AJvNYAABfKQWnGl8691.jpg

光盤路徑【華清遠(yuǎn)見-FS-MP1A開發(fā)資料\01-工具軟件\st-stm32cubeide_1.5.0_8698_202

01117_1050_x86_64.exe】

STM32CubeIDE安裝

不能在中文路徑下安裝

雙擊

pYYBAGFmcj6AVCyRAAAM2SjeDaY803.jpg

進(jìn)行安裝

poYBAGD1MCGAUKdBAACWdeeJ6vY978.png

poYBAGD1MCWAaINQAABdfPtD8Ok319.png

可自行選擇路徑安裝

pYYBAGFmcj6AfTeoAABGKv_10mE724.jpg

poYBAGFmcj-APo-9AABRHpySFxY858.jpg

彈出需要安裝STLINK驅(qū)動(dòng),選擇安裝

poYBAGD1MDKAGghxAADFlfHV7UQ749.png

poYBAGD1MDaAcfv4AAApQ-sj_iY117.png

poYBAGD1MDuALTGDAACMgHBN7ow118.png

安裝完成后如上圖。

STM32CubeIDE軟件安裝完成后同樣ST-Link驅(qū)動(dòng)也安裝完成,ST-Link連接至PC,可在設(shè)備管理器中看到ST-link Debug和STMicroelectronics STLink Virtual COM Port串口

pYYBAGD1MD-AT_Q1AABc-nZg3Hk621.png

注意:如果設(shè)備管理器中ST-Link驅(qū)動(dòng)無法識(shí)別,帶有驚嘆號(hào),需在高級(jí)啟動(dòng)中禁用驅(qū)動(dòng)程序強(qiáng)制簽名

STM32CubeIDE軟件使用

雙擊桌面圖標(biāo)打開軟件,選擇workspace目錄

pYYBAGFmcj-AVN6cAABO1FP2kxQ850.jpg

軟件界面

pYYBAGFmcj-AbsOBAABygIkO1bg877.jpg

新建工程

打開STM32CubeIDE->File->New->STM32 Project

poYBAGD1ME2AVPeTAACVnz-qkMk546.png

可以在左側(cè)搜索框內(nèi)輸入芯片型號(hào)STM32MP157A進(jìn)行搜索,選擇對(duì)應(yīng)芯片,點(diǎn)擊Next

poYBAGFmcj-ASM-mAAC8KlaJkAU786.jpg

填寫工程名,點(diǎn)擊Finsh

poYBAGD1MFWAXdlzAABW-5r3LmY634.png

點(diǎn)擊Yes打開配置頁面

pYYBAGD1MFqAKmnWAAAp3TMlYLo989.pngpoYBAGFmcj-AF6saAAEDRfefWWQ542.jpg

搜索框內(nèi)搜索LED對(duì)應(yīng)GPIO引腳PZ5、PZ6、PZ7,左鍵點(diǎn)擊設(shè)置為GPIO_Output

pYYBAGD1MGOAQN6wAAC-3IaQ2Ns189.png

在Code Generator處選擇為每個(gè)外設(shè)生成單獨(dú)的C和H文件,這樣設(shè)置方便閱讀代碼

poYBAGD1MGmAams0AACpGOkAn0s579.png

完成以上設(shè)置后,Ctrl+S保存,會(huì)提示是否需要生成代碼,選擇Yes即可自動(dòng)生成代碼。系統(tǒng)會(huì)自動(dòng)生成System Clock代碼

poYBAGD1MG2ADAi6AAAgBCPP1k8477.png

可以在左側(cè)工程文件夾看到生成的工程,CA7文件夾是給A7核使用的。Drivers文件夾是ST提供的HAL_Drivers,用戶無需修改。LED_CM4子工程是我們生成的M4內(nèi)核的工程代碼。

pYYBAGD1MHKAXkD2AAC0tr4gJYk085.png

導(dǎo)入已有工程

在 Project Explorer 窗口中右擊鼠標(biāo),選擇“Import…”,如下圖所示

poYBAGD1MHaAECK2AABm4QskvyY608.png

選擇“Import…”后, 出現(xiàn)如下圖所示的窗口, 選中“Existing Project Into Workpace”, 然后點(diǎn)擊

“Next”

pYYBAGD1MHqAXB-mAABurMiDrgg250.png

點(diǎn)擊Browse選擇工程存放路徑,勾選需要添加的工程,點(diǎn)擊Finish

poYBAGD1MH-ACWQuAACG-kcvcTo992.png

點(diǎn)擊 finish 后,工程就已經(jīng)導(dǎo)入成功了

編譯下載

開發(fā)板連接

撥動(dòng)開發(fā)板啟動(dòng)撥碼至001,開發(fā)板上電,使開發(fā)板處于Engineering mode,就可以進(jìn)行開發(fā)或調(diào)試CM4固件了,連接好ST-LINK和開發(fā)板

pYYBAGFmckCASQDcAADmxL9PPaw612.jpg

pYYBAGFmckCATcaEAACNafeY7bE886.jpg

工程編譯

pYYBAGD1MI6AAs7zAAAWIZ__Mk0419.png

Debug調(diào)試

選擇Debug按鍵

poYBAGD1MJKAaXBQAAAcODjIsEo721.png

選擇STM32 Cortex-M C/C++ Application

poYBAGD1MJaALoX-AACiyFdMFqc386.png

調(diào)試器 下選擇thru JTAG/SWD link (Engineering mode) ,完成點(diǎn)擊Debug

poYBAGFmckCAD1WyAACfOLkB4IY581.jpg

選擇Switch

pYYBAGD1MJ-AMn90AAA63B5XzFQ096.png

點(diǎn)擊運(yùn)行

pYYBAGFmckCAEO--AAC8rqcgKNE398.jpg

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

    關(guān)注

    134

    文章

    9137

    瀏覽量

    368269
  • 嵌入式
    +關(guān)注

    關(guān)注

    5088

    文章

    19158

    瀏覽量

    306482
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11329

    瀏覽量

    209969
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10915

    瀏覽量

    356775
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5096

    瀏覽量

    97825
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ST×米爾STM32MP25x線下培訓(xùn)會(huì)倒計(jì)時(shí)12天

    STM32MP257D是ST推出的搭載了雙核Cortex-A35@1.5GHz和Cortex-M33@400MHz的微處理器。米爾電子基于STM32MP257D推出了MYD-LD25X
    的頭像 發(fā)表于 12-26 08:04 ?143次閱讀
    ST×米爾<b class='flag-5'>STM32MP</b>25x線下培訓(xùn)會(huì)倒計(jì)時(shí)12天

    ST×米爾STM32MP25x線下培訓(xùn)會(huì)

    STM32MP257D是ST推出的搭載了雙核Cortex-A35@1.5GHz和Cortex-M33@400MHz的微處理器。米爾電子基于STM32MP257D推出了MYD-LD25X
    的頭像 發(fā)表于 12-06 01:00 ?302次閱讀
    ST×米爾<b class='flag-5'>STM32MP</b>25x線下培訓(xùn)會(huì)

    使用STM32CubeIDE建的MP257F工程會(huì)出現(xiàn)大量缺庫現(xiàn)象,為什么?

    在使用STM32MP257開發(fā)板和STM32CubeIDE創(chuàng)建工程時(shí),我遇到了在導(dǎo)入OpenAMP庫后編譯工程出現(xiàn)的問題。編譯時(shí)提示找不到某些庫文件。為了解決這一問題,我嘗試從
    發(fā)表于 07-24 07:23

    STM32CubeIDE編譯工程報(bào)錯(cuò)如何解決?

    arm-none-eabi-gcc \"../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c\" -mcpu=cortex-m4 -std
    發(fā)表于 07-23 07:06

    請(qǐng)問stm32cubeide怎么取ImageER_IROM1Limit?

    MDK的時(shí)候取image大小是用\"ImageER_IROM1Limit\"這樣的,但是stm32cubeide用不了,大家有什么辦法嗎?謝謝
    發(fā)表于 05-29 06:03

    STM32cubeide如何能打開以前cubemx工程文件(*.ioc文件)?

    請(qǐng)教: STM32cubeideSTM32CubeMX+編譯器的整合版本 為了縮減開發(fā)時(shí)間,想直接打開原來cubemx的項(xiàng)目。 請(qǐng)教:STM32cubeide如何能打開以前cubem
    發(fā)表于 04-16 08:03

    怎樣使用STM32MP157A-DK1探索板的m4和SAI協(xié)議做音頻開發(fā),比如錄音?

    怎樣使用STM32MP157A-DK1探索板的m4和SAI協(xié)議做音頻開發(fā),比如錄音? M4開發(fā)包沒有audio codec的接口可以使用,
    發(fā)表于 04-11 06:53

    STM32CubeIDE生成STM32F4Discovery的RTOS工程無法運(yùn)行的原因?怎么解決?

    遇到問題的步驟: 1. 打開STM32CubeIDE, 然后新建STM32工程 2. 選擇板子, 型號(hào)為:STM32F407-DISC1, 然后命名為: test407 3. 在
    發(fā)表于 04-11 06:16

    STM32CubeMX生成stm32cubeide工程報(bào)錯(cuò)的原因?怎么解決?

    使用STM32CubeMX,建立了STM32F103VC的工程文件,能夠生成IAR工程,正常使用沒有問題。由于IAR調(diào)試時(shí)老是閃退,想換STM32CubeIDE用用,安裝了最新的1.42版本。但就是
    發(fā)表于 04-07 07:14

    STM32H757XI使用STM32CubeIDE雙核一起調(diào)試,cortex-M7無法運(yùn)行怎么解決?

    ) != RESET) (timeout-- &gt; 0)); 然后用盡時(shí)間進(jìn)入Error_Handler(void)。 但是與此同時(shí)cortex-M4可以正常調(diào)試。 如果不勾選
    發(fā)表于 04-01 06:02

    MCU友好過渡MPU,米爾基于STM32MP135開發(fā)板裸機(jī)開發(fā)應(yīng)用筆記

    體驗(yàn)。米爾提供了支持裸機(jī)開發(fā)環(huán)境,接下來就讓我們介紹如何在米爾的STM32MP135開發(fā)板上進(jìn)行裸機(jī)開發(fā)。?
    發(fā)表于 03-29 18:35

    請(qǐng)問STM32CubeIDE如何查看代碼總行數(shù)?

    近期填寫資料,需要寫當(dāng)前項(xiàng)目源代碼總行數(shù),使用的STM32CubeIDE開發(fā)的,想請(qǐng)教一下,這個(gè)IDE怎么看代碼的總行數(shù)?
    發(fā)表于 03-28 07:07

    使用STM32CubeIDE初始化STM32407的SPI1(PB3)初始化失敗的原因?怎么解決?

    使用STM32CubeIDE初始化STM32407的SPI1(PB3)初始化失敗,有人知道原因嗎?
    發(fā)表于 03-25 07:50

    stm32mp135f的開發(fā)環(huán)境能不能像普遍的mp1系列去搭建呢?

    我們要使用stm32mp135f芯片,它的開發(fā)環(huán)境能不能像普遍的mp1系列去搭建呢(例如stn32mp
    發(fā)表于 03-20 06:32

    盤點(diǎn)那些硬件+項(xiàng)目學(xué)習(xí)套件:STM32MP157 Linux開發(fā)板及入門常見問題解答

    主控芯片: ST首款Cortex-A系列MPU,STM32MP157雙核異構(gòu),2*Cortex-A7核+1個(gè)Cortex-M4核 存儲(chǔ)容量
    發(fā)表于 02-01 14:25