目錄
一、cubeIDE 集成cubeMX
二、STM32CubeMX界面簡介
??????? 2.1 總界面及支持功能
?????? 【1】 功能頁面
???????? 【2】支持配置的功能欄目
???????? 2.2 通信接口外設(shè)配置
??????? 【1】CAN外設(shè)
???????? 【2】FMC外設(shè)
??????? 【3】I2C外設(shè)
??????? 【4】串口通信外設(shè)(LPUSART*和USART*)
???????? 【5】QUADSPI外設(shè)
??????? 【6】SDMMC外設(shè)
??????? 【7】SPI外設(shè)
??????? 【8】SWPMI外設(shè)
??????? 【9】USB外設(shè)
2.3多媒體外設(shè)相關(guān)設(shè)置
??????? 【1】DCMI外設(shè)
??????? 【2】DMA2D外設(shè)
??????? 【3】LCD外設(shè)
??????? 【4】SAI外設(shè)
2.4 計算功能相關(guān)
??????? 【1】CRC校驗計算
??????? 【2】DFSDM外設(shè)
2.5 中間件功能相關(guān)
??????? 【1】文件系統(tǒng)
??????? 【2】嵌入式系統(tǒng)(FreeRTOS)
??????? 【3】觸控感應(yīng)
??????? 【4】USB(USB設(shè)備、USB主機)
2.6 定時器
??????? 【1】低功耗定時器
???????? 【2】RTC實時時鐘
???????? 【3】普通定時器
?2.7 系統(tǒng)內(nèi)核相關(guān)
??????? 【1】系統(tǒng)
?????????【2】系統(tǒng)時鐘設(shè)置
???????? 【3】中斷功能總述
??????? 【4】DMA功能總述
???????? 【5】GPIO引腳配置總述
??????? 【6】看門狗(獨立看門狗(硬)、窗口看門狗(軟))
??????? 【7】User Constants
?三、時鐘樹設(shè)置
四、圖形窗口設(shè)置
??????? 4.1 軟件包
??????? 4.2 端口視圖
??????? 4.3 系統(tǒng)視圖
五、工程頁面配置
??????? 5.1 工程配置
??????? 5.2 代碼生成頁面
??????? 5.3 工程高級配置頁面
?六、生成代碼概述說明
一、cubeIDE 集成cubeMX
??????? STM32CubeMX是st公司早期產(chǎn)品,現(xiàn)已經(jīng)成為STM32Cube開發(fā)套件的一部分,直接集成到cubeIDE 開發(fā)平臺省,是一種芯片引腳圖形配置工具,可以非常輕松地配置STM32微控制器和微處理器,以及為Arm? Cortex?-M內(nèi)核或面向Arm? Cortex?-A內(nèi)核的特定Linux?設(shè)備樹生成相應(yīng)的初始化C代碼。
????????STM32CubeMX配置分布過程:
????????【1】選擇與所需外設(shè)集匹配的意法半導(dǎo)體STM32微控制器、微處理器或開發(fā)平臺,同時包括在特定開發(fā)平臺上運行的示例。
??????? 【2】對于微處理器,允許配置GPIO和設(shè)置整個系統(tǒng)的時鐘,并交互地將外設(shè)分配給Arm? Cortex?-M或Cortex?-A內(nèi)核。特定實用工具(如DDR配置和微調(diào))增強了STM32微處理器的易用性。對于Cortex?-M內(nèi)核,配置包含了額外步驟,與微控制器的十分相似。
??????? 【3】對于微控制器和微處理器Arm? Cortex?-M,通過引腳分配沖突處理器、時鐘樹設(shè)置助手、功耗計算器,以及用于配置外設(shè)(如GPIO或USART)和中間件棧(如USB或TCP/IP)的實用工具來配置各個必需的嵌入式軟件。
??????? 【4】借助增強型STM32Cube擴展包,可擴展默認(rèn)軟件和中間件棧。通過STM32CubeMX中可用的專用包管理器,直接下載意法半導(dǎo)體或意法半導(dǎo)體合作伙伴提供的軟件包,其他軟件包可以從本地驅(qū)動器進行安裝。
??????? 【5】STM32CubeMX中的獨特實用程序STM32PackCreator可幫助開發(fā)人員構(gòu)建自己的增強型STM32Cube擴展包。
????????【6】用戶可以生成與所選配置匹配的軟件包。這一步提供Arm? Cortex?-M初始化C代碼(可隨時用于多個開發(fā)環(huán)境),或面向Arm? Cortex?-A的部分Linux?設(shè)備樹。
二、STM32CubeMX界面簡介
??????? 下面將基于STM32L496VGTX型號芯片為示例,全面闡述STM32CubeMX可支持到那些配置功能。
??????? 2.1 總界面及支持功能
?????? 【1】 功能頁面
???????? 【2】支持配置的功能欄目
???????? 2.2 通信接口外設(shè)配置
??????? 【1】CAN外設(shè)
???????? 【2】FMC外設(shè)
??????? 【3】I2C外設(shè)
??????? 【4】串口通信外設(shè)(LPUSART*和USART*)
???????? 【5】QUADSPI外設(shè)
??????? 【6】SDMMC外設(shè)
??????? 【7】SPI外設(shè)
??????? 【8】SWPMI外設(shè)
??????? 【9】USB外設(shè)
2.3多媒體外設(shè)相關(guān)設(shè)置
??????? 【1】DCMI外設(shè)
??????? 【2】DMA2D外設(shè)
??????? 【3】LCD外設(shè)
??????? 【4】SAI外設(shè)
2.4 計算功能相關(guān)
??????? 【1】CRC校驗計算
??????? 【2】DFSDM外設(shè)
????????DFSDM(Digital Filter for Sigma Delta Modulators)數(shù)字濾波模塊,配合外設(shè)配合Σ-Δ器件的使用。
2.5 中間件功能相關(guān)
??????? 【1】文件系統(tǒng)
??????? 【2】嵌入式系統(tǒng)(FreeRTOS)
??????? 【3】觸控感應(yīng)
??????? 【4】USB(USB設(shè)備、USB主機)
2.6 定時器
??????? 【1】低功耗定時器
???????? 【2】RTC實時時鐘
???????? 【3】普通定時器
?????? ??????? STM32的普通定時器分為高級定時器、 通用定時器 、基本定時器三種。這三個定時器成上下級的關(guān)系,即基本定時器有的功能通用定時器都有,而且還增加了向下、向上/向下計數(shù)器、PWM生成、輸出比較、輸入捕獲等功能;而高級定時器又包含了通用定時器的所有功能,另外還增加了死區(qū)互補輸出、剎車信號。
?2.7 系統(tǒng)內(nèi)核相關(guān)
??????? 【1】系統(tǒng)
?????????【2】系統(tǒng)時鐘設(shè)置
???????? 【3】中斷功能總述
??????? 【4】DMA功能總述
???????? 【5】GPIO引腳配置總述
??????? 【6】看門狗(獨立看門狗(硬)、窗口看門狗(軟))
??????? 【7】User Constants
????????各個外設(shè)及功能都支持自定常量,其實就是在圖形配置設(shè)置宏定義,各個外設(shè)及功能配置頁面定義的User Constants均會在main.h中#define聲明。
?三、時鐘樹設(shè)置
??????? 時鐘樹綜合配置,各個最終頻率是否生效取決與前面外設(shè)功能開啟及配置,最終頻率數(shù)值則由時鐘源+各個選擇器、分頻器、倍頻器加權(quán)后計算得到。當(dāng)使用外部時鐘源時,必須先啟用它們 在RCC外圍設(shè)備上可用的引腳視圖。
????????當(dāng)MCU支持時,啟用HSE上的時鐘安全系統(tǒng)(CSS) 只有當(dāng)HSE時鐘直接或通過PLL間接用作系統(tǒng)時鐘源時才能使用該功能。 它可以檢測HSE 故障并通知軟件,從而允許MCU執(zhí)行救援操作。 當(dāng)MCU支持時,在LSE上啟用CSS 只有當(dāng)LSE和LSI被使能并且RTC或LCD時鐘源被選擇為LSE或LSI之后,該功能才可用。?
四、圖形窗口設(shè)置
??????? 4.1 軟件包
??????? 4.2 端口視圖
??????? pinout菜單主要就是針對引腳圖形配置界面提供的相關(guān)快捷功能或顯示功能設(shè)定。
??????? 4.3 系統(tǒng)視圖
??????? 點擊已開啟功能將會自動彈出相應(yīng)的外設(shè)或功能配置頁面。
五、工程頁面配置
??????? 5.1 工程配置
??????? 5.2 代碼生成頁面
??????? 5.3 工程高級配置頁面
?六、生成代碼概述說明
????????在C代碼生成過程中,STM32CubeMX執(zhí)行以下操作:
??????? 【1】 如果缺失,則從用戶存儲庫下載相關(guān)的STM32Cube固件包。 STM32CubeMX存儲庫文件夾可在幫助>更新器設(shè)置菜單中指定。
??????? 【2】如果選擇了中間件,它將從固件包,Drivers / CMSIS和Drivers /STM32L4_HAL_Driver文件夾中的相關(guān)文件以及Middleware文件夾中復(fù)制。
??????? 【3】它生成對應(yīng)于用戶MCU配置的初始化C代碼(.c / .h文件),并將其存儲在Inc和Src文
件夾中。 默認(rèn)情況下,還包含以下文件(具體文件名與芯片型號有關(guān)):文章來源:http://www.zghlxwxcb.cn/news/detail-411352.html
- ?– – stm32l4xx_hal_conf.h文件:該文件定義啟用的HAL模塊,并將一些參數(shù)(例如外部高速振蕩器頻率)設(shè)置為預(yù)定義的默認(rèn)值或根據(jù)用戶配置(時鐘樹)。
- – – stm32l4xx_hal_msp.c(MSP = MCU支持包):該文件定義了所有初始化函數(shù),根據(jù)用戶配置(引腳分配,時鐘使能,DMA使用和中斷)配置外設(shè)實例。
- – – stm32l4xx_it.h/.c文件:中斷處理程序
- ?– – system_stm32l4xx.c文件:實現(xiàn)SystemInit、SystemCoreClock、SystemCoreClockUpdate相關(guān)函數(shù)及一些全局變量。
- – – sysmem.c文件:系統(tǒng)內(nèi)存調(diào)用函數(shù)實現(xiàn)
- ?– – syscalls.c文件:最簡系統(tǒng)實現(xiàn),使用標(biāo)準(zhǔn)C庫函數(shù)
- –– main.c負(fù)責(zé):
- ?通過調(diào)用重置所有外設(shè)的HAL_init()函數(shù)將MCU重置為已知狀態(tài),初始化閃存接口和SysTick。
- ?配置和初始化系統(tǒng)時鐘。
- ?配置和初始化未被外設(shè)使用的GPIO。
- ?為每個配置的外設(shè)定義和調(diào)用一個外設(shè)初始化函數(shù),該函數(shù)定義一個句柄結(jié)構(gòu),該句柄結(jié)構(gòu)將被傳遞到相應(yīng)的外設(shè)HAL初始化函數(shù),然后調(diào)用外設(shè)的HAL MSP初始化函數(shù)。 請注意,當(dāng)使用LwIP(分別為USB)中間件時,底層以太網(wǎng)(分別為USB外設(shè))的初始化C代碼將從main.c移至LwIP(分別為USB)初始化C代碼本身。
- ?– – main.h文件:該文件包含與Pinout選項卡中設(shè)置的引腳標(biāo)簽相對應(yīng)的定義語句,以及從Configuration選項卡添加的用戶項目常量。
??????? 【4】最后,它會生成一個Projects文件夾,其中包含與用戶項目設(shè)置相匹配的工具鏈特定文
件。 雙擊IDE特定的項目文件啟動IDE并加載準(zhǔn)備編輯,構(gòu)建和調(diào)試的項目。文章來源地址http://www.zghlxwxcb.cn/news/detail-411352.html
到了這里,關(guān)于STM32CubeIDE開發(fā)(二), 全面解析cubeMX圖形配置工具的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!