一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

華清遠(yuǎn)見(jiàn)工控 ? 2021-10-13 17:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

寫(xiě)在前面:

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

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

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

資源擴(kuò)展板介紹

硬件介紹

poYBAGFmcj6AXKrxAAKh90fgDqA915.jpg

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

poYBAGFmcj6AXKrxAAKh90fgDqA915.jpg

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

STM32CubeIDE是一個(gè)高級(jí)C / C ++開(kāi)發(fā)平臺(tái),具有用于STM32微控制器微處理器的外設(shè)配置,代碼生成,代碼編譯和調(diào)試功能。它基于ECLIPSE?/ CDT框架和用于開(kāi)發(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

光盤(pán)路徑【華清遠(yuǎn)見(jiàn)-FS-MP1A開(kāi)發(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)無(wú)法識(shí)別,帶有驚嘆號(hào),需在高級(jí)啟動(dòng)中禁用驅(qū)動(dòng)程序強(qiáng)制簽名

STM32CubeIDE軟件使用

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

pYYBAGFmcj-AVN6cAABO1FP2kxQ850.jpg

軟件界面

pYYBAGFmcj-AbsOBAABygIkO1bg877.jpg

新建工程

打開(kāi)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

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

poYBAGD1MFWAXdlzAABW-5r3LmY634.png

點(diǎn)擊Yes打開(kāi)配置頁(yè)面

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,用戶(hù)無(wú)需修改。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)入成功了

編譯下載

開(kāi)發(fā)板連接

撥動(dòng)開(kāi)發(fā)板啟動(dòng)撥碼至001,開(kāi)發(fā)板上電,使開(kāi)發(fā)板處于Engineering mode,就可以進(jìn)行開(kāi)發(fā)或調(diào)試CM4固件了,連接好ST-LINK和開(kāi)發(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)容及配圖由入駐作者撰寫(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)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9353

    瀏覽量

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

    關(guān)注

    5152

    文章

    19675

    瀏覽量

    317611
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213828
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    365013
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5682

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    STM32CubeIDE報(bào)錯(cuò)編譯STM32MP135(Projects\\STM32MP135C-DK\\External_Loader)的原因?

    **** make all arm-none-eabi-gcc \"../syscalls.c\" -mcpu=cortex-a7 -std=gnu11 -g3 -DSTM32MP
    發(fā)表于 07-11 06:19

    使用STM32CubeIDE調(diào)試STM32MP157D的M4內(nèi)核時(shí)報(bào)了下圖這個(gè)錯(cuò)誤,怎么解決?

    我使用STM32CubeIDE調(diào)試STM32MP157D的M4內(nèi)核時(shí)報(bào)了下圖這個(gè)錯(cuò)誤: 經(jīng)過(guò)我的排除后發(fā)現(xiàn),應(yīng)該是STM32CubeIDE上傳&quot
    發(fā)表于 06-18 06:57

    stm32cubeIDE使用malloc失敗是什么原因?

    我在stm32cubeIDE環(huán)境下,已經(jīng)分配了足夠的棧與堆空間,但是我在的使用malloc分配內(nèi)存時(shí),一直分配不成功,這是什么原因?
    發(fā)表于 06-09 07:24

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè).pdf》資料
    發(fā)表于 06-06 17:06 ?5次下載

    stm32cubeIDE使用malloc失敗是什么原因?

    我在stm32cubeIDE環(huán)境下,已經(jīng)分配了足夠的棧與堆空間,但是我在的使用malloc分配內(nèi)存時(shí),一直分配不成功,這是什么原因?
    發(fā)表于 06-04 07:18

    使用STM32CubeIDE對(duì)STM32H7進(jìn)行開(kāi)發(fā)和調(diào)試,CM4始終報(bào)\"Failed to read ROM table via AP 3\"錯(cuò)誤怎么解決?

    ID : Rev V Device name : STM32H7xx Flash size: 2 MBytes Device type : MCU Device CPU: Cortex-M7/M4 BL
    發(fā)表于 05-14 06:20

    【米爾-STM32MP257開(kāi)發(fā)板試用體驗(yàn)】初次體驗(yàn)米爾-STM32MP257開(kāi)發(fā)

    257D是ST推出的搭載了雙核Cortex-A35 @1.5 GHz和Cortex-M33 @400 MHz的微處理器。米爾電子基于STM32MP257D推出了MYD-LD25X開(kāi)發(fā)
    發(fā)表于 04-30 16:21

    stm32cubeIDE使用malloc失敗的原因?

    我在stm32cubeIDE環(huán)境下,已經(jīng)分配了足夠的棧與堆空間,但是我在的使用malloc分配內(nèi)存時(shí),一直分配不成功,這是什么原因?
    發(fā)表于 04-27 06:45

    使用STM32CubeIDE調(diào)試STM32MP157D的M4內(nèi)核時(shí)報(bào)了錯(cuò)誤怎么解決?

    我使用STM32CubeIDE調(diào)試STM32MP157D的M4內(nèi)核時(shí)報(bào)了下圖這個(gè)錯(cuò)誤: 經(jīng)過(guò)我的排除后發(fā)現(xiàn),應(yīng)該是STM32CubeIDE上傳"
    發(fā)表于 03-14 06:01

    如何關(guān)閉STM32MP1 Developer Package開(kāi)機(jī)默認(rèn)的gtk演示程序?

    如題,如何關(guān)閉STM32MP1 Developer Package開(kāi)機(jī)默認(rèn)的gtk演示程序
    發(fā)表于 03-13 06:03

    盤(pán)點(diǎn)工程師常用的嵌入式開(kāi)發(fā)工具

    Cortex-M內(nèi)核的商用IDE,支持調(diào)試、編譯和仿真,廣泛用于STM32開(kāi)發(fā)。 IAR Embedded Workbench 支持多種架構(gòu)(ARM、RISC-V等),代碼優(yōu)化能力強(qiáng),適用于資源受限
    的頭像 發(fā)表于 02-07 10:06 ?2049次閱讀

    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 ?442次閱讀
    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 ?678次閱讀
    ST×米爾<b class='flag-5'>STM32MP</b>25x線下培訓(xùn)會(huì)

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

    在使用STM32MP257開(kāi)發(fā)板和STM32CubeIDE創(chuàng)建工程時(shí),我遇到了在導(dǎo)入OpenAMP庫(kù)后編譯工程出現(xiàn)的問(wèn)題。編譯時(shí)提示找不到某些庫(kù)文件。為了解決這一問(wèn)題,我嘗試從
    發(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