Part Number: TDA2EG-17
Tool/software: Linux
Dear experts,
I'm using TDA2EX-17x17 SoC, with VisionSDK 2.12.2. IPU2 & DSP1 are loaded by MLO, usecase runs correctly with 4 cams. But in Linux conosle, after run vision_sdk_linux.out, I got this:
root@dra7xx-evm:/opt/vision_sdk# ./vision_sdk_linux_demo.out
[HOST] OSA: MEM: 0: Mapped 0x9fa00000 to 0xb69fa000 of size 0x00100000
[HOST] OSA: MEM: 1: Mapped 0x84203000 to 0xa6ffa000 of size 0x0fa00000
[HOST] OSA: MEM: 2: Mapped 0x9fb00000 to 0xa6f3a000 of size 0x00040000
[HOST] OSA: MEM: 3: Mapped 0x9fbc0000 to 0xa6f7a000 of size 0x00080000
[HOST] OSA: MEM: 4: Mapped 0x00000000 to 0x00000000 of size 0x00000000
[HOST] OSA: HOST Remote Log Shared Memory @ 0x9fb4f140
[HOST] OSA: DSP1 Remote Log Shared Memory @ 0x9fb769e0
[HOST] OSA: IPU2 Remote Log Shared Memory @ 0x9fc63da0
[HOST] [HOST ] 52.083480 s: SYSTEM: System A15 Init in proress !!!
[HOST] [HOST ] 52.083572 s: SYSTEM: IPC: Init in progress !!!
[HOST] [HOST ] 52.083572 s: SYSTEM: IPC: Notify init in progress !!!
[HOST] [DSP1 ] 0.924205 s: ***** DSP1 Firmware build time 22:20:51 Feb 1 2018
[HOST] [DSP1 ] 0.924296 s: *** SYSTEM: CPU Frequency <ORG = 600000000 Hz>, <NEW = 600000000 Hz>
[HOST] [DSP1 ] 0.924510 s: SYSTEM: System Common Init in progress !!!
[HOST] [DSP1 ] 0.924693 s: SYSTEM: IPC init in progress !!!
[HOST] [DSP1 ] 0.924723 s: SYSTEM: Attaching to [IPU2] ...
[HOST] [DSP1 ] 0.938723 s: SYSTEM: Attaching to [IPU2] ... SUCCESS !!!
[HOST] [DSP1 ] 0.938754 s: SYSTEM: Notify register to [IPU2] line 0, event 15...
[HOST] [DSP1 ] 0.938815 s: SYSTEM: Notify init done !!!
[HOST] [DSP1 ] 0.938998 s: SYSTEM: MsgQ init done !!!
[HOST] [DSP1 ] 0.939059 s: SYSTEM: IPC init DONE !!!
[HOST] [DSP1 ] 0.940157 s: SYSTEM: System Common Init Done !!!
[HOST] [DSP1 ] 0.940187 s: SYSTEM: System DSP Init in progress !!!
[HOST] [DSP1 ] 0.941072 s: SYSTEM: Initializing DSP Links !!!
[HOST] [DSP1 ] 0.941133 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1024
[HOST] [DSP1 ] 0.941133 s: SYSTEM: Heap = LOCAL_L2 @ 0x00800000, Total size = 227264 B (221 KB),)
[HOST] [DSP1 ] 0.941194 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 524288 B (512 KB),)
[HOST] [DSP1 ] 0.957115 s: SYSTEM: Initializing DSP Links ... DONE !!!
[HOST] [DSP1 ] 0.957146 s: SYSTEM: System DSP Init Done !!!
[HOST] [DSP1 ] 0.957207 s: SYSTEM --- wait for calling IpcMgr_rpmsgStartup
[HOST] [DSP1 ] 1.056518 s: SYSTEM --- wait for calling IpcMgr_rpmsgStartup
[HOST] [DSP1 ] 1.156530 s: SYSTEM --- wait for calling IpcMgr_rpmsgStartup
[HOST] [DSP1 ] 1.256511 s: SYSTEM --- wait for calling IpcMgr_rpmsgStartup
[HOST] [DSP1 ] 1.295522 s: UTILS: XMC_MPU: Segments used = 4
[HOST] [DSP1 ] 1.295583 s: SYSTEM: CACHE: L1P = 32 KB, L1D = 32 KB, L2 = 32 KB ... after boot !!!
[HOST] [DSP1 ] 1.295613 s: SYSTEM: CACHE: L1P = 32 KB, L1D = 32 KB, L2 = 32 KB ... after update by APP !!!
[HOST] [DSP1 ] 1.356524 s: SYSTEM --- start to call IpcMgr_rpmsgStartup
[HOST] [DSP1 ] 2.832275 s: IPC_IN_0 : Create in progress !!!
[HOST] [DSP1 ] 2.832763 s: IPC_IN_0 : Create Done !!!
[HOST] [DSP1 ] 2.833038 s: ALGORITHM: Create in progress (algId = 0) !!!
[HOST] [DSP1 ] 2.874885 s: ALGORITHM: Create Done (algId = 0) !!!
[HOST] [DSP1 ] 2.875068 s: IPC_OUT_0 : Create in progress !!!
[HOST] [DSP1 ] 2.875190 s: IPC_OUT_0 : Create Done !!!
[HOST] [IPU2 ] 0.914414 s: ***** IPU2 Firmware build time 22:22:07 Feb 1 2018
[HOST] [IPU2 ] 0.914628 s: *** SYSTEM: CPU Frequency <ORG = 212800000 Hz>, <NEW = 16393 Hz>
[HOST] [IPU2 ] 0.925821 s: SYSTEM: System Common Init in progress !!!
[HOST] [IPU2 ] 0.936253 s: SYSTEM: IPC init in progress !!!
[HOST] [IPU2 ] 0.936344 s: SYSTEM: Attaching to [DSP1] ...
[HOST] [IPU2 ] 0.938723 s: SYSTEM: Attaching to [DSP1] ... SUCCESS !!!
[HOST] [IPU2 ] 0.938815 s: SYSTEM: Notify register to [DSP1] line 0, event 15...
[HOST] [IPU2 ] 0.938998 s: SYSTEM: Notify init done !!!
[HOST] [IPU2 ] 0.940706 s: SYSTEM: MsgQ init done !!!
[HOST] [IPU2 ] 0.941255 s: SYSTEM: IPC init DONE !!!
[HOST] [IPU2 ] 0.948087 s: SYSTEM: System Common Init Done !!!
[HOST] [IPU2 ] 0.948209 s: SYSTEM: System Init in progress !!!
[HOST] [IPU2 ] 0.948270 s: SYSTEM: BSP Common Init in progress !!!
[HOST] [IPU2 ] 0.948331 s: SYSTEM: BSP Common Init Done !!!
[HOST] [IPU2 ] 0.948392 s: SYSTEM: BSP Platform Init in progress !!!
[HOST] [IPU2 ] 0.948484 s: SYSTEM: BSP Platform Init Done !!!
[HOST] [IPU2 ] 0.948545 s: SYSTEM: FVID2 Init in progress !!!
[HOST] [IPU2 ] 0.948697 s: SYSTEM: FVID2 Init Done !!!
[HOST] [IPU2 ] 0.948758 s: SYSTEM: VPS Init in progress !!!
[HOST] [IPU2 ] 0.948819 s: SYSTEM: VPDMA Descriptor Memory Address translation ENABLED [0xa0000000 -> 0x8000]
[HOST] [IPU2 ] 0.951656 s: *** VPDMA Firmware Loading... ***
[HOST] [IPU2 ] 0.951778 s: VPDMA Firmware Address = 0x9fc597c0
[HOST] [IPU2 ] 0.951930 s: VPDMA Load Address = 0x4897d004
[HOST] [IPU2 ] 0.952022 s: VPDMA Firmware Version = 0x4d0001b8
[HOST] [IPU2 ] 0.952113 s: VPDMA List Busy Status = 0x00000000
[HOST] [IPU2 ] 0.952205 s: *** VPDMA Firmware Load Success ***
[HOST] [IPU2 ] 0.952510 s: *** VPDMA Firmware Loading... ***
[HOST] [IPU2 ] 0.952601 s: VPDMA Firmware Address = 0x9fc597c0
[HOST] [IPU2 ] 0.952693 s: VPDMA Load Address = 0x489dd004
[HOST] [IPU2 ] 0.952815 s: VPDMA Firmware Version = 0x4d0001b8
[HOST] [IPU2 ] 0.952906 s: VPDMA List Busy Status = 0x00000000
[HOST] [IPU2 ] 0.952998 s: *** VPDMA Firmware Load Success ***
[HOST] [IPU2 ] 0.987982 s: SYSTEM: VPS Init Done !!!
[HOST] [IPU2 ] 0.989721 s: UTILS: DMA: HWI Create for INT25 !!!
[HOST] [IPU2 ] 0.989965 s: SYSTEM: Initializing Links !!!
[HOST] [IPU2 ] 1.174647 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1024
[HOST] [IPU2 ] 1.174769 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB),)
[HOST] [IPU2 ] 1.175013 s: SYSTEM: Heap = SR_OCMC @ 0x00000000, Total size = 0 B (0 KB), Free s)
[HOST] [IPU2 ] 1.175166 s: SYSTEM: Heap = SR_DDR_CACHED @ 0x84203000, Total size = 262144000 B (250 M)
[HOST] [IPU2 ] 1.175349 s: SYSTEM: Heap = SR_DDR_NON_CACHED @ 0xbfa00000, Total size = 1047040 B (0 MB), )
[HOST] [IPU2 ] 1.200725 s: SYSTEM --- wait for calling IpcMgr_rpmsgStartup
[HOST] [IPU2 ] 1.292258 s: SYSTEM: Initializing Links ... DONE !!!
[HOST] [IPU2 ] 1.295644 s: CHAINS: Application Started !!!
[HOST] [IPU2 ] 1.308607 s: BOARD: Board Init in progress !!!
[HOST] [IPU2 ] 1.308759 s: SYSTEM --- wait for calling IpcMgr_rpmsgStartup
[HOST] [IPU2 ] 1.407887 s: SYSTEM --- wait for calling IpcMgr_rpmsgStartup
[HOST] [IPU2 ] 1.507899 s: SYSTEM --- wait for calling IpcMgr_rpmsgStartup
[HOST] [IPU2 ] 1.607881 s: SYSTEM --- wait for calling IpcMgr_rpmsgStartup
[HOST] [IPU2 ] 1.707893 s: SYSTEM --- wait for calling IpcMgr_rpmsgStartup
[HOST] [IPU2 ] 1.809064 s: SYSTEM --- wait for calling IpcMgr_rpmsgStartup
[HOST] [IPU2 ] 1.818398 s: BOARD: Board Init Done !!!
[HOST] [IPU2 ] 1.818489 s:
[HOST] [IPU2 ] 1.854938 s: ISSCAPTURE: Create in progress !!!
[HOST] [IPU2 ] 2.362227 s: ISSCAPTURE: Create Done !!!
[HOST] [IPU2 ] 2.362563 s: VPE: Create in progress !!!
[HOST] [IPU2 ] 2.830262 s: VPE: Loading Down-scaling Co-effs
[HOST] [IPU2 ] 2.830567 s: VPE: Co-effs Loading ... DONE !!!
[HOST] [IPU2 ] 2.830811 s: VPE: Create Done !!!
[HOST] [IPU2 ] 2.831543 s: IPC_OUT_0 : Create in progress !!!
[HOST] [IPU2 ] 2.831970 s: IPC_OUT_0 : Create Done !!!
[HOST] [IPU2 ] 2.832214 s: SYSTEM --- wait for calling IpcMgr_rpmsgStartup
[HOST] [IPU2 ] 2.875343 s: IPC_IN_0 : Create in progress !!!
[HOST] [IPU2 ] 2.876471 s: IPC_IN_0 : Create Done !!!
[HOST] [IPU2 ] 2.876685 s: DISPLAY: Create in progress !!!
[HOST] [IPU2 ] 2.877478 s: DISPLAY: Create Done !!!
[HOST] [IPU2 ] 2.877661 s: DISPLAY: Start in progress !!!
[HOST] [IPU2 ] 2.877722 s: DISPLAY: Start Done !!!
[HOST] [IPU2 ] 2.878606 s: ISSCAPTURE: Start in progress !!!
[HOST] [IPU2 ] 2.878972 s: ISSCAPTURE: Start Done !!!
[HOST] [IPU2 ] 2.931922 s: SYSTEM --- start to call IpcMgr_rpmsgStartup
[HOST] [IPU2 ] 5.930000 s: NETWORK_CTRL: Starting Server (port=29170) !!!
[HOST] [IPU2 ] 5.930366 s: NETWORK_CTRL: Starting Server ... DONE (port=29170) !!!
[HOST] [IPU2 ] 20.155188 s: SYSTEM --- end of call IpcMgr_rpmsgStartup
[HOST] [IPU2 ] 20.155279 s: SYSTEM --- start to call System_rpmsgInit
[HOST] [IPU2 ] 20.157933 s: SYSTEM --- end of call System_rpmsgInit
ASSERT (system_ipc.c|System_ipcInit|64)
[HOST] [HOST ] 52.096352 s: SYSTEM: IPC: [IPU2] socket bind success !!! (dst vproc = 1, endpt = 81)
[HOST] [HOST ] 52.096382 s: SYSTEM: IPC: [IPU2] socket info (family = 41, dst proc id = -1, endpt = 81) !!!
[HOST] [HOST ] 52.096413 s: SYSTEM: IPC: [IPU2] socket connect success !!! (dst vproc = 1, endpt = 80)
[HOST] [HOST ] 52.096413 s: SYSTEM: IPC: [IPU2] socket info (family = 41, dst proc id = -1, endpt = 1024) !!!
[HOST] [HOST ] 52.096474 s: SYSTEM: IPC: [DSP1] socket bind failed (Invalid argument, 22) !!!
[HOST] [HOST ] 52.096474 s: SYSTEM: IPC: [DSP1] Notify RX channel create failed (endpoint = 81) !!!
Then I checked /sys/kernel/debug/remoteproc/remoteproc2/trace0:
root@dra7xx-evm:/sys/kernel/debug/remoteproc/remoteproc2# cat * 40800000.dsp enabled running (2) [ 0.000] 25 Resource entries at 0x96000000 [ 0.432] [t=0x0083fa1c] ti.ipc.family.vayu.VirtQueue: vring: 0 0x9f900000 (0x3000) [ 0.432] [ 0.432] [t=0x008402c5] ti.ipc.family.vayu.VirtQueue: vring: 1 0x9f904000 (0x3000) [ 0.432] [ 0.432] [t=0x00840964] ti.ipc.family.vayu.VirtQueue: VirtQueue_startup: VDEV status: 0x0 [ 0.432] [ 0.432] [t=0x00840fa3] ti.ipc.family.vayu.VirtQueue: VirtQueue_startup: Polling VDEV status... [ 0.432]
DSP1 is blocked in IpcMgr_rpmsgStartup and never get out, while IPU2 can get out when .out runs. DSP1 & IPU2 share the same code:
void System_ipcConnecttoHLOS(void)
{
#ifdef A15_TARGET_OS_LINUX
unsigned int state;
UInt32 selfProcId = System_getSelfProcId();
while (1)
{
RemoteLog_getAppInitState(selfProcId, &state);
if (state != CORE_APP_INITSTATUS_CONFIRM_INIT_DONE)
{
Vps_printf(" SYSTEM --- wait for calling IpcMgr_rpmsgStartup\n");
BspOsal_sleep(100);
}
else
{
Vps_printf(" SYSTEM --- start to call IpcMgr_rpmsgStartup\n");
break;
}
}
IpcMgr_rpmsgStartup();
Vps_printf(" SYSTEM --- end of call IpcMgr_rpmsgStartup\n");
Vps_printf(" SYSTEM --- start to call System_rpmsgInit\n");
#ifndef BUILD_ARP32
System_rpmsgInit();
Vps_printf(" SYSTEM --- end of call System_rpmsgInit\n");
#endif
#endif
}
I'm not sure why DSP1 is block at this line, and what does the trace0 mean. And which register should I dive into?
Thanks & Best Regards!
ZM