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

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

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

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

STM32H7 BDMA應(yīng)用示例及實現(xiàn)過程分析

茶話MCU ? 來源:茶話MCU ? 作者:茶話MCU ? 2022-11-06 21:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有人利用STM32H743系列芯片做開發(fā),他想使用片內(nèi)BDMA將GPIO的數(shù)據(jù)讀到內(nèi)存,并通過LPTIM觸發(fā)DMA傳輸時卻遇到點麻煩,發(fā)現(xiàn)總是實現(xiàn)不了。這里我簡單介紹下實現(xiàn)過程,并做些提醒。

STM32H7系列的時鐘系統(tǒng)以及內(nèi)部總線、功能框架相比其它M3/M4內(nèi)核的STM32芯片要負(fù)責(zé)不少。整個芯片根據(jù)運行時鐘高低及總線架構(gòu)大致分為3個區(qū)域,其中BDMA位于區(qū)域3即D3域。

在STM32H7系列參考手冊中有下面的一副系統(tǒng)功能框圖:

0572414c-5ce1-11ed-a3b6-dac502259ad0.png

我們在上圖的右下角可以看到BDMA,而且BDMA只能訪問AHB4APB4總線上的外設(shè)和SRAM4及備份SRAM. 另外,我們還可以從手冊上進(jìn)一步了解到,GPIO外設(shè)都是掛在AHB4總線上的。

05a7040e-5ce1-11ed-a3b6-dac502259ad0.png

結(jié)合上面介紹可知,現(xiàn)在既然使用BDMA,內(nèi)存RAM就不能選擇SRAM4和備份RAM以外的區(qū)域,否則BDMA鞭長莫及而訪問不到他們。這是要注意的地方。

另外,這里需要用到LPTIM2的輸出事件來觸發(fā)DMA請求,要使用DMAMUX并完成相關(guān)配置。

062af656-5ce1-11ed-a3b6-dac502259ad0.png

配置LPTIM2讓它可以產(chǎn)生周期性輸出事件即可,實際參數(shù)視具體應(yīng)用而擬定。

066311ee-5ce1-11ed-a3b6-dac502259ad0.png

現(xiàn)在對BDMA做些配置,如下圖示。LPTIM2的每次輸出事件申請一個DMA請求。

0998bfee-5ce1-11ed-a3b6-dac502259ad0.png

另外,我還配置了GPIOC的幾個管腳,以便做測試。這里就不貼配置截圖了。

把時鐘系統(tǒng)配置完后就可以基于STM32CubeIDE和STM32Cube庫的工程。

再添加幾行用戶代碼就可以著手測試。添加的函數(shù)代碼分別是關(guān)于開啟DMAmux、啟動DMA傳輸和啟動LPTIM2的操作。

LPTIM_HandleTypeDefhlptim2;

DMA_HandleTypeDefhdma_bdma_generator0;

09d967ec-5ce1-11ed-a3b6-dac502259ad0.png

這里我把GPIO_INData[]數(shù)組地址指定到了BDMA可以訪問到的SRAM4.,它對應(yīng)STM32CubeIDE鏈接文件里的RAM_D3。

09fe7fb4-5ce1-11ed-a3b6-dac502259ad0.png

0a3208ac-5ce1-11ed-a3b6-dac502259ad0.png

最后驗證結(jié)果,我們可以看到BDMA從GPIOC端口讀到的數(shù)據(jù)。

0a5f127a-5ce1-11ed-a3b6-dac502259ad0.png

整體來講,實現(xiàn)起來比較簡單,重點注意BDMA可以訪問哪些地方弄清楚,在指定內(nèi)存地址這個地方不同IDE環(huán)境操作上略有差異。再就是要用到LPTIM周期性事件申請DMA請求來實現(xiàn)傳輸。

審核編輯:郭婷

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

    關(guān)注

    459

    文章

    52465

    瀏覽量

    440332
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2959

    瀏覽量

    89718

原文標(biāo)題:STM32H7 BDMA應(yīng)用示例

