Hi, I'm having trouble getting the ex02_messageq example running on any of the non-A15 processors. I've tried DSP1/2 and IPU1/2 and none work, but they fail in different ways depending on the processor type.
I followed the steps in the RTOS Developer Guide to build the DRA7XX_linux_elf examples, and I'm seeing the files I expect in the directory structure (e.g. dsp1/bin/debug/server_dsp1.xe66, ipu1/bin/debug/server_ipu1.xem4, and host/bin/debug/app_host).
I can successfully create a symbolic link to the file (ln -s /home/root/ipc_example/ex02_messageq/dsp1/bin/debug/server_dsp1.xe66 dra7-dsp1-fw.xe66), but I get some errors when I try to unbind/bind:
root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# echo 40800000.dsp > unbind
[ 114.418808] remoteproc2: releasing 40800000.dspc# echo 40800000.dsp > unbind
root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# echo 40800000.dsp > bind
[ 125.098719] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
[ 125.106555] remoteproc2: 40800000.dsp is available
[ 125.111484] remoteproc2: Note: remoteproc is still under development and considered experimental.
[ 125.120544] remoteproc2: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# [ 125.138657] remoteproc2: powering up 40800000.dsp
[ 125.146967] remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 4417084
[ 125.161087] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 125.167017] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[ 125.172920] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
[ 125.183777] remoteproc2: bad phdr da 0x800000 mem 0x40
[ 125.189068] remoteproc2: Failed to load program segments: -22
[ 125.195134] remoteproc2: failed to unmap 1048576/0
[ 125.209712] omap_hwmod: mmu1_dsp1: _wait_target_disable failed
[ 125.222691] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 125.228594] remoteproc2: rproc_boot() failed -22
[ 125.233357] virtio_rpmsg_bus: probe of virtio1 failed with error -22
[ 125.239772] remoteproc2: registered virtio1 (type 7)
When I run app_host, it hangs after App_create:
root@am57xx-evm:~/ipc_example/ex02_messageq/host/bin/debug# ./app_host DSP1
--> main:
[ 243.618837] NET: Registered protocol family 41
--> Main_main:
--> App_create:
If I try doing the same for IPU1, the unbind/bind output looks healthier:
root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# echo 58820000.ipu > unbind
[ 418.808133] omap_hwmod: mmu_ipu1: _wait_target_disable failed000.ipu > unbind
[ 418.814003] remoteproc0: stopped remote processor 58820000.ipu
[ 418.820136] remoteproc0: releasing 58820000.ipu
root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# echo 58820000.ipu > bind
[ 434.198773] omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@9d000000
[ 434.206614] remoteproc0: 58820000.ipu is available
[ 434.211797] remoteproc0: Note: remoteproc is still under development and considered experimental.
[ 434.220833] remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc# [ 434.433142] remoteproc0: powering up 58820000.ipu
[ 434.438014] remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 4249708
[ 434.445203] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1
[ 434.455896] remoteproc0: remote processor 58820000.ipu is now up
[ 434.463044] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 434.468609] remoteproc0: registered virtio0 (type 7)
[ 434.474324] virtio_rpmsg_bus virtio0: creating channel rpmsg-proto addr 0x3d
However, the app_host program now hangs in a different spot:
root@am57xx-evm:~/ipc_example/ex02_messageq/host/bin/debug# ./app_host IPU1
--> main:
--> 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
Am I missing something in my setup? I don't see anything else in the IPC section of the developer guide.
For reference, I'm using Processor SDK 06.03.00.106 on the AM572x EVM, with IPC 3.50.04.08.
Thanks