The code in .s19 file is out of range which is defined in .ld file?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

The code in .s19 file is out of range which is defined in .ld file?

Jump to solution
1,477 Views
jinhui_wu
Contributor III

i develop s32k144 in s32ds.

in .ld file, i define the code range is 0x0 ~ 0x 3190,as below:  

/* Specify the memory areas */
MEMORY
{
/* Flash */
m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000400
m_flash_config (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010
m_text (RX) : ORIGIN = 0x00000410, LENGTH = 0x00003190 - 0x410

/* SRAM_L */
m_data (RW) : ORIGIN = 0x1FFF8000, LENGTH = 0x00008000

/* SRAM_U */
m_data_2 (RW) : ORIGIN = 0x20000000, LENGTH = 0x00007000
}

in .map file, i find the code arranged in the right address,as below:

.fini_array 0x0000318c 0x4
0x0000318c PROVIDE (__fini_array_start, .)
*(SORT(.fini_array.*))
*(.fini_array*)
.fini_array 0x0000318c 0x4 d:/nxp/s32ds_arm_v1.3/cross_tools/gcc-arm-none-eabi-4_9/bin/../lib/gcc/arm-none-eabi/4.9.3/armv7e-m/fpu/crtbegin.o
0x00003190 PROVIDE (__fini_array_end, .)
0x00003190 __etext = .
0x00003190 __DATA_ROM = .

.interrupts_ram
0x1fff8000 0x400
0x1fff8000 . = ALIGN (0x4)
0x1fff8000 __VECTOR_RAM__ = .
0x1fff8000 __interrupts_ram_start__ = .
*(.m_interrupts_ram)

but in .srec file,i find the code is out of the range,as belw:

S10B3180F8BC08BC9E46704730
S10731883504000006
S107318C1104000026
S113319000D0044010000000000000000000000007
S11331A0000000000000000000D004400F000000F8
S11331B0000000000000000000000000000000000B
S11331C000C00440010000000000000000000000F6
S11331D0000000000000000000C0044000000000E7
S11331E000000000000000000000000000000000DB
S11331F000D004400B0000000000000000000000AC
S1133200000000000000000000D004400A0000009C
S113321000000000000000000000000000000000AA
S113322000D004400D000000000000000000000079
S1133230000000000000000000D004400500000071
S1133240000000000000000000000000000000007A
S113325000D0044004000000000000000000000052
S1133260000000000000000000A00440070000006F
S1133270000000000000000000000000000000004A
S113328000A0044006000000000000000000000050
S1133290000000000000000000D004400E00000008
S11332A0000000000000000000000000000000001A
S11332B000D00440030000000000000000000000F3
S11332C0000000000000000000D004400C000000DA
S11332D000000000000000000000000000000000EA
S11332E000C00440110000000000000000000000C5
S11332F0000000000000000000C0044010000000B6
S113330000000000000000000000000000000000B9
S113331000C004400F000000000000000000000096
S1133320000000000000000000D00440090000007C
S11333300000000000000000000000000000000089
S113334000C004400E000000000000000000000067
S1133350000000000000000000C004400D00000058
S11333600000000000000000000000000000000059
S113337000D004400800000000000000000000002D
S1133380000000000000000000A004400500000050
S11333900000000000000000000000000000000029
S11333A000A0044004000000000000000000000031
S11333B0000000000000000000B004400300000012
S11333C000000000000000000000000000000000F9
S11333D000B00440020000000000000000000000F3
S11333E0000000000000000000C0044007000000CE
S11333F000000000000000000000000000000000C9
S113340000C00440060000000000000000000000AE
S1133410000000000000000000C00440050000009F
S11334200000000000000000000000000000000098
S113343000C004400C000000000000000000000078
S1133440000000000000000000C004400B00000069
S11334500000000000000000000000000000000068
S113346000C004400A00000000000000000000004A
S1133470000000000000000000B004400100000053
S11334800000000000000000000000000000000038
S113349000B0044000000000000000000000000034
S11334A0000000000000000000C00440090000000B
S11334B00000000000000000000000000000000008
S11334C000C00440080000000000000000000000EC
S11334D0000000000000000000B0044011000000E3
S11334E000000000000000000000000000000000D8
S11334F000B00440100000000000000000000000C4
S1133500000000000000000000B004400F000000B4
S113351000000000000000000000000000000000A7
S113352000B004400E000000000000000000000095
S1133530000000000000000000A0044003000000A0
S11335400000000000000000000000000000000077
S113355000A0044002000000000000000000000081
S1133560000000000000000000B004400D00000056
S11335700000000000000000000000000000000047
S113358000B004400C000000000000000000000037
S1133590000000000000000000B004400B00000028
S11335A00000000000000000000000000000000017
S11335B000B004400A000000000000000000000009
S11335C0000000000000000000A004400100000012
S11335D000000000000000000000000000000000E7
S11335E000A00440000000000000000000000000F3
S11335F0000000000000000000B0044009000000CA
S113360000000000000000000000000000000000B6
S113361000B00440080000000000000000000000AA
S113362000000000000000000090044007000000BB
S11336300000000000000000000000000000000086
S1133640009004400600000000000000000000009C
S1133650000000000000000000D00440070000004B
S11336600000000000000000000000000000000056
S11336700090044011000000000000000000000061
S1133680000000000000000000A004401100000041
S11336900000000000000000000000000000000026
S11336A000A0044010000000000000000000000022
S11336B0000000000000000000A004400F00000013
S11336C000000000000000000000000000000000F6
S11336D000A004400E0000000000000000000000F4
S11336E0000000000000000000A004400D000000E5
S11336F000000000000000000000000000000000C6
S113370000A004400C0000000000000000000000C5
S1133710000000000000000000C00440040000009D
S11337200000000000000000000000000000000095
S113373000C004400300000000000000000000007E
S1133740000000000000000000C00440020000006F
S11337500000000000000000000000000000000065
S1133760009004400300000000000000000000007E
S1133770000000000000000000900440020000006F
S11337800000000000000000000000000000000035
S113379000A004400B000000000000000000000036
S11337A0000000000000000000A004400A00000027
S11337B00000000000000000000000000000000005
S11337C000A0044009000000000000000000000008
S11337D0000000000000000000A0044008000000F9
S11337E000000000000000000000000000000000D5
S11337F000900440010000000000000000000000F0
S113380000000000000000000090044000000000E0
S113381000000000000000000000000000000000A4
S113382000B0044007000000000000020000000097
S1133830000000000000000000B00440060000008A
S11338400000000200000000000000000000000072
S11338500090044010000000000000000000000080
S11338600000000000000000009004400F00000071
S11338700000000000000000000000000000000044
S113388000D004400600000000000000000000001A
S1133890000000000000000000D00440020000000E
S11338A00000000000000000000000000000000014
S11338B0009004400E000000000000000000000022
S11338C00000000000000000009004400D00000013
S11338D000000000000000000000000000000000E4
S11338E0009004400C0000000000000000000000F4
S11338F00000000000000000009004400B000000E5
S113390000000000000000000000000000000000B3
S1133910009004400A0000000000010700000000BD
S1133920000000000000000000D00440010000007E
S11339300000000000000000000000000000000083
S113394000D004400000000000000000000000005F
S1133950000000000000000000B00440050000006A
S1133960020000070000000000000000000000004A
S113397000B0044004000000010000070000000043
S1133980000000000000000000900440050000005A
S11339900201000700000000000000000000000019
S11339A00090044004000000020000070000000032
S11339B00000000000000000009004400900000026
S11339C000000000000000000000000000000000F3
S11339D00090044008000000000000000000000007
S11339E000000000000000000101010100010000CE
S11339F0010100000000010000127A000000000034
S1133A0001000201010000000100000000000000AC
S1133A10000C000101000001000000000100000092
S1133A200301010100030300010203010006000178
S1133A30010000000100000101000000010000007D
S1133A40000000000000000000000000010101016E
S1133A5001010101000000000D000000D48CFF1FD3
S1133A60010000004601020000410102000029019A
S1133A7000000031010000003A010000004B010287
S1133A800000380100000037010000002C01000094
S1133A90002D010000002E010000002F0100000095
S1133AA03001000000000000588CFF1F010C0000D2
S1073AB0000000000E
S903046D8B

 

 

in address 0x31A0 ~ 0x3AA0,what these codes means?when were they generated?how can i delete it?

if i define this area as another code area,where these codes will go?

attachment is my .ld and .map and .srec file.thanks!

Original Attachment has been moved to: adc_hwtrigger.srec.zip

Original Attachment has been moved to: S32K144_64_flash.ld.zip

Original Attachment has been moved to: adc_hwtrigger.map.zip

Labels (1)
Tags (3)
0 Kudos
1 Solution
1,193 Views
stanish
NXP Employee
NXP Employee

Hi,

The memory starting at address 0x3190..0x3AB3 is occupied by ROM image content.

In the map file you can find symbol __DATA_ROM  which is the address where ROM image of .data section is placed.

These sections are initialized by the startup routine which performs ROM-to-RAM copy.

.map file

.fini_array    0x0000318c        0x4 d:/nxp/s32ds_arm_v1.3/cross_tools/gcc...
                0x00003190                PROVIDE (__fini_array_end, .)
                0x00003190                __etext = .
                0x00003190                __DATA_ROM = .

.ld file

.data : AT(__DATA_ROM)
 {
 . = ALIGN(4);
 __DATA_RAM = .;
 __data_start__ = .; /* Create a global symbol at data start. */
 *(.data) /* .data sections */
 *(.data*) /* .data* sections */
 KEEP(*(.jcr*))
 . = ALIGN(4);
 __data_end__ = .; /* Define a global symbol at data end. */
 } > m_data

Hope it helps.

Stan

View solution in original post

2 Replies
1,194 Views
stanish
NXP Employee
NXP Employee

Hi,

The memory starting at address 0x3190..0x3AB3 is occupied by ROM image content.

In the map file you can find symbol __DATA_ROM  which is the address where ROM image of .data section is placed.

These sections are initialized by the startup routine which performs ROM-to-RAM copy.

.map file

.fini_array    0x0000318c        0x4 d:/nxp/s32ds_arm_v1.3/cross_tools/gcc...
                0x00003190                PROVIDE (__fini_array_end, .)
                0x00003190                __etext = .
                0x00003190                __DATA_ROM = .

.ld file

.data : AT(__DATA_ROM)
 {
 . = ALIGN(4);
 __DATA_RAM = .;
 __data_start__ = .; /* Create a global symbol at data start. */
 *(.data) /* .data sections */
 *(.data*) /* .data* sections */
 KEEP(*(.jcr*))
 . = ALIGN(4);
 __data_end__ = .; /* Define a global symbol at data end. */
 } > m_data

Hope it helps.

Stan

1,193 Views
jinhui_wu
Contributor III

stanislav:

   you are right,thx very much

0 Kudos