STM32 Bus Matrix DMA ve CPU Paylaşımı

Başlatan apsis, 05 Şubat 2021, 11:49:04

apsis

Merhaba,

CPU ile DMA aynı donanımı kullandığında matrix üzerinde çakışmaları engellemek adına round-robin denen yöntemi uyguluyor. Bu yöntemde erişim yapılmak istenen donanım için 1 clock cpu 1 clock dma'ya ayrılarak veri çakışması engelleniyor.



Mesela burada CPU yalnızca CCM-RAM ile çalışıyor olsun. Ben de SRAM1'de ayırdığım bir bölgeye DMA'dan veri yazıyor olsam Round-robin söz konusu olur mu?

Ya da ben DMA için sadece SRAM2'den bir alan ayırmış olayım. CPU'da kafasına göre takılsın. Resimde görüleceği üzere I-bus ve D-bus SRAM2 ile bağlantılı değil ama S-bus bağlantısı var. Yine de Round-Robin söz konusu olur mu?

Sonuçta çoğu donanım bir bus matrix üzerinden birbirine bağlı. Buradaki bağlantı noktaları bir switch görevi mi görüyor? Yoksa devamlı birbirlerine bağlı olan şeyler mi? Eğer böyleyse her durumda round-robin yapacaktır.

Dökümanları karıştırdım ama cevabı bulamadım.

"Makineye Beyin" MEKATRONİK