国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

STM32H7 BDMA應用示例及實現過程分析

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

掃碼添加小助手

加入工程師交流群

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

STM32H7系列的時鐘系統以及內部總線、功能框架相比其它M3/M4內核的STM32芯片要負責不少。整個芯片根據運行時鐘高低及總線架構大致分為3個區域,其中BDMA位于區域3即D3域。

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

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

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

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

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

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

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

配置LPTIM2讓它可以產生周期性輸出事件即可,實際參數視具體應用而擬定。

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

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

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

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

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

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

LPTIM_HandleTypeDefhlptim2;

DMA_HandleTypeDefhdma_bdma_generator0;

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

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

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

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

最后驗證結果,我們可以看到BDMA從GPIOC端口讀到的數據。

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

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

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    463

    文章

    54010

    瀏覽量

    466155
  • 總線
    +關注

    關注

    10

    文章

    3040

    瀏覽量

    91667

原文標題:STM32H7 BDMA應用示例

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32H7S78-DK探索套件深度解析與技術應用指南

    的應用。STMicroelectronics STM32H7S78-DK套件具有各種硬件特性,包括USB Type-C? 、Octo-SPI閃存、Hexadeca-SPI PSRAM器件、音頻編解碼器、數字麥克風、ADC、用戶按鈕和靈活擴展連接器。這些連接器便于輕松實現
    的頭像 發表于 10-20 15:34 ?1016次閱讀
    <b class='flag-5'>STM32H7</b>S78-DK探索套件深度解析與技術應用指南

    RTthread 4.1 stm32h7系列不支持pwm要怎么處理?

    找問題找了很久,搜到了一個4.0.2版本pwm 沒有支持STM32H7系列的帖子 現在是4.1 還是沒有,求助大佬幫改個代碼 報錯信息 驅動程序里沒有STM32H7的 static
    發表于 09-10 07:34

    從 rtthread studio 上拉下來的 stm32h7 FDACN 驅動調不通是哪里的問題?

    請問我從 rtthread studio 上拉下來的 stm32h7 FDACN 驅動調不通,是這個驅動有問題嗎
    發表于 09-10 06:03

    rt thread studio編寫STM32H7不能使用V2版串口驅動是怎么回事?

    使用rt thread studio編寫STM32H7程序,使用rt thread settings可視化工具配置:使用UART設備驅動程序,配置為RT_USING_SERIAL_V2,但是使用的還是drv_usart.c,沒有drv_usart_v2.c。這是真么回事
    發表于 08-29 07:56

    STM32H7使用HAL庫如何控制外置USB HS PHY進入低功耗?

    項目使用STM32H7的HAL庫控制外置USB HS PHY(如USB3300或CH132)的。不知如何讓MCU通過ULPI接口寫寄存器讓USB HS PHY進入低功耗,且USB保持鏈接狀態讓PC可以重新喚醒。
    發表于 08-14 07:21

    求助,關于stm32H7多DMA數據流問題求解

    情況如下:stm32H7配置了一個adc進行采樣,通過dma進行數據傳輸,串口接收和發送命令,用兩個dma數據流通道,采用的空閑中斷。 問題:adc一直在中斷中,調試未進入串口中斷,關閉adc后串口
    發表于 07-29 15:02

    使用STM32CubeIDE對STM32H7進行開發和調試,CM4始終報\"Failed to read ROM table via AP 3\"錯誤怎么解決?

    我正在使用STM32CubeIDE對STM32H7系列雙核微控制器進行開發和調試,但遇到了一個頑固的問題,希望能得到社區的幫助和建議。 ### 問題描述 我根據應用手冊AN5361,使用內置示例
    發表于 05-14 06:20

    STM32H743VIT6 ST單片機 參數及應用場景

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

    單片機ST控制lan8651的示例

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

    如何通過J-Link實現STM32H5控制調試端口

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

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

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

    當內存不夠時,stm32h7 ITCM可以當普通ram用嗎?

    當內存不夠時,stm32h7 ITCM可以當普通ram用嗎
    發表于 03-14 06:13

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

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

    求助,關于STM32H7系列芯片下的ECC功能的疑問求解

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

    STM32H7 ADC_IRQHandler和ADC3_IRQHandler這兩個中斷入口函數在使用上有什么區別?

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