Ticket Name: TDA2: how dsp and ipu object file are loaded Query Text: Part Number: TDA2 Hi , When i run sample_app.out in linux A15, i find dsp and ipu also start to run after A15. I read the source code, and do not find any code to load the DSP and IPU object files which are located in /lib/firmware of linux file system. Could you explain how linux part load other core object files? Thank you in advance. Currently, working on PROCESSOR_SDK_VISION_03_02_00_00 version. root@dra7xx-evm:/opt/vision_sdk# ./sample_app.out [HOST] OSA: MEM: 0: Mapped 0xa0100000 to 0xb6947000 of size 0x00100000 [HOST] OSA: MEM: 1: Mapped 0x84203000 to 0xa1f47000 of size 0x14a00000 [HOST] OSA: MEM: 2: Mapped 0xa0200000 to 0xa1e87000 of size 0x00040000 [HOST] OSA: MEM: 3: Mapped 0xa02c0000 to 0xa1ec7000 of size 0x00080000 [HOST] OSA: MEM: 4: Mapped 0x00000000 to 0x00000000 of size 0x00000000 [HOST] OSA: HOST Remote Log Shared Memory @ 0xa024f140 [HOST] OSA: DSP1 Remote Log Shared Memory @ 0xa02769e0 [HOST] OSA: IPU2 Remote Log Shared Memory @ 0xa0363da0 [HOST] [HOST ] 2569.602208 s: SYSTEM: System A15 Init in progress !!! [HOST] [HOST ] 2569.602330 s: SYSTEM: IPC: Init in progress !!! [HOST] [HOST ] 2569.602330 s: SYSTEM: IPC: Notify init in progress !!! [HOST] [HOST ] 2569.602665 s: SYSTEM: IPC: [IPU2] socket bind success !!! (dst vproc = 1, endpt = 81) [HOST] [HOST ] 2569.602665 s: SYSTEM: IPC: [IPU2] socket info (family = 41, dst proc id = -1, endpt = 81) !!! [HOST] [HOST ] 2569.602696 s: SYSTEM: IPC: [IPU2] socket connect success !!! (dst vproc = 1, endpt = 80) [HOST] [HOST ] 2569.602726 s: SYSTEM: IPC: [IPU2] socket info (family = 41, dst proc id = -1, endpt = 1024) !!! [HOST] [HOST ] 2569.602970 s: SYSTEM: IPC: [DSP1] socket bind success !!! (dst vproc = 2, endpt = 81) [HOST] [HOST ] 2569.603001 s: SYSTEM: IPC: [DSP1] socket info (family = 41, dst proc id = -1, endpt = 81) !!! [HOST] [HOST ] 2569.603031 s: SYSTEM: IPC: [DSP1] socket connect success !!! (dst vproc = 2, endpt = 80) [HOST] [HOST ] 2569.603031 s: SYSTEM: IPC: [DSP1] socket info (family = 41, dst proc id = -1, endpt = 1024) !!! [HOST] [HOST ] 2569.603153 s: SYSTEM: IPC: Notify init DONE !!! [HOST] [HOST ] 2569.603184 s: SYSTEM: MSGQ: MsgQ init in progress !!! [HOST] [HOST ] 2569.603275 s: SYSTEM: MSGQ: MsgQ init DONE !!! [HOST] [HOST ] 2569.603275 s: SYSTEM: IPC: Init DONE !!! [HOST] [HOST ] 2569.603275 s: SYSTEM: Initializing A15 Links !!! [HOST] [DSP1 ] 2412.027084 s: ***** DSP1 Firmware build time 17:52:46 Apr 28 2018 [HOST] [DSP1 ] 2412.027145 s: *** SYSTEM: CPU Frequency , [HOST] [DSP1 ] 2412.027389 s: SYSTEM: System Common Init in progress !!! [HOST] [DSP1 ] 2412.027572 s: SYSTEM: IPC init in progress !!! [HOST] [DSP1 ] 2412.027603 s: SYSTEM: Attaching to [IPU2] ... [HOST] [DSP1 ] 2413.027999 s: SYSTEM: Attaching to [IPU2] ... [HOST] [DSP1 ] 2413.141157 s: SYSTEM: Attaching to [IPU2] ... SUCCESS !!! [HOST] [DSP1 ] 2413.141218 s: SYSTEM: Notify register to [IPU2] line 0, event 15... [HOST] [DSP1 ] 2413.141279 s: SYSTEM: Notify init done !!! [HOST] [DSP1 ] 2413.141432 s: SYSTEM: MsgQ init done !!! [HOST] [DSP1 ] 2413.141523 s: RpmsgInit in progress... [HOST] [DSP1 ] 2413.141554 s: Connection established with HLOS, calling rpmsgInit [HOST] [DSP1 ] 2413.141737 s: SYSTEM: IPC init DONE !!! [HOST] [DSP1 ] 2413.142408 s: SYSTEM: System Common Init Done !!! [HOST] [DSP1 ] 2413.142438 s: SYSTEM: System DSP Init in progress !!! [HOST] [DSP1 ] 2413.142682 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1024 [HOST] [DSP1 ] 2413.142713 s: SYSTEM: Heap = LOCAL_L2 @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB) [HOST] [DSP1 ] 2413.142743 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 524288 B (512 KB), Free size = 521792 B (509 KB) [HOST] [DSP1 ] 2413.142804 s: SYSTEM: Initializing Links !!! [HOST] [DSP1 ] 2413.151436 s: SYSTEM: Initializing Links ... DONE !!! [HOST] [IPU2 ] 2413.126456 s: ***** IPU2 Firmware build time 17:54:42 Apr 28 2018 [HOST] [IPU2 ] 2413.126639 s: *** SYSTEM: CPU Frequency , [HOST] [IPU2 ] 2413.129536 s: SYSTEM: System Common Init in progress !!! [HOST] [IPU2 ] 2413.138717 s: SYSTEM: IPC init in progress !!! [HOST] [IPU2 ] 2413.138809 s: SYSTEM: Attaching to [DSP1] ... [HOST] [IPU2 ] 2413.141157 s: SYSTEM: Attaching to [DSP1] ... SUCCESS !!! [HOST] [IPU2 ] 2413.141279 s: SYSTEM: Notify register to [DSP1] line 0, event 15... [HOST] [IPU2 ] 2413.141401 s: SYSTEM: Notify init done !!! [HOST] [IPU2 ] 2413.143140 s: SYSTEM: MsgQ init done !!! [HOST] [IPU2 ] 2413.144085 s: RpmsgInit in progress... [HOST] [IPU2 ] 2413.144177 s: Connection established with HLOS, calling rpmsgInit [HOST] [IPU2 ] 2413.144787 s: SYSTEM: IPC init DONE !!! [HOST] [IPU2 ] 2413.149942 s: SYSTEM: System Common Init Done !!! Best regards HUI Responses: Hi , Linux kernel takes care of loading the ipu and dsp firmware , only application binare i.e apps.out is run from the root prompt. Regards Chetan.M But why the ipu and dsp start information (ex: above print info) is after the app.out running. If it is taken care by kernel, without running apps.out, the dsp and ipu start info should be there as well. It would be waiting on attach of remote core ( HLOS) once the hlos is started the ipu and dsp prints start up . If you look at the logs before the root prompt you will see loaded firmware success message. Regards Chetan.M