build vram crt0

This commit is contained in:
Dave Murphy
2017-01-12 00:08:35 +00:00
parent 0467bcd3d6
commit f897e4be15
4 changed files with 13 additions and 2 deletions

View File

@@ -3,3 +3,8 @@ include $(DEVKITARM)/base_rules
all:
$(CC) -x assembler-with-cpp -marm -c $(CRT)_crt0.s -o$(CRT)_crt0.o
$(CC) -x assembler-with-cpp -mthumb -c $(CRT)_crt0.s -o thumb/$(CRT)_crt0.o
ds_arm7_vram_crt0:
$(CC) -x assembler-with-cpp -marm -c -DVRAM ds_arm7_crt0.s -ods_arm7_vram_crt0.o
$(CC) -x assembler-with-cpp -mthumb -c -DVRAM ds_arm7_crt0.s -othumb/ds_arm7_vram_crt0.o

View File

@@ -23,6 +23,7 @@ _start:
msr cpsr, r0
ldr sp, =__sp_usr @ Set user stack
#ifndef VRAM
adr r1, __sync_start @ Perform ARM7<->ARM9 sync code
ldr r2, =__arm7_start__
mov r3, #(__sync_end-__sync_start)
@@ -30,7 +31,9 @@ _start:
bl CopyMem
mov r3, r8
bl _blx_r3_stub
#else
bl __sync_start
#endif
@---------------------------------------------------------------------------------
@ Copy initialized data (data section) from LMA to VMA (EWRAM to IWRAM)
@---------------------------------------------------------------------------------
@@ -46,6 +49,7 @@ _start:
sub r1, r1, r0
bl ClearMem
#ifndef VRAM
cmp r10, #1
bne NotTWL
ldr r1, =__dsimode @ set DSi mode flag
@@ -60,6 +64,7 @@ _start:
ldr r1, =__twl_bss_end__
sub r1, r1, r0
bl ClearMem
#endif
NotTWL:
ldr r3, =__libc_init_array @ global constructors

View File

@@ -4,5 +4,5 @@
%(old_link) -T ds_arm7_vram.ld%s
*startfile:
ds_arm7_crt0%O%s crti%O%s crtbegin%O%s
ds_arm7_vram_crt0%O%s crti%O%s crtbegin%O%s

View File

@@ -21,6 +21,7 @@ $MAKE CRT=gp32_gpsdk
$MAKE CRT=ds_arm7
$MAKE CRT=ds_arm9
$MAKE CRT=ds_cart
$MAKE ds_arm7_vram_crt0
$target-gcc -march=armv6k -mfloat-abi=hard -c 3dsx_crt0.s -o armv6k/fpu/3dsx_crt0.o
cd $BUILDDIR/libgba-$LIBGBA_VER