主题 : 使用RVDS,出现Bad symbol ‘VIC_MODE’,not defined or exteral的错误。 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 99428
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2013-12-29
最后登录: 2014-01-15
楼主  发表于: 2013-12-30 12:41

 使用RVDS,出现Bad symbol ‘VIC_MODE’,not defined or exteral的错误。

出现在retarget_.s这个文件,在VIC_MODE那一行。已用标记标出。
GET     option.inc

AREA    |C$$code|, CODE, READONLY

Mode_USR     EQU     0x10
Mode_FIQ     EQU     0x11
Mode_IRQ     EQU     0x12
Mode_SVC     EQU     0x13
Mode_ABT     EQU     0x17
Mode_UND     EQU     0x1b
Mode_SYS     EQU     0x1f

I_Bit     EQU     0x80
F_Bit     EQU     0x40

Size_FIQ_Stack    EQU     256
Size_IRQ_Stack    EQU     256
Size_ABT_Stack    EQU     256
Size_UND_Stack    EQU     256
Size_SVC_Stack    EQU     8192

Offset_FIQ_Stack    EQU     0
Offset_IRQ_Stack    EQU     Offset_FIQ_Stack + Size_FIQ_Stack
Offset_ABT_Stack    EQU     Offset_IRQ_Stack + Size_IRQ_Stack
Offset_UND_Stack    EQU     Offset_ABT_Stack + Size_ABT_Stack
Offset_SVC_Stack    EQU     Offset_UND_Stack + Size_UND_Stack

EXPORT    __user_initial_stackheap

__user_initial_stackheap

ldr     r0,=top_of_stacks

msr     CPSR_c,#Mode_FIQ:OR:I_Bit:OR:F_Bit
sub     sp,r0,#Offset_FIQ_Stack

msr     CPSR_c,#Mode_IRQ:OR:I_Bit:OR:F_Bit
sub     sp,r0,#Offset_IRQ_Stack

msr     CPSR_c,#Mode_ABT:OR:I_Bit:OR:F_Bit
sub     sp,r0,#Offset_ABT_Stack

msr     CPSR_c,#Mode_UND:OR:I_Bit:OR:F_Bit
sub     sp,r0,#Offset_UND_Stack

msr     CPSR_c,#Mode_SVC:OR:I_Bit:OR:F_Bit
sub     r1,r0,#Offset_SVC_Stack

;IMPORT  |Image$$ZI$$Limit|
;LDR     r0, =|Image$$ZI$$Limit|    
ldr     r0, =base_of_heap

mov     r2,#0
mov     r3,#0

mov     pc,lr

;-------------------------------------------------------
[         (VIC_MODE = 0)        ;出错在这一行
IMPORT    IntHandlerTable
EXPORT    IsrIRQ
IsrIRQ
sub     sp,sp,#4     ; reserved for PC
stmfd    sp!,{r8-r9}
ldr     r9,=0x71200f00     ; rVIC0ADDR
ldr     r9,[r9]
ldr     r8,=IntHandlerTable
add     r8,r8,r9,lsl #2
ldr     r8,[r8]
str     r8,[sp,#8]
ldmfd    sp!,{r8-r9,pc}
]

LTORG
END