Other Parts Discussed in Thread: AM5718
Tool/software: Linux
Hello,
I'm having some issues when stopping the M4 ipu cores on an AM5718 custom board.
I'm using yocto to build the kernel, u-boot and rootfs with the arago configuration which came with SDK 05.02.00.10
To test the IPC functionality I use the firmware for ex02_messageq built by the ti-ipc-examples recipe. The communication between the host processor and IPU1/IPU2/DSP1 works fine using this firmware.
The problem appears when I try to reload the IPU firmware at run time. I've tried both the /sys/class/remoteproc/remoteproc0/ and the /sys/bus/platform/drivers/omap-rproc interfaces and the problem is the same. When one of the IPU cores is stopped, the entire systems freezes without any error message on the serial console and needs a hard reboot to bring it back. It might take a few start/stop cycles to reproduce the problem but it always happens for any of the IPU cores. It does not happen for the DSP core though.
I'm using the following script to generate the crash:
while true; do echo stop > /sys/class/remoteproc/remoteproc0/state; sleep 2; echo start > /sys/class/remoteproc/remoteproc0/state; sleep 2; done
One thing I noticed in the ex02_messageq sources is that the IpuAmmu.cfg file for IPU1 and IPU2 are identical and contain some memory mappings which look like they should be core specific:
AMMU.smallPages[2].translatedAddress = 0x55020000;
I don't know if this is a problem, but I wanted to mention it here just in case
I also found another forum question which seems to describe a similar issue:
Any suggestions on how to debug this further?
--Tavi