1

I am running my software in armv7 Ubuntu 16.04 docker container on A15 processor. My software is tested and works when I directly run it on A15 host. When the software is ran inside a docker container on A15 host, it uses libtiipc* libraries that are currently on host A15 processor. When I run the docker, software is unable to connect to ipu2 (M4 processor) and following error comes -

--> main:
Ipc_start: LAD_connect() failed: 4
Ipc_start failed: status = -1
<-- main:

I tired running the LAD daemon manually in the docker using /usr/bin/lad_dra7xx -g -l lad.txt -p 777 and I get the following error in /tmp/LAD/lad.txt log file -

Initializing LAD... [0.653065] NameServer_setup: entered, refCount=0
[0.653130] NameServer_setup: creating listener thread
[0.653266] NameServer_setup: exiting, refCount=1
[0.653334] GateHWSpinlock_start: failed to open the spinlock device[0.653346]
ERROR: unable to start GateHWSpinlock

Question - What is the best way for the software inside docker to communicate with software on M4 using TI-RTOS IPC libraries? Please let me know if more information is required to solve this issue.

robojain
  • 21
  • 2

1 Answers1

0

I found the solution with enough tries -

  1. Use --privileged in my docker run command and mount al TI libs and /dev/mem as volume instead of device.
  2. Launch LAD daemon from inside the docker.
  3. Launch the app that communicates with M4 using TI IPC inside the docker.
robojain
  • 21
  • 2