Part Number: AM5728
Tool/software: Code Composer Studio
linux version : 4.9.69-ti-rt-r85
Here is the software logic , at the beginning I create rpmsg channel .
int ret=-1;
Rtrunner runner;
//Tag init(), Here I create the rpmsg-pru channel
ret = runner.init();
if(ret != 0)
{
return ret;
}
ret = runner.shakehands();
if(ret != 0)
{
return ret;
}
do
{
ret = runner.run();
}while(ret==0);
return ret;
I used "echo $PASS_WRD|sudo -S bash -c "echo stop > /sys/class/remoteproc/remoteproc4/state" to start PRU , from the syslog we can see that ,
virtio_rpmsg_bus virtio0: creating channel rpmsg-pru addr 0x1e
But after 30 mins , I double check the syslog , and found that rpmsg channel is being created again, so I assume that PRU program reload itself.
Below is the syslog.
.....
Nov 21 10:07:48 arm sh[565]: g_multi: waiting for /sys/class/net/usb1/
Nov 21 10:07:49 arm kernel: [171709.651591] virtio_rpmsg_bus virtio0: creating channel rpmsg-pru addr 0x1e Nov 21 10:07:49 arm kernel: [171709.651617] virtio_rpmsg_bus virtio0: channel rpmsg-pru:Channel 30:ffffffff:1e already exist Nov 21 10:07:49 arm kernel: [171709.660186] virtio_rpmsg_bus virtio0: rpmsg_create_channel failed Nov 21 10:07:49 arm kernel: [171709.774552] rpmsg_pru rpmsg_pru30: Device already open