文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

    我正在使用STM32CubeIDE對STM32H7系列雙核微控制器進(jìn)行開發(fā)和調(diào)試,但遇到了一個頑固的問題,希望能得到社區(qū)的幫助和建議。 ### 問題描述 我根據(jù)應(yīng)用手冊AN5361,使用內(nèi)置示例
    發(fā)表于 05-14 06:20

    STM32H743VIT6 ST單片機 參數(shù)及應(yīng)用場景

    STM32H743VIT6 是意法半導(dǎo)體(STMicroelectronics)推出的一款高性能 Cortex-M7 微控制器,屬于 STM32H7 系列。它憑借強大的處理能力、豐富的外設(shè)和低功耗
    的頭像 發(fā)表于 05-12 11:19 ?636次閱讀
    <b class='flag-5'>STM32H</b>743VIT6 ST單片機 參數(shù)及應(yīng)用場景

    單片機ST控制lan8651的示例

    基于STM32單片機控制LAN8651的示例框架和關(guān)鍵步驟說明: 硬件準(zhǔn)備 主控芯片:STM32F4/F7/H7系列(需支持SPI或MAC接
    發(fā)表于 03-26 10:46

    如何通過J-Link實現(xiàn)STM32H5控制調(diào)試端口

    基于J-Link實現(xiàn)STM32H5安全編程介紹了在禁用TrustZone時,如何通過J-Link實現(xiàn)STM32H5控制調(diào)試端口的安全鎖定或回歸打開。
    的頭像 發(fā)表于 03-17 10:25 ?492次閱讀
    如何通過J-Link<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>STM32H</b>5控制調(diào)試端口

    使用STM32H7的FDCAN通訊,為什么CAN1會收到CAN2的幀ID,CAN2也會收到CAN1的?

    使用STM32H7的FDCAN通訊,請問為什么CAN1會收到CAN2的幀ID,CAN2也會收到CAN1的?
    發(fā)表于 03-14 10:33

    當(dāng)內(nèi)存不夠時,stm32h7 ITCM可以當(dāng)普通ram用嗎?

    當(dāng)內(nèi)存不夠時,stm32h7 ITCM可以當(dāng)普通ram用嗎
    發(fā)表于 03-14 06:13

    使用H723的SPI6+BDMA組合,通信過程經(jīng)常報UDR和OVR錯誤中斷怎么解決?

    使用H723的SPI6+BDMA組合。通信過程經(jīng)常報UDR和OVR錯誤中斷。有時直接卡住,無法通信。
    發(fā)表于 03-14 06:07

    求助,關(guān)于STM32H7系列芯片下的ECC功能的疑問求解

    《rm0399-stm32h745755-and-stm32h747757-advanced-armbased-32bit-mcus-stmicroelectronics》和《an5342-STM32H7系列內(nèi)部存儲器保護(hù)的糾錯碼(ECC)管理》均說明了無法關(guān)閉RAM區(qū)的
    發(fā)表于 03-11 07:43

    STM32H7 ADC_IRQHandler和ADC3_IRQHandler這兩個中斷入口函數(shù)在使用上有什么區(qū)別?

    STM32H7,ADC_IRQHandler和ADC3_IRQHandler這兩個中斷入口函數(shù)在使用上有何區(qū)別?
    發(fā)表于 03-11 07:28

    STM32H7 0x00000000地址的內(nèi)容引發(fā)hardfault怎么解決?

    STM32H7,串口初始化時執(zhí)行HAL_UART_MspDeInit函數(shù),調(diào)用HAL_NVIC_DisableIRQ(huart-&gt;hdmarx-&gt
    發(fā)表于 03-07 08:15

    【正點原子STM32H7R3開發(fā)套件試用體驗】流水燈

    工程,之后使用 Keil MDK IDE 編譯代碼,實現(xiàn)流水燈的項目流程。從配置過程中發(fā)現(xiàn),系統(tǒng)核心具有極高的運行速率,STM32H7系列具有32位Arm Cortex?-M7內(nèi)核,運
    發(fā)表于 12-28 18:51

    【正點原子STM32H7R3開發(fā)套件試用體驗】開箱、簡介、上電、工程測試

    STM32H7 系列中的 Bootflash 產(chǎn)品線,其特點是具有支持 XiP 的高速外部存儲器接口,這使得在 ROM 和 RAM 的擴展上有很高的自由度,并且在其高達(dá) 600 MHz 主頻內(nèi)核的加持下
    發(fā)表于 12-22 11:52

    【正點原子STM32H7R3開發(fā)套件試用體驗】+01-開箱體驗

    STM32H7R3核心板采用ST推出的基于ARMCortex-M7內(nèi)核的高性能微處理器STM32H7R3L8H6H,主頻高達(dá)600MHz,屬于STM32H7系列中的Bootflash產(chǎn)
    發(fā)表于 12-05 20:10

    STM32嵌入式顯示器:首款采用STM32H7的高清屏幕,讓各種規(guī)模的項目都能顯示漂亮的GUI

    開發(fā)板。從1.54英寸到12.1英寸,他們的解決方案包括STM32 H7STM32 U 5。新的Nucleo-64顯示器套件僅隨顯示器一起提供,因此對于希望實現(xiàn)具有成本效益的概念驗證
    的頭像 發(fā)表于 11-20 15:43 ?1329次閱讀
    <b class='flag-5'>STM32</b>嵌入式顯示器:首款采用<b class='flag-5'>STM32H7</b>的高清屏幕,讓各種規(guī)模的項目都能顯示漂亮的GUI

    stm32H7 HAL庫中存在的bug

    stm32H7 hal 庫里面的以太網(wǎng)代碼,坑了魚鷹很多次(不知道最新版是否已經(jīng)修復(fù)了這些bug),這里分享一篇網(wǎng)上的文章,因為魚鷹也遇到過,靠它解決了其中一個編譯優(yōu)化問題,在此感謝作者。不過hal
    的頭像 發(fā)表于 08-12 17:37 ?2274次閱讀