91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

STM32H7系列的時鐘系統(tǒng)以及內(nèi)部總線、功能框架相比其它M3/M4內(nèi)核的STM32芯片要負(fù)責(zé)不少。整個芯片根據(jù)運(yùn)行時鐘高低及總線架構(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í)際參數(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

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

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

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

審核編輯:郭婷

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

    關(guān)注

    463

    文章

    54040

    瀏覽量

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

    關(guān)注

    10

    文章

    3042

    瀏覽量

    91692

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    LAT1602_STM32H7 的 3 個 ADC 時鐘同步方法

    STM32H7 系列中使用多個 ADC 時,存在 ADC 時鐘不同步的風(fēng)險,這可能導(dǎo)致一個 ADC模塊干擾其他 ADC 模塊的轉(zhuǎn)換過程。當(dāng) ADC1 和 ADC2 以雙模(dual mode)工作
    發(fā)表于 03-11 10:51 ?0次下載

    STM32H7S78-DK探索套件深度解析與技術(shù)應(yīng)用指南

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

    STM32H7的FDCAN驅(qū)動找不到是怎么回事?

    看論壇上已經(jīng)有朋友在用了H7的fdcan驅(qū)動了( 記錄下H7調(diào)試FDCAN驅(qū)動的歷程 ), 可是我在3.0、4.1 、5.1的源碼中都沒有找到 ,請問對應(yīng)的drv_fdcan.c文件在哪里能找到呢?
    發(fā)表于 09-11 08:03

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

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

    從 rtthread studio 上拉下來的 stm32h7 FDACN 驅(qū)動調(diào)不通是哪里的問題?

    請問我從 rtthread studio 上拉下來的 stm32h7 FDACN 驅(qū)動調(diào)不通,是這個驅(qū)動有問題嗎
    發(fā)表于 09-10 06:03

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

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

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

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

    求助,關(guān)于stm32H7多DMA數(shù)據(jù)流問題求解

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

    使用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單片機(jī) 參數(shù)及應(yīng)用場景

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

    單片機(jī)ST控制lan8651的示例

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

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

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