Part Number: TMDS64EVM
Tool/software:
Hello TI support team.
I have a question about ipc_rpmsg on AM64.
The SDK is mcu_plus_sdk_am64x_09_01_00_41.
The example ipc_rpmsg_echo_am64x-evm_a53ss0-0_nortos_gcc-aarch64 is used.
However, I am building the CA53 project with armclang to create the firmware.
armclang is version 6.6.
With the optimization option -O0, inter-core communication between CA53 and CR5 works correctly,
but when the option is changed to -O3, it sometimes stops working correctly.
It doesn't come out from RPMessage_recv. It seems that the semaphore is not posted and is waiting forever.
What modifications should I make to ipc_rpmsg.c etc. to make Ipc rpmsg work properly even when the optimization option is set to -O3?
I tried marking a variable (gIpcRpmsgCtrl) in ipc_rpmsg.c as volatile, but that didn't improve the situation.
I would like to use the optimization option -O3, so I would appreciate some advice on which parts of the source code I should change.
Please let me know if there are any parts of the ipc_rpmsg code that may not work due to optimizations.
Best regards,
Kiyomasa Imaizumi.