Fix linker scripts
This commit is contained in:
parent
bf7e30539e
commit
b1b81c87f2
@ -1,11 +1,12 @@
|
|||||||
|
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
|
||||||
|
OUTPUT_ARCH(arm)
|
||||||
|
|
||||||
ENTRY(_start)
|
ENTRY(_start)
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
.text.start : { *(.text.start) }
|
.text : ALIGN(4) { *(.text.start) *(.text*)}
|
||||||
.text : { *(.text) }
|
.rodata : ALIGN(4) { *(.rodata*) }
|
||||||
.data : { *(.data) }
|
.data : ALIGN(4) { *(.data*) *(.bss* COMMON)}
|
||||||
.bss : { *(.bss COMMON) }
|
|
||||||
.rodata : { *(.rodata) }
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
|
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
|
||||||
|
OUTPUT_ARCH(arm)
|
||||||
|
|
||||||
ENTRY(_start)
|
ENTRY(_start)
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0x01FF7FE0;
|
. = 0x01FF7FE0;
|
||||||
.text.start : { *(.text.start) }
|
.text : ALIGN(4) { *(.text.start) *(.text*)}
|
||||||
.text : { *(.text) }
|
.rodata : ALIGN(4) { *(.rodata*) }
|
||||||
.data : { *(.data) }
|
.data : ALIGN(4) { *(.data*) *(.bss* COMMON)}
|
||||||
.bss : { *(.bss COMMON) }
|
|
||||||
.rodata : { *(.rodata) }
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
}
|
}
|
||||||
|
14
linker.ld
14
linker.ld
@ -1,11 +1,15 @@
|
|||||||
|
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
|
||||||
|
OUTPUT_ARCH(arm)
|
||||||
|
|
||||||
ENTRY(_start)
|
ENTRY(_start)
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0x23F00000;
|
. = 0x23F00000;
|
||||||
.text.start : { *(.text.start) }
|
|
||||||
.text : { *(.text) }
|
.text : ALIGN(4) { *(.text.start) *(.text*) }
|
||||||
.data : { *(.data) }
|
.rodata : ALIGN(4) { *(.rodata*) }
|
||||||
.bss : { *(.bss COMMON) }
|
.data : ALIGN(4) { *(.data*) }
|
||||||
.rodata : { *(.rodata) }
|
.bss : ALIGN(4) { __bss_start = .; *(.bss* COMMON); __bss_end = .;}
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
|
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
|
||||||
|
OUTPUT_ARCH(arm)
|
||||||
|
|
||||||
ENTRY(_start)
|
ENTRY(_start)
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0x24FFFE00;
|
. = 0x24FFFE00;
|
||||||
.text.start : { *(.text.start) }
|
.text : ALIGN(4) { *(.text.start) *(.text*)}
|
||||||
.text : { *(.text) }
|
.rodata : ALIGN(4) { *(.rodata*) }
|
||||||
.data : { *(.data) }
|
.data : ALIGN(4) { *(.data*) *(.bss* COMMON)}
|
||||||
.bss : { *(.bss COMMON) }
|
|
||||||
.rodata : { *(.rodata) }
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@ start:
|
|||||||
@ Set MPU permissions and cache settings
|
@ Set MPU permissions and cache settings
|
||||||
ldr r0, =0xFFFF001D @ ffff0000 32k | bootrom (unprotected part)
|
ldr r0, =0xFFFF001D @ ffff0000 32k | bootrom (unprotected part)
|
||||||
ldr r1, =0x01FF801D @ 01ff8000 32k | itcm
|
ldr r1, =0x01FF801D @ 01ff8000 32k | itcm
|
||||||
ldr r2, =0x08000029 @ 08000000 2M | arm9 mem (O3DS / N3DS)
|
ldr r2, =0x08000029 @ 08000000 2M | arm9 mem (O3DS / N3DS)
|
||||||
ldr r3, =0x10000029 @ 10000000 2M | io mem (ARM9 / first 2MB)
|
ldr r3, =0x10000029 @ 10000000 2M | io mem (ARM9 / first 2MB)
|
||||||
ldr r4, =0x20000037 @ 20000000 256M | fcram (O3DS / N3DS)
|
ldr r4, =0x20000037 @ 20000000 256M | fcram (O3DS / N3DS)
|
||||||
ldr r5, =0x1FF00027 @ 1FF00000 1M | dsp / axi wram
|
ldr r5, =0x1FF00027 @ 1FF00000 1M | dsp / axi wram
|
||||||
@ -91,4 +91,10 @@ start:
|
|||||||
mov r1, #0x340
|
mov r1, #0x340
|
||||||
str r1, [r0]
|
str r1, [r0]
|
||||||
|
|
||||||
|
ldr r0, =__bss_start
|
||||||
|
mov r1, #0
|
||||||
|
ldr r2, =__bss_end
|
||||||
|
sub r2, r0
|
||||||
|
bl memset32
|
||||||
|
|
||||||
b main
|
b main
|
||||||
|
Reference in New Issue
Block a user