Align stack address to 8 byte.

This commit is contained in:
aozima 2015-06-04 11:59:18 +08:00
parent 0ac07f9ffb
commit be76b10be6
3 changed files with 21 additions and 16 deletions

View File

@ -22,6 +22,7 @@
* 2011-01-13 weety first version * 2011-01-13 weety first version
* 2015-04-15 ArdaFu Split from AT91SAM9260 BSP * 2015-04-15 ArdaFu Split from AT91SAM9260 BSP
* 2015-04-21 ArdaFu Remove remap code. Using mmu to map vector table * 2015-04-21 ArdaFu Remove remap code. Using mmu to map vector table
* 2015-06-04 aozima Align stack address to 8 byte.
*/ */
#define S_FRAME_SIZE (18*4) //72 #define S_FRAME_SIZE (18*4) //72
@ -61,31 +62,32 @@
.section .nobss, "w" .section .nobss, "w"
.space UND_STK_SIZE .space UND_STK_SIZE
.align 3
.global UND_STACK_START .global UND_STACK_START
UND_STACK_START: UND_STACK_START:
.space ABT_STK_SIZE .space ABT_STK_SIZE
.align 2 .align 3
.global ABT_STACK_START .global ABT_STACK_START
ABT_STACK_START: ABT_STACK_START:
.space FIQ_STK_SIZE .space FIQ_STK_SIZE
.align 2 .align 3
.global FIQ_STACK_START .global FIQ_STACK_START
FIQ_STACK_START: FIQ_STACK_START:
.space IRQ_STK_SIZE .space IRQ_STK_SIZE
.align 2 .align 3
.global IRQ_STACK_START .global IRQ_STACK_START
IRQ_STACK_START: IRQ_STACK_START:
.skip SYS_STK_SIZE .skip SYS_STK_SIZE
.align 2 .align 3
.global SYS_STACK_START .global SYS_STACK_START
SYS_STACK_START: SYS_STACK_START:
.space SVC_STK_SIZE .space SVC_STK_SIZE
.align 2 .align 3
.global SVC_STACK_START .global SVC_STACK_START
SVC_STACK_START: SVC_STACK_START:

View File

@ -22,6 +22,7 @@
; * 2011-01-13 weety first version ; * 2011-01-13 weety first version
; * 2015-04-15 ArdaFu Split from AT91SAM9260 BSP ; * 2015-04-15 ArdaFu Split from AT91SAM9260 BSP
; * 2015-04-21 ArdaFu Remove remap code. Using mmu to map vector table ; * 2015-04-21 ArdaFu Remove remap code. Using mmu to map vector table
; * 2015-06-04 aozima Align stack address to 8 byte.
; */ ; */
#define S_FRAME_SIZE (18*4) ;72 #define S_FRAME_SIZE (18*4) ;72
@ -62,31 +63,32 @@
SECTION .noinit:DATA:NOROOT(3) SECTION .noinit:DATA:NOROOT(3)
DATA DATA
ALIGNRAM 3
DS8 UND_STK_SIZE DS8 UND_STK_SIZE
PUBLIC UND_STACK_START PUBLIC UND_STACK_START
UND_STACK_START: UND_STACK_START:
ALIGNRAM 2 ALIGNRAM 3
DS8 ABT_STK_SIZE DS8 ABT_STK_SIZE
PUBLIC ABT_STACK_START PUBLIC ABT_STACK_START
ABT_STACK_START: ABT_STACK_START:
ALIGNRAM 2 ALIGNRAM 3
DS8 FIQ_STK_SIZE DS8 FIQ_STK_SIZE
PUBLIC FIQ_STACK_START PUBLIC FIQ_STACK_START
FIQ_STACK_START: FIQ_STACK_START:
ALIGNRAM 2 ALIGNRAM 3
DS8 IRQ_STK_SIZE DS8 IRQ_STK_SIZE
PUBLIC IRQ_STACK_START PUBLIC IRQ_STACK_START
IRQ_STACK_START: IRQ_STACK_START:
ALIGNRAM 2 ALIGNRAM 3
DS8 SYS_STK_SIZE DS8 SYS_STK_SIZE
PUBLIC SYS_STACK_START PUBLIC SYS_STACK_START
SYS_STACK_START: SYS_STACK_START:
ALIGNRAM 2 ALIGNRAM 3
DS8 SVC_STK_SIZE DS8 SVC_STK_SIZE
PUBLIC SVC_STACK_START PUBLIC SVC_STACK_START
SVC_STACK_START: SVC_STACK_START:

View File

@ -22,6 +22,7 @@
; * 2011-08-14 weety first version ; * 2011-08-14 weety first version
; * 2015-04-15 ArdaFu Split from AT91SAM9260 BSP ; * 2015-04-15 ArdaFu Split from AT91SAM9260 BSP
; * 2015-04-21 ArdaFu Remove remap code. Using mmu to map vector table ; * 2015-04-21 ArdaFu Remove remap code. Using mmu to map vector table
; * 2015-06-04 aozima Align stack address to 8 byte.
; */ ; */
S_FRAME_SIZE EQU (18*4) ;72 S_FRAME_SIZE EQU (18*4) ;72
@ -60,34 +61,34 @@ NOINT EQU 0xC0
GET rt_low_level_keil.inc GET rt_low_level_keil.inc
;----------------------- Stack and Heap Definitions ---------------------------- ;----------------------- Stack and Heap Definitions ----------------------------
AREA STACK, NOINIT, READWRITE, ALIGN=2 AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem Stack_Mem
SPACE UND_STK_SIZE SPACE UND_STK_SIZE
EXPORT UND_STACK_START EXPORT UND_STACK_START
UND_STACK_START UND_STACK_START
ALIGN 4 ALIGN 8
SPACE ABT_STK_SIZE SPACE ABT_STK_SIZE
EXPORT ABT_STACK_START EXPORT ABT_STACK_START
ABT_STACK_START ABT_STACK_START
ALIGN 4 ALIGN 8
SPACE FIQ_STK_SIZE SPACE FIQ_STK_SIZE
EXPORT FIQ_STACK_START EXPORT FIQ_STACK_START
FIQ_STACK_START FIQ_STACK_START
ALIGN 4 ALIGN 8
SPACE IRQ_STK_SIZE SPACE IRQ_STK_SIZE
EXPORT IRQ_STACK_START EXPORT IRQ_STACK_START
IRQ_STACK_START IRQ_STACK_START
ALIGN 4 ALIGN 8
SPACE SYS_STK_SIZE SPACE SYS_STK_SIZE
EXPORT SYS_STACK_START EXPORT SYS_STACK_START
SYS_STACK_START SYS_STACK_START
ALIGN 4 ALIGN 8
SPACE SVC_STK_SIZE SPACE SVC_STK_SIZE
EXPORT SVC_STACK_START EXPORT SVC_STACK_START
SVC_STACK_START SVC_STACK_START