2019-05-19 10:48 PM
Dear all,
how can the Cortex-M4 MCU (bare metal or RTOS) exchange data fast with the A7-Linux system? Can the M4 access the DDR RAM of the Linux system, like the PRU on the Beaglebone can do? In the datasheet, there is a connection between the AHB bus and the AXI bus, maked as asynchronous, so it looks like there is a DMA channel for this.
I could not find an example code or project, showing a fast data exchange between the memories of M4 and A7. Does ST provide an example for this?
Thanks,
Michael
Solved! Go to Solution.
2019-05-23 05:35 AM
Hi,
Cortex-M4 is not intended to access DDR content. Cortex-M4 has no cache and asynchronous path to AXI bus has not been optimized for that, so Cortex-M4 performance will be very largely impacted.
Furthermore, accessing small chunk of data to a DDR is never a good choice, as this will affect the DDRCTRL scheduling and so the performance of other AXI masters accessing the DDR SDRAM.
Although it is possible from HW point of view, in our Linux deliveries, Cortex-M4 access is forbidden inside TrustZone address space controller for DDR (TZC).
For data exchange between A7 and M4 please have a look to discussion on this post.
Hope it help
BR,
Olivier
2019-05-23 05:35 AM
Hi,
Cortex-M4 is not intended to access DDR content. Cortex-M4 has no cache and asynchronous path to AXI bus has not been optimized for that, so Cortex-M4 performance will be very largely impacted.
Furthermore, accessing small chunk of data to a DDR is never a good choice, as this will affect the DDRCTRL scheduling and so the performance of other AXI masters accessing the DDR SDRAM.
Although it is possible from HW point of view, in our Linux deliveries, Cortex-M4 access is forbidden inside TrustZone address space controller for DDR (TZC).
For data exchange between A7 and M4 please have a look to discussion on this post.
Hope it help
BR,
Olivier