Hi,
I'm trying to communicate ARM & DSP in an OMAPL137. For that, I am using IPC3 (and its dependencies) and a Linux Kernel 3.8.8 with the RPMsg modules
I have already downloaded and built IPC3.x package (both Linux side and SYS/BIOS side). Also, I have compiled the linux kernel modules in order to obtain the needed modules (remoteproc, da8xx_remoteproc, virtio_rpmsg_bus, rpmsg_proto). For all that I've followed the tutorial in TI:
http://processors.wiki.ti.com/index.php/IPC_Install_Guide_Linux#products.mak
I can mount all modules and run lad_omapl138, apparently with no problem. The problems start when I try to run the test applications. For example, when I type
target# /usr/bin/MessageQApp
I obtain something like:
Ipc_start: NameServer_setup () failed: -1.
...
Ipc_start failed: status=-1
And the lad.txt shows the next information:
Initializing LAD...
opening FIFO: /tmp/LAD/LADCMDS
Retrieving command...
LAD_CONNECT:
client FIFO name = /tmp/LAD/1088
client PID = 1088
assigned client handle = 0
FIFO /tmp/LAD/1088 created
FIFO /tmp/LAD/1088 opened for writing
sent response
DONE
Retrieving command...
LAD_MULTIPROC_GETCONFIG: calling MultiProc_getConfig()...
MultiProc_getConfig() - 2 procs
Proc 0 - "HOST"
Proc 1 - "DSP"
status = 0
DONE
Sending response...
Retrieving command...
LAD_NAMESERVER_SETUP: calling NameServer_setup()...
NameServer_setup: entered, refCount=0
NameServer_setup: created send socket: 5
NameServer_setup: connect failed: 22, Invalid argument
closing send socket: 5
NameServer_setup: created recv socket: 5
NameServer_setup: bind failed: 22, Invalid argument
closing recv socket: 5
NameServer_setup: creating listener thread
NameServer_setup: exiting, refCount=1
status = -1
DONE
Sending response...
Retrieving command...
listener_cb: Entered Listener thread.
NameServer: waiting for unblockFd: 2, and socks: maxfd: 3
EOF detected on FIFO, closing FIFO: /tmp/LAD/LADCMDS
opening FIFO: /tmp/LAD/LADCMDS
I'm not sure about what is happening and I have the next questions:
1- Could the issue be caused the Host (ARM) doesn't receive the broadcast from the DSP, because the interrupts are not configured correctly in u-boot?
2- In file NameServer_daemon.c, where NameServer_setup () is implemented, MESSAGEQ_RPMSG_PORT is a constant with value 61. Is this constant related to the interrupts configuration?
3- Is the "da8xx_remoteproc" used for loading the slave binaries in the dsp? (similar to "slaveloader" application in syslink)
4- How can I see if the slave binary has been correctly loaded in the dsp? Is there some command or something similar?
Thanks.