⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 startup.s

📁 ucos2.85移植LPC2104的接口和原代码
💻 S
字号:
FIQ_STACK_LEGTH     EQU         32
IRQ_STACK_LEGTH     EQU         64
ABT_STACK_LEGTH     EQU         0
UND_STACK_LEGTH     EQU         0
SYS_STACK_LEGTH     EQU         64
VICVectAddr         EQU         0xFFFFF030

		IMPORT  OS_CPU_IRQ_ISR
        IMPORT  OSIntCtxSw                      
        IMPORT  OSIntExit                      
        IMPORT  OSTCBCur                        
        IMPORT  OSTCBHighRdy                    
        IMPORT  OSIntNesting     
        IMPORT  __main
        IMPORT  TargetResetInit
        IMPORT  OS_CPU_TIMETICK
        
        EXPORT  __rt_div0
        EXPORT  __user_initial_stackheap
        EXPORT  Vectors
                       
    CODE32
	PRESERVE8
    AREA    startup,CODE,READONLY
    ENTRY
Vectors
        LDR     PC, ResetAddr
        LDR     PC, UndefinedAddr
        LDR     PC, SWI_Addr
        LDR     PC, PrefetchAddr
        LDR     PC, DataAbortAddr
        DCD     0xb9205f80
        LDR     PC, IRQ_Addr
        LDR     PC, FIQ_Addr

ResetAddr           DCD     Reset
UndefinedAddr       DCD     Undefined
SWI_Addr            DCD     SoftwareInterrupt
PrefetchAddr        DCD     PrefetchAbort
DataAbortAddr       DCD     DataAbort
nouse               DCD     0
IRQ_Addr            DCD     OS_CPU_IRQ_ISR
FIQ_Addr            DCD     FIQ_Handler

Undefined
        B       Undefined
PrefetchAbort
        B      	PrefetchAbort
DataAbort
        B      	DataAbort
SoftwareInterrupt
		B      	Reset
FIQ_Handler
		B		OS_CPU_TIMETICK
		
InitStack    
        MOV     R0, LR
        MSR     CPSR_c, #0xd2
        LDR     SP, StackIrq
        MSR     CPSR_c, #0xd1
        LDR     SP, StackFiq
        MSR     CPSR_c, #0xd7
        LDR     SP, StackAbt
        MSR     CPSR_c, #0xdb
        LDR     SP, StackUnd
        MSR     CPSR_c, #0xdf
        LDR     SP, StackSys
        MOV     PC, R0

Reset 
		BL		InitStack
		BL      TargetResetInit
		B       __main

__user_initial_stackheap    
    	LDR   	R0,=bottom_of_heap
    	MOV   	PC,LR
    
__rt_div0
		B		__rt_div0
		
StackIrq           DCD     (IrqStackSpace + IRQ_STACK_LEGTH * 4 - 4)
StackFiq           DCD     (FiqStackSpace + FIQ_STACK_LEGTH * 4 - 4)
StackAbt           DCD     (AbtStackSpace + ABT_STACK_LEGTH * 4 - 4)
StackUnd           DCD     (UndtStackSpace + UND_STACK_LEGTH * 4 - 4)
StackSys		   DCD     (SysStackSpace + SYS_STACK_LEGTH * 4 - 4)

        AREA    Myheap, DATA, NOINIT, ALIGN=2
bottom_of_heap     SPACE   256
IrqStackSpace      SPACE   IRQ_STACK_LEGTH * 4  
FiqStackSpace      SPACE   FIQ_STACK_LEGTH * 4  
AbtStackSpace      SPACE   ABT_STACK_LEGTH * 4  
UndtStackSpace     SPACE   UND_STACK_LEGTH * 4  
SysStackSpace      SPACE   SYS_STACK_LEGTH * 4

    END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -