Today, it looks like I'm able to load the example C66 DSP executable built 
under the TI SDK RTOS 
folder ipc_3_50_04_08/examples/DRA7XX_linux_elf/ex02_messageq and 
successfully run it.  The other day I was getting remoteproc errors (-2) 
and a message indicating that the resource table was not found.  I'm not 
sure what was going on, except the status of DSP1 was showing up as Offline 
instead of Running.  I followed the instructions to transition DSP1 to the 
Running state, but it remained Offline.

Today, when I tried that same step, it transitioned from Suspended to 
Running.

Following are the steps I took to get the Linux app, built under the latest 
TI SDK Linux folder, exchanging messages with DSP1 (also built under the 
latest TI SDK).

 root@beaglebone:/home/debian/ipc-starter/debug# cat 
/sys/kernel/debug/remoteproc/remoteproc*/name
4b234000.pru
4b238000.pru
4b2b4000.pru
4b2b8000.pru
58820000.ipu
55020000.ipu
40800000.dsp
41000000.dsp
root@beaglebone:/home/debian/ipc-starter/debug# cat 
/sys/class/remoteproc/remoteproc*/state
offline
offline
offline
offline
suspended
suspended
suspended
suspended
root@beaglebone:/home/debian/ipc-starter/debug# echo on > 
/sys/bus/platform/devices/40800000.dsp/power/control
root@beaglebone:/home/debian/ipc-starter/debug# cat 
/sys/class/remoteproc/remoteproc*/state
offline
offline
offline
offline
suspended
suspended
running
suspended
root@beaglebone:/home/debian/ipc-starter/debug#

root@beaglebone:/lib/firmware# mv dra7-dsp1-fw.xe66 
dra7-dsp1-fw.xe66.stock_image

root@beaglebone:/lib/firmware# ln -s 
/home/debian/ipc-starter/debug/server_dsp1.xe66 dra7-dsp1-fw.xe66

cd /sys/bus/platform/drivers/omap-rproc/

root@beaglebone:/sys/bus/platform/drivers/omap-rproc# echo 40800000.dsp > 
unbind


[ 1952.619664] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 1952.619707] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[ 1952.621403] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
[ 2449.430488] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 2449.430933] remoteproc remoteproc6: stopped remote processor 40800000.dsp
[ 2449.431164] remoteproc remoteproc6: releasing 40800000.dsp

root@beaglebone:/sys/bus/platform/drivers/omap-rproc# echo 40800000.dsp > 
bind

[ 1952.619664] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 1952.619707] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[ 1952.621403] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
[ 2449.430488] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 2449.430933] remoteproc remoteproc6: stopped remote processor 40800000.dsp
[ 2449.431164] remoteproc remoteproc6: releasing 40800000.dsp
[ 2594.517030] omap-rproc 40800000.dsp: assigned reserved memory node 
dsp1-memory@99000000
[ 2594.517162] remoteproc remoteproc6: 40800000.dsp is available
[ 2594.532869] remoteproc remoteproc6: powering up 40800000.dsp
[ 2594.532890] remoteproc remoteproc6: Booting fw image dra7-dsp1-fw.xe66, 
size 4407080
[ 2594.539898] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
[ 2594.539936] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[ 2594.540034] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
[ 2594.545910] alloc_contig_range: [99000, 99003) PFNs busy
[ 2594.546343] alloc_contig_range: [99004, 99007) PFNs busy
[ 2594.546807] alloc_contig_range: [99000, 99003) PFNs busy
[ 2594.547230] alloc_contig_range: [99004, 99007) PFNs busy
[ 2594.556580] alloc_contig_range: [99600, 99700) PFNs busy
[ 2594.564388] virtio_rpmsg_bus virtio2: rpmsg host is online
[ 2594.564464] remoteproc remoteproc6: registered virtio2 (type 7)
[ 2594.564474] remoteproc remoteproc6: remote processor 40800000.dsp is now 
up
[ 2594.565391] virtio_rpmsg_bus virtio2: creating channel rpmsg-proto addr 
0x3d

root@beaglebone:/home/debian/ipc-starter/debug# ./app_host -l
--> main:
Processor List
    procId=0, procName=HOST
    procId=1, procName=IPU2
    procId=2, procName=IPU1
    procId=3, procName=DSP2
    procId=4, procName=DSP1
root@beaglebone:/home/debian/ipc-starter/debug# ./app_host DSP1
--> 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
App_exec: message received, sending message 4
App_exec: message received, sending message 5
App_exec: message received, sending message 6
App_exec: message received, sending message 7
App_exec: message received, sending message 8
App_exec: message received, sending message 9
App_exec: message received, sending message 10
App_exec: message received, sending message 11
App_exec: message received, sending message 12
App_exec: message received, sending message 13
App_exec: message received, sending message 14
App_exec: message received, sending message 15
App_exec: message received
App_exec: message received
App_exec: message received
<-- App_exec: 0
--> App_delete:
<-- App_delete:
<-- Main_main:
<-- main:

root@beaglebone:/home/debian/ipc-starter/debug# uname -a
Linux beaglebone 4.14.108-ti-r131 #1buster SMP PREEMPT Tue Mar 24 19:18:36 
UTC 2020 armv7l GNU/Linux

root@beaglebone:/home/debian/ipc-starter/debug# cat /etc/dogtag
BeagleBoard.org Debian Buster IoT TIDL Image 2020-04-06

Also, I tried this same example on the latest SDK image built from the 
pre-built binaries:

<-- main:
root@am57xx-evm:~/ipc-starter# ./app_host -l
--> main:
Processor List
[ 1623.665988] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1
[ 1623.703839] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
[ 1623.710423] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
[ 1623.717147] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[ 1623.724224] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
    procId=0, procName=HOST
    procId=1, procName=IPU2
    procId=2, procName=IPU1
    procId=3, procName=DSP2
    procId=4, procName=DSP1
root@am57xx-evm:~/ipc-starter# ./app_host DSP1
--> main:
[ 1636.665992] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1
[ 1636.703878] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
[ 1636.710490] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
[ 1636.717216] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
[ 1636.724309] omap-iommu 40d02000.mmu: 40d02000.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
App_exec: message received, sending message 4
App_exec: message received, sending message 5
App_exec: message received, sending message 6
App_exec: message received, sending message 7
App_exec: message received, sending message 8
App_exec: message received, sending message 9
App_exec: message received, sending message 10
App_exec: message received, sending message 11
App_exec: message received, sending message 12
App_exec: message received, sending message 13
App_exec: message received, sending message 14
App_exec: message received, sending message 15
App_exec: message received
App_exec: message received
App_exec: message received
<-- App_exec: 0
--> App_delete:
<-- App_delete:
<-- Main_main:
<-- main:

For building the TI SDK RTOS examples (IMU, DSP, host), and for 
instructions on how to get the Linux host to load and run the exe's, I 
followed 
this:http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_IPC.html#ipc-for-am57xx

As I get additional results worth posting, I'll do so.  I THINK my 
next-steps are to learn how to build SDK RTOS DSP images with the resource 
table, and then load and debug via CCS.









-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/d0484f6b-6848-4cf7-89ec-2b3874699b0an%40googlegroups.com.

Reply via email to