<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > stm32 DMA性能資料

stm32 DMA性能資料

作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò ) 收藏
為了快速傳送一個(gè)數據塊,使用 DMA 傳送程序(Mem to Mem 16bits) 測量了一下傳送的時(shí)間,128個(gè)16b數據大約用了12us (72Mhz 時(shí)鐘)。 換句話(huà)來(lái)說(shuō),STM32 DMA 性能為10M/s


又使用memcpy 來(lái)比對一下,用時(shí)約4us ,顯然memcpy 要快很多。

btw, 在ST的手冊里面未見(jiàn)對DMA性能的表述。

本文引用地址:http://dyxdggzs.com/article/201611/321188.htm

----------------------------------

DMA傳送數據的速度不會(huì )比CPU直接傳送數據快,因為總

線(xiàn)頻率沒(méi)有變。

當CPU也在運行執行指令時(shí),DMA傳送數據的速度會(huì )比CPU直接傳送數據慢,這是因為DMA與CPU分時(shí)使用同一條總線(xiàn)的緣故。

----------------------------------

有一個(gè)專(zhuān)門(mén)講DMA性能的手冊的,你可以在官網(wǎng)上找到的
里面對DMA的性能描述得很清楚
AN2548 Using the STM32F101xx and STM32F103xx DMA controller

----------------------------------------

這個(gè)說(shuō)法有點(diǎn)問(wèn)題
DMA數據傳送是memory->memory
memcpy是memory -> cpu_internal_register -> memory

memcpy快應該是因為1. memcpy采用了ldm/stm指令,這個(gè)對提高速度很有幫助 2. 總線(xiàn)仲裁偏袒cpu core

---------------------------------------

恩............ DMA控制器并不在memory之內?我想你的意思是指MASTER DMA吧,像PCI那樣。但即使是legacy dma,由dma controller通過(guò)硬件的方式存取memory在通常情況下也應該比cpu快,因為不需要取指/解碼/執行這樣的流程。不過(guò)stm32的 controller不支持bust mode確實(shí)對其速度有很大影響,而ldm/stm指令實(shí)際上起到了bust mode的作用,可以在一次取指/解碼/執行過(guò)程中操作多個(gè)數據。如果controller支持burst,相信就可以超越memcpy的速度了。目前來(lái)看stm32 dma的速度確實(shí)不如memcpy,其最大的好處在于cpu可以不參與其過(guò)程。

-----------------------------------

非常同意byeyear 的解釋,順便問(wèn)一句,其他品牌的M3的DMA是否也不支持 burst 模式?

------------------------------------

DMA并不一定快,只是提高了有效代碼的運行效率。



關(guān)鍵詞: stm32DMA性能資

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>