1.1 --- a/lib/payload.ld Thu Oct 25 21:19:01 2018 +0200
1.2 +++ b/lib/payload.ld Fri Oct 26 18:22:04 2018 +0200
1.3 @@ -43,7 +43,7 @@
1.4
1.5 .irqstack : {
1.6 . += IRQ_STACK_SIZE;
1.7 - } > kseg0_data_mem AT > physical_data_mem
1.8 + } > kseg0_data_mem AT > physical_data_mem
1.9
1.10 /* Add other data after the IRQ stack. */
1.11
1.12 @@ -51,13 +51,24 @@
1.13
1.14 /* Store constant data in program memory. */
1.15
1.16 - .data : { *(.data*) } > kseg0_program_mem AT > physical_program_mem
1.17 .rodata : { *(.rodata*) } > kseg0_program_mem AT > physical_program_mem
1.18 .got : {
1.19 _gp = ALIGN(16);
1.20 *(.got*)
1.21 } > kseg0_program_mem AT > physical_program_mem
1.22
1.23 + /* Store initialised non-constant data in program memory for relocation.
1.24 + Employ data memory addresses for generated content. */
1.25 +
1.26 + .data : {
1.27 + _data = .;
1.28 + *(.data*)
1.29 + _data_end = .;
1.30 + } > kseg0_data_mem AT > physical_program_mem
1.31 +
1.32 + _data_original = LOADADDR(.data) - ORIGIN(physical_program_mem) + ORIGIN(kseg0_program_mem);
1.33 + _data_size = SIZEOF(.data);
1.34 +
1.35 /* Device configuration registers to be flashed. */
1.36
1.37 .devcfg0 : { *(.devcfg0) } > config0 AT > physical_config0