Replies: 1 comment
-
For the memory translation, I tried to use sys_mm_drv_page_phys_get, but I got a linking error for the RPI_5. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I'm working on Raspberry Pi 5 using base Zephyr (no custom drivers), and I'm facing two fundamental challenges when trying to use DMA memory:
Questions
Is guaranteed to be in a DMA-safe physical region (e.g., 0x40000000–0x80000000 on RPi5)?
Is non-cacheable or cache-coherent (as required by DMA engines)?
There is no public API such as arch_mem_va_to_pa() or arch_mem_pa_to_va() in AArch64
In practice, it's often necessary to get the physical address to program a DMA engine, or map a PA buffer returned from a device
What I've tried
Environment
Test result
allocated memory addresses with k_heap_aligned_alloc from here
.nocache_heap 0x000000000021f940 0x400 .nocache_heap 0x000000000021f940 0x400 app/libapp.a(main.c.obj)
Beta Was this translation helpful? Give feedback.
All reactions