2019-05-10 05:19 AM
I am interested in the maximum transmission bandwidth between the A7 core and M4 core on the STM32MP1.
I did some test using RPMsg framewirk and sent messages with length 496 Byte from the A7 core to the M4 core. Therefore I modified the OpenAMP_raw example. I measured the time which it takes to receive 2300 messages on the M4 side using HAL_getTick(). I measured an average time of 132 ms, which would result in a transmission bandwidth of just 8,64 MB/s, which seems pretty slow to me.
Has anyone made some experience with it or did some similar evaluation? Maybe me measurement method isnt optimal? I am thankful for evey opinion.
Solved! Go to Solution.
2019-05-10 07:31 AM
Hi @robsen223
Could you please confirm data you provided ?
Computing given data we found 8,6MB/s ( 2300*496/0.132)
For your information, in an dedicated optimized environment we achieved 15.4MB/s (512 Bytes buffer size).
But this is really dependent of context on both cores and application.
Else generally speaking bandwidth can be enhanced :
BR,
Olivier
2019-05-10 07:31 AM
Hi @robsen223
Could you please confirm data you provided ?
Computing given data we found 8,6MB/s ( 2300*496/0.132)
For your information, in an dedicated optimized environment we achieved 15.4MB/s (512 Bytes buffer size).
But this is really dependent of context on both cores and application.
Else generally speaking bandwidth can be enhanced :
BR,
Olivier
2019-05-14 04:17 AM
Hi @Community member
you are absolutely right with 8,6MB/s. I mixed up my notes.
Thank you for your comments. It gave my the right food of thought and helped me to finish my work. Especially I thought that RPMsg is the only option for data transmisson. I really like the idea of sending just pointer through RPMsg.
2019-05-14 08:28 AM
Hi robsen223,
I am trying to write similar user application on linux for Inter core communication, could you clarify on how to write text via rpmsg on linux.
Thank you
2019-05-23 05:42 AM
Hi @USama
I suggest you to have a look to sample application "OpenAMP_TTY_Echo" installed on Starter Package and source available in STM32MP1 Cube Package.
https://wiki.st.com/stm32mpu/wiki/STM32CubeMP1_Package#Getting_started_with_STM32CubeMP1_Package
Hope it help,
Olivier
2019-12-12 04:46 AM
Hi @Community member !
I'm trying to understand how to use a shared memory.
Can you help me?
I think that the shared memory I should use is this:
sram: sram@10050000 {
compatible = "mmio-sram";
reg = <0x10050000 0x10000>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x10050000 0x10000>;
dma_pool: dma_pool@0 {
reg = <0x0 0x10000>;
pool;
};
};
How can I access it? There is a specific driver (misc/sram)?
Thank you!
Lenon