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

📄 samboot.lst

📁 At91s64_ucos2.76:基于at91sam7s64芯片的uc/os移植代码
💻 LST
字号:



ARM Macro Assembler    Page 1 


    1 00000000         ;/******************************************************
                       ********************************************************
                       **/
    2 00000000         ;/********************* Startup code for AT91SAM7S *****
                       ********************************************************
                       **/
    3 00000000         ;/ hotislandn@hotmail.com                               
                                                                               
                         /
    4 00000000         ;/ WWW.MCUZONE.COM 
    5 00000000         ;/
    6 00000000         ;/ Rev 0.1                                              
                                                                        /
    7 00000000         ;/******************************************************
                       ********************************************************
                       **/
    8 00000000         
    9 00000000 00000010 
                       MODUSR  EQU              0x10
   10 00000000 0000001F 
                       MODSYS  EQU              0x1F
   11 00000000 00000013 
                       MODSVC  EQU              0x13
   12 00000000 00000017 
                       MODABT  EQU              0x17
   13 00000000 0000001B 
                       MODUDF  EQU              0x1B
   14 00000000 00000012 
                       MODIRQ  EQU              0x12
   15 00000000 00000011 
                       MODFIQ  EQU              0x11
   16 00000000         
   17 00000000 00000080 
                       IRQBIT  EQU              0x80
   18 00000000 00000040 
                       FIQBIT  EQU              0x40
   19 00000000         
   20 00000000 00204000 
                       RAMEND  EQU              0x00204000  ; S64 : 16KB RAM
   21 00000000         
   22 00000000 00000100 
                       VECTSIZE
                               EQU              0x100       ; 驻留RAM的向量区域
                                                            定为256字节
   23 00000000         
   24 00000000 00000008 
                       UsrStkSz
                               EQU              8           ; size of  USR  sta
                                                            ck
   25 00000000 00000080 
                       SysStkSz
                               EQU              128         ; size of  SYS  sta
                                                            ck
   26 00000000 00000008 
                       SvcStkSz
                               EQU              8           ; size of  SVC  sta
                                                            ck
   27 00000000 00000008 
                       UdfStkSz



ARM Macro Assembler    Page 2 


                               EQU              8           ; size of  UDF  sta
                                                            ck
   28 00000000 00000008 
                       AbtStkSz
                               EQU              8           ; size of  ABT  sta
                                                            ck
   29 00000000 00000080 
                       IrqStkSz
                               EQU              128         ; size of  IRQ  sta
                                                            ck
   30 00000000 00000010 
                       FiqStkSz
                               EQU              16          ; size of  FIQ  sta
                                                            ck
   31 00000000         
   32 00000000                 PRESERVE8
   33 00000000                 AREA             START, CODE, READONLY
   34 00000000                 CODE32
   35 00000000         
   36 00000000                 ENTRY
   37 00000000                 EXPORT           RESET
   38 00000000         RESET
   39 00000000 EA000025        B                SYSINIT     ; Reset
   40 00000004 EA000020        B                UDFHANDLER  ; UNDEFINED
   41 00000008 EA000020        B                SWIHANDLER  ; SWI
   42 0000000C EA000020        B                PABTHANDLER ; PREFETCH ABORT
   43 00000010 EA000020        B                DABTHANDLER ; DATA ABORT
   44 00000014 EAFFFFFE        B                .           ; RESERVED  
   45 00000018 E51FFF20        LDR              PC,[PC,#-0xF20]
   46 0000001C EAFFFFFE        B                .           ; ADD FIQ CODE HERE
                                                            
   47 00000020         
   48 00000020         ;-------------------------------------------------------
                       --------------------------------------------------
   49 00000020         ;******************** 向量模式IRQ处理代码 **************
                       **************************************************
   50 00000020         ;-------------------------------------------------------
                       --------------------------------------------------
   51 00000020         
   52 00000020                 IMPORT           OSIntNesting
   53 00000020                 IMPORT           OSIntExit
   54 00000020         
   55 00000020                 IMPORT           SAMIsr
   56 00000020                 EXPORT           VECTORED_IRQ_HANDLER
   57 00000020         VECTORED_IRQ_HANDLER
   58 00000020         ;-------------------------------------------------------
                       --------------------------------------------------
   59 00000020         ;******************** 运行于IRQ模式的代码 **************
                       **************************************************
   60 00000020         ;-------------------------------------------------------
                       --------------------------------------------------
   61 00000020 E90D001F        STMFD            sp,{r0-r4}  ; 不修改SP_IRQ的值
   62 00000024 E24D0014        SUB              r0,sp,#20   ; R0指向栈底
   63 00000028 E24E1004        SUB              r1,lr,#4    ; R1=返回地址
   64 0000002C E14F2000        MRS              r2,SPSR     ; R2=SPSR
   65 00000030         
   66 00000030 E59F3158        LDR              r3,=OSIntNesting 
                                                            ; OSIntNesting++
   67 00000034 E5D34000        LDRB             r4,[r3]



ARM Macro Assembler    Page 3 


   68 00000038 E2844001        ADD              r4,r4,#1
   69 0000003C E5C34000        STRB             r4,[r3]
   70 00000040         
   71 00000040 E32FF09F        MSR              CPSR_cxsf,#0x9f ;  Sys Mode , I
                                                            RQ disable ,FIQ ena
                                                            ble
   72 00000044         ;  关闭IRQ,保存被中断任务的上下文到任务堆栈,SP_SYS
   73 00000044         ;-------------------------------------------------------
                       --------------------------------------------------
   74 00000044         ;******************** 其余代码运行于SYS模式 ************
                       **************************************************
   75 00000044         ;-------------------------------------------------------
                       --------------------------------------------------      
                            
   76 00000044 E92D0002        STMFD            sp!,{r1}    ;  PC
   77 00000048 E92D4000        STMFD            sp!,{lr}    ;  lr
   78 0000004C         
   79 0000004C E92D1FE0        STMFD            sp!,{r5-r12} ;  r12---r5
   80 00000050 E8B003E0        LDMIA            r0!,{r5-r9} ;  取得保存在IRQ堆

⌨️ 快捷键说明

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