Tool/software:
Hi all,
This post related with "processors-forum/991591"
I used both Linux and RT 6_03_00_106 to build this example (Big Data IPC). However, when I try to load the server_dsp.xe66 file (copy from bigdataipc/host_linux/simple_buffer_example/dsp/bin/66AK2G/release) with the mpmcl command I get error 104. The corresponding messages from the /var/log/syslog are as follows:
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmsrv.c:110:mpm_server: received message of size 89 bytes for cmd 1
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmsrv.c:134:mpm_server: received load command for dsp0 filename /home/phaseone/rt/bigdataipc/server_dsp.xe66
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmdlif.c:197:map_and_copy_segment: transport mmap failed for addr 0xa0000000 size 200 (err: No such file or directory)
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmdlif.c:1279:DLIF_allocate: map and copy failed for image /home/phaseone/rt/bigdataipc/server_dsp.xe66 with addr 0xa0000000, size 0xc8
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmdlif.c:1442:DLIF_error: << D L O A D >> ERROR:
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmdlif.c:1445:DLIF_error: Failed to allocate target memory for static executable.
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmdlif.c:864:mpm_dlif_load: Image loading failed for file /home/phaseone/rt/bigdataipc/server_dsp.xe66
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmssm.c:510:mpm_load_slave: Image loading failed for dsp0 : image
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmssm.c:419:mpm_ssm_state_error: entered error state for dsp0
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmsrv.c:77:mpm_server: waiting for slave message
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmsrv.c:110:mpm_server: received message of size 89 bytes for cmd 1
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmsrv.c:134:mpm_server: received load command for dsp0 filename /home/phaseone/rt/bigdataipc/server_dsp.xe66
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmdlif.c:197:map_and_copy_segment: transport mmap failed for addr 0xa0000000 size 200 (err: No such file or directory)
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmdlif.c:1279:DLIF_allocate: map and copy failed for image /home/phaseone/rt/bigdataipc/server_dsp.xe66 with addr 0xa0000000, size 0xc8
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmdlif.c:1442:DLIF_error: << D L O A D >> ERROR:
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmdlif.c:1445:DLIF_error: Failed to allocate target memory for static executable.
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmdlif.c:864:mpm_dlif_load: Image loading failed for file /home/phaseone/rt/bigdataipc/server_dsp.xe66
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmssm.c:510:mpm_load_slave: Image loading failed for dsp0 : image
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmssm.c:419:mpm_ssm_state_error: entered error state for dsp0
Mar 16 15:54:27 k2g-evm mpmsrv[736]: mpmsrv.c:77:mpm_server: waiting for slave message
root@k2g-evm:/var/log#
There is indeed a section in the file to be downloaded that requires downloading from this address in SDRAM:
readelf -S server_dsp.xe66
There are 39 section headers, starting at offset 0x4166cc:
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .ti.decompress NOBITS 00000000 000000 000000 00 0 0 1
[ 2] .stack NOBITS 008781d0 0081c8 001000 00 WA 0 0 8
[ 3] .bss NOBITS 0087939c 02e600 000000 00 WA 0 0 1
[ 4] .neardata NOBITS 0087939c 02e600 000000 00 WA 0 0 1
[ 5] .rodata PROGBITS 0087939c 006b94 000008 00 A 0 0 4
[ 6] .cinit PROGBITS 008793a8 006ba0 000760 00 A 0 0 8
[ 7] .pinit NOBITS 00000000 000000 000000 00 0 0 1
[ 8] .init_array NOBITS 00000000 02e600 000000 00 WA 0 0 1
[ 9] .data NOBITS 00000000 02e600 000000 00 WA 0 0 1
[10] .sysmem NOBITS 00000000 000000 000000 00 0 0 1
[11] .args PROGBITS 008792f0 006ae8 000064 00 WA 0 0 4
[12] .ti.handler_table NOBITS 00000000 000000 000000 00 0 0 1
[13] .c6xabi.exidx NOBITS 00000000 02e600 000000 08 A 0 0 1
[14] .c6xabi.extab NOBITS 00000000 02e600 000000 00 A 0 0 1
[15] .tracebuf NOBITS 00869000 001000 008004 00 WA 0 0 4096
[16] .resource_table PROGBITS a0000000 008000 0000c8 00 WA 0 0 4096
[17] .vecs PROGBITS a0026400 02e400 000200 00 AX 0 0 1024
[18] xdc.meta PROGBITS 00800000 02e600 000148 00 0 0 8
[19] .debug_info PROGBITS 00000000 02e748 161e28 00 0 0 1
[20] .debug_line PROGBITS 00000000 190570 03879c 00 0 0 1
[21] .debug_frame PROGBITS 00000000 1c8d0c 00bd20 00 0 0 4
[22] .debug_abbrev PROGBITS 00000000 1d4a2c 025a51 00 0 0 1
[23] .debug_str PROGBITS 00000000 1fa47d 0aacc1 00 0 0 1
[24] .debug_aranges PROGBITS 00000000 2a513e 004cf0 00 0 0 1
[25] .debug_pubnames PROGBITS 00000000 2a9e2e 012330 00 0 0 1
[26] .debug_pubtypes PROGBITS 00000000 2bc15e 0ffb59 00 0 0 1
[27] .text PROGBITS a00000e0 0080e0 0261a0 00 AX 0 0 32
[28] .const.1 PROGBITS 00868f70 000038 000090 00 A 0 0 4
[29] .const.2 PROGBITS 00871008 001000 005ae8 00 A 0 0 8
[30] .fardata NOBITS 00876af0 006ae8 0016e0 00 WA 0 0 8
[31] .switch PROGBITS 00879354 006b4c 000048 00 A 0 0 4
[32] .far NOBITS 00800000 000038 068f70 00 WA 0 0 8
[33] .cio NOBITS 008791d0 0091c8 000120 00 WA 0 0 8
[34] .c6xabi.attribute C6000_ATTRIBUTE 00000000 3bbcb7 00003b 00 0 0 0
[35] .symtab SYMTAB 00000000 3bbcf4 03bca0 10 37 13929 0
[36] .TI.section.flags LOPROC+0xf00000 00000000 3f7994 000036 00 0 0 0
[37] .strtab STRTAB 00000000 3f79ca 01ea0f 01 S 0 0 0
[38] .shstrtab STRTAB 00000000 4163d9 000192 01 S 0 0 0
This address (0xA0000000) is specified in the source code of the example as EXT_CODE region host_linux/simple_buffer_example/shared/66AK2G/config.bld
There are two questions:
(a) how should I describe this memory for the EXT_CODE in the DTS?
(b) where can I find the source code for the command mpmcl, mpmsrv and related with it?
Thanks.