2024-07-30 08:25 AM - edited 2024-07-30 08:26 AM
Hi there,
I'm trying to start my M4 fw from u-boot ( https://wiki.stmicroelectronics.cn/stm32mpu/index.php?title=How_to_start_the_coprocessor_from_the_bootloader&oldid=76509#Synchronizing_the_remote_firmware_with_Linux ).
We finally managed to load the firmware from u-boot and it runs properly (I can see peripherals working at boot time); btw the guide is not correct for the bootcmd section, let's talk about it in a separate thread!
Now, I must integrate the RPMSG interface, and, in the guide ( https://wiki.stmicroelectronics.cn/stm32mpu/wiki/How_to_start_the_coprocessor_from_the_bootloader#STM32Cube ), there's a section describing a Synchronization between u-boot and Linux. It cites that, for non-blocking use cases, IPCC interrupts can be used. But I can't find ANY reference to that in any guide or forum.
Can please somebody explain to me how to make this synchronization work properly? I understand that I have to implement M4 fw in a way that the MX_OPENAMP_Init() function must be called only when the Linux kernel starts and not before, to achieve a non-blocking execution of the M4 fw. Which interrupt should I catch? Is there any example of that?
Thank you so much!!
Peace
NOTE: I have a custom board based on STM32MP153CAC. Openstlinux version: openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15
Solved! Go to Solution.
2024-08-29 09:00 AM - edited 2024-08-30 01:24 AM
SOLVED HERE:
IMPORTANT NOTE: RPMSG wasn't working because there were issues in the resource table initialization from uboot (remoteproc interface from Linux works always fine).
2024-08-29 09:00 AM - edited 2024-08-30 01:24 AM
SOLVED HERE:
IMPORTANT NOTE: RPMSG wasn't working because there were issues in the resource table initialization from uboot (remoteproc interface from Linux works always fine).