2023-03-07 10:41 PM
I am trying to exchange data in an indirect way using the rpmsg_sdb driver.
The memory in the cma area (0xe800000) was allocated through mmap in Linux.
When accessing the 0xe8000000 area in m4, a HardFault occurs and the program stops.
However, there is no problem in accessing areas below 0xe0000000, such as 0xd8000000.
Is there a limit to the ddr memory access area of the m4 processor?
Or is there a way to access areas above 0xe0000000?
2023-03-08 08:10 AM
Hi @ykim.3
Cortex-M4 only have access to the lower 512MBytes part of DDR (i.e. no access above 0xE000000). Please refer to product reference manual "Memory map and register boundary addresses"
I'm not Linux expert, but you should have some way to ask Linux to assign area with specific constrains.
https://wiki.st.com/stm32mpu/wiki/How_to_exchange_data_buffers_with_the_coprocessor
Regards,
Patrick
2023-03-09 05:41 PM
Hi, PatrickF.
When I use mmap in linux it is allocated from cma address 0xe8000000 .
How to assign cma address below 0xe0000000 in linux dts?
Thanks.
2023-03-14 01:02 AM
Hi, PatrickF.
When I use mmap in linux it is allocated from cma address 0xe8000000 .
How to assign cma address below 0xe0000000 in linux dts?
Thanks