mirror of
https://github.com/devkitPro/buildscripts.git
synced 2026-03-27 12:24:48 -05:00
*** empty log message ***
This commit is contained in:
parent
f322273249
commit
6040d4173b
|
|
@ -7,9 +7,11 @@ MEMORY {
|
|||
rom : ORIGIN = 0x08000000, LENGTH = 32M
|
||||
ewram : ORIGIN = 0x02000000, LENGTH = 4M - 4k
|
||||
dtcm : ORIGIN = 0x0b000000, LENGTH = 16K
|
||||
itcm : ORIGIN = 0x01000000, LENGTH = 32K
|
||||
vectors : ORIGIN = 0x00000000, LENGTH = 256
|
||||
itcm : ORIGIN = 0x01000100, LENGTH = 32K - 256
|
||||
}
|
||||
|
||||
__vectors_start = ORIGIN(vectors);
|
||||
__itcm_start = ORIGIN(itcm);
|
||||
__ewram_end = ORIGIN(ewram) + LENGTH(ewram);
|
||||
__eheap_end = ORIGIN(ewram) + LENGTH(ewram);
|
||||
|
|
@ -165,7 +167,17 @@ SECTIONS
|
|||
__itcm_end = ABSOLUTE(.);
|
||||
} >itcm = 0xff
|
||||
|
||||
.sbss __dtcm_end :
|
||||
__vectors_lma = __itcm_lma + SIZEOF(.itcm);
|
||||
|
||||
.vectors __vectors_start : AT (__vectors_lma)
|
||||
{
|
||||
*(.vectors)
|
||||
*vectors.*(.text)
|
||||
. = ALIGN(4);
|
||||
__vectors_end = ABSOLUTE(.);
|
||||
} >vectors = 0xff
|
||||
|
||||
.sbss __dtcm_end (NOLOAD):
|
||||
{
|
||||
__sbss_start = ABSOLUTE(.);
|
||||
__sbss_start__ = ABSOLUTE(.);
|
||||
|
|
@ -173,9 +185,7 @@ SECTIONS
|
|||
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
|
||||
__sbss_end = ABSOLUTE(.);
|
||||
} >dtcm
|
||||
|
||||
|
||||
|
||||
.bss __bss_vma (NOLOAD):
|
||||
{
|
||||
__bss_start = ABSOLUTE(.);
|
||||
|
|
@ -193,8 +203,6 @@ SECTIONS
|
|||
_end = __bss_end__ ;
|
||||
__end__ = __bss_end__ ;
|
||||
|
||||
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
.stab 0 : { *(.stab) }
|
||||
.stabstr 0 : { *(.stabstr) }
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ _start:
|
|||
mcr p15, 0, r0, c6, c1, 0
|
||||
|
||||
@-------------------------------------------------------------------------
|
||||
@ Region 2 - iwram
|
||||
@ Region 2 - shared iwram
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=( PAGE_32K | 0x037F8000 | 1)
|
||||
mcr p15, 0, r0, c6, c2, 0
|
||||
|
|
@ -119,6 +119,11 @@ _start:
|
|||
@ Region 5 - ITCM
|
||||
@-------------------------------------------------------------------------
|
||||
ldr r0,=__itcm_start
|
||||
|
||||
@ align to 32k boundary
|
||||
mov r0,r0,lsr #15
|
||||
mov r0,r0,lsl #15
|
||||
|
||||
orr r0,r0,#(PAGE_32K | 1)
|
||||
mcr p15, 0, r0, c6, c5, 0
|
||||
|
||||
|
|
@ -179,12 +184,19 @@ _start:
|
|||
msr cpsr, r0
|
||||
ldr sp, =__sp_usr @ Set user stack
|
||||
|
||||
ldr r1, =__itcm_lma @ Copy instruction tightly coupled memory (itcm section) from LMA to VMA (ROM to RAM)
|
||||
ldr r1, =__itcm_lma @ Copy instruction tightly coupled memory (itcm section) from LMA to VMA
|
||||
ldr r2, =__itcm_start
|
||||
ldr r4, =__itcm_end
|
||||
bl CopyMemCheck
|
||||
|
||||
ldr r1, =__dtcm_lma @ Copy data tightly coupled memory (dtcm section) from LMA to VMA (ROM to RAM)
|
||||
ldr r1, =__vectors_lma @ Copy instruction tightly coupled memory (itcm section) from LMA to VMA
|
||||
ldr r2, =__itcm_start @ alternate vectors based accessed via itcm mirror
|
||||
mov r2,r2,lsr #15 @ rounded to 32k boundary
|
||||
mov r2,r2,lsl #15
|
||||
ldr r4, =__vectors_end
|
||||
bl CopyMemCheck
|
||||
|
||||
ldr r1, =__dtcm_lma @ Copy data tightly coupled memory (dtcm section) from LMA to VMA
|
||||
ldr r2, =__dtcm_start
|
||||
ldr r4, =__dtcm_end
|
||||
bl CopyMemCheck
|
||||
|
|
@ -295,7 +307,7 @@ ClearMem:
|
|||
@---------------------------------------------------------------------------------
|
||||
mov r2, #3 @ Round down to nearest word boundary
|
||||
add r1, r1, r2 @ Shouldn't be needed
|
||||
bics r1, r1, r2 @ Clear 2 LSB (and set Z)
|
||||
bics r1, r1, r2 @ Clear 2 LSB (and set Z)
|
||||
bxeq lr @ Quit if copy size is 0
|
||||
|
||||
mov r2, #0
|
||||
|
|
@ -325,7 +337,7 @@ CopyMem:
|
|||
@---------------------------------------------------------------------------------
|
||||
mov r0, #3 @ These commands are used in cases where
|
||||
add r3, r3, r0 @ the length is not a multiple of 4,
|
||||
bics r3, r3, r0 @ even though it should be.
|
||||
bics r3, r3, r0 @ even though it should be.
|
||||
bxeq lr @ Length is zero, so exit
|
||||
CIDLoop:
|
||||
ldmia r1!, {r0}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user