Part Number: AM5728
Tool/software: TI-RTOS
Hi,
I am trying to run the ex02_messageq example on a phytec AM57x demo board (AM5728).
I successfully built the examples by following the documentation and produced these binaries:
ipc_3_50_03_04/examples/DRA7XX_linux_elf/ex02_messageq/dsp1/bin/debug/server_dsp1.xe66
ipc_3_50_03_04/examples/DRA7XX_linux_elf/ex02_messageq/host/bin/release/app_host
After that I copyied these binaries to the device /lib/firmware.
# ls -l /lib/firmware/dra7-dsp1-fw.xe66
lrwxrwxrwx 1 root root 32 Mar 12 15:54 /lib/firmware/dra7-dsp1-fw.xe66 -> /home/root/demo/server_dsp1.xe66
# for i in `seq 0 1 3` ; do echo -n "remoteproc$i: " ; cat /sys/class/remoteproc/remoteproc$i/firmware ; done remoteproc0: dra7-ipu1-fw.xem4 remoteproc1: dra7-ipu2-fw.xem4 remoteproc2: dra7-dsp1-fw.xe66 remoteproc3: dra7-dsp2-fw.xe66
I do a DSP1 restart with the following so that it boots the new firmware:
echo stop > /sys/class/remoteproc/remoteproc2/state echo start > /sys/class/remoteproc/remoteproc2/state
And then start the linux app.
Linux app sends 3 messages and then waits for a reply. This reply never comes and remoteproc detects a crash in DSP1 and restarts it.
Now the big question, WHY ?
# ./app_host DSP1
--> main:
[ 26.848432] omap_hwmod: mmu0_dsp2: _wait_target_disable failed
[ 26.854336] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
[ 26.862132] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
--> Main_main:
--> App_create:
App_create: Host is ready
<-- App_create:
--> App_exec:
App_exec: sending message 1
App_exec: sending message 2
App_exec: sending message 3
[ 32.672900] remoteproc remoteproc2: crash detected in 40800000.dsp: type watchdog
[ 32.680462] remoteproc remoteproc2: handling crash #1 in 40800000.dsp
[ 32.686939] remoteproc remoteproc2: recovering 40800000.dsp
recvfrom failed: Link has been severed (67)
rpmsgThreadFxn: transportGet failed on fd 13, returned -20
<-- App_exec: -20
<-- Main_main:
<-- main:
[ 32.713563] omap_hwmod: mmu1_dsp1: _wait_target_disable failed
[ 32.726490] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
root@am5728-phycore-rdk:~/demo# [ 32.732746] remoteproc remoteproc2: stopped remote processor 40800000.dsp
[ 32.742274] remoteproc remoteproc2: powering up 40800000.dsp
[ 32.754445] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 4469652
[ 32.769392] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 32.775293] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[ 32.781239] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
[ 32.798622] virtio_rpmsg_bus virtio1: rpmsg host is online
[ 32.804178] remoteproc remoteproc2: registered virtio1 (type 7)
[ 32.810184] remoteproc remoteproc2: remote processor 40800000.dsp is now up
[ 32.817853] virtio_rpmsg_bus virtio1: creating channel rpmsg-proto addr 0x3d