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

📄 cstartup.lst

📁 一个AT91SAM7X256 CAN计数器中断实验
💻 LST
📖 第 1 页 / 共 2 页
字号:
                                Stack
  125    00000068 0E502DE9            stmfd    sp!, {r1-r3, r12, r14}
  126    0000006C              
  127    0000006C              ;----------------------------------------------
  128    0000006C              ;- Branch to the routine pointed by the
                                AIC_IVR
  129    0000006C              ;----------------------------------------------
  130    0000006C 0FE0A0E1            mov      r14, pc
  131    00000070 10FF2FE1            bx       r0
  132    00000074              
  133    00000074              ;----------------------------------------------
  134    00000074              ;- Manage Exception Exit
  135    00000074              ;----------------------------------------------
  136    00000074              ;- Restore scratch/used registers and LR from
                                User Stack
  137    00000074 0E50BDE8            ldmia    sp!, {r1-r3, r12, r14}
  138    00000078              
  139    00000078              ;- Disable Interrupt and switch back in IRQ
                                mode
  140    00000078 92F021E3            msr      CPSR_c, #0x92
  141    0000007C              
  142    0000007C              ;- Mark the End of Interrupt on the AIC
  143    0000007C 94E09FE5            ldr      r14, =AT91C_BASE_AIC
  144    00000080 30E18EE5            str      r14, [r14, #AIC_EOICR]
  145    00000084              
  146    00000084              ;- Restore SPSR_irq and r0 from IRQ stack
  147    00000084 0140BDE8            ldmia    sp!, {r0, r14}
  148    00000088 0EF06FE1            msr      SPSR_cxsf, r14
  149    0000008C              
  150    0000008C              ;- Restore adjusted  LR_irq from IRQ stack
                                directly in the PC
  151    0000008C 0080FDE8            ldmia    sp!, {pc}^
  152    00000090              
  153    00000090              ;-----------------------------------------------
                               -------------------------------
  154    00000090              ;- Low level Init is performed in a C function:
                                AT91F_LowLevelInit
  155    00000090              ;- Init Stack Pointer to a valid memory area
                                before calling AT91F_LowLevelInit
  156    00000090              ;-----------------------------------------------
                               -------------------------------
  157    00000090              ;- Retrieve end of RAM address
  158    00000090              ;__iramend  EQU INTRAMEND_REMAP              ;-
                                Segment begin
  159    00000090              __iramend   EQU SFB(INTRAMEND_REMAP)         ;-
                                Segment begin
  160    00000000                     EXTERN   AT91F_LowLevelInit
  161    00000090              InitReset:
  162    00000090 84D09FE5            ldr      r13, =__iramend              ;-
                                                     Temporary stack
  163    00000094 84009FE5            ldr      r0, =AT91F_LowLevelInit
  164    00000098 0FE0A0E1            mov      lr, pc
  165    0000009C 10FF2FE1            bx       r0
  166    000000A0              
  167    000000A0              ;-----------------------------------------------
                               -------------------------------
  168    000000A0              ;- Top of Stack Definition
  169    000000A0              ;-----------------------------------------------
                               -------------------------------
  170    000000A0              ;- Interrupt and Supervisor Stack are located at
                                the top of internal memory in
  171    000000A0              ;- order to speed the exception handling context
                                saving and restoring.
  172    000000A0              ;- ARM_MODE_SVC (App, C) Stack is located at the
                                top of the external memory.
  173    000000A0              ;-----------------------------------------------
                               -------------------------------
  174    000000A0              ;- 3 words to be saved per interrupt priority
                                level
  175    00000060              IRQ_STACK_SIZE          EQU     (3*8*4)
  176    000000A0              
  177    000000A0              ;-----------------------------------------------
                               -------------------------------
  178    000000A0              ;- Setup the stack for each mode
  179    000000A0              ;-----------------------------------------------
                               -------------------------------
  180    000000A0 74009FE5             ldr     r0, =__iramend
  181    000000A4              
  182    000000A4              ;- Set up Fast Interrupt Mode and set FIQ Mode
                                Stack
  183    000000A4 D1F021E3             msr     CPSR_c, #0xd1
  184    000000A8              ;- Init the FIQ register
  185    000000A8 68809FE5             ldr     r8, =AT91C_BASE_AIC
  186    000000AC              
  187    000000AC              ;- Set up Interrupt Mode and set IRQ Mode
                                Stack
  188    000000AC D2F021E3             msr     CPSR_c, #0xd2
  189    000000B0 00D0A0E1             mov     r13, r0
  190    000000B4 600040E2             sub     r0, r0, #IRQ_STACK_SIZE
  191    000000B8              
  192    000000B8              ;- Enable interrupt & Set Supervisor Mode
                                Stack
  193    000000B8 13F021E3             msr     CPSR_c, #0x13
  194    000000BC 00D0A0E1             mov     r13, r0
  195    000000C0              
  196    000000C0              ;-----------------------------------------------
                               ----------------
  197    000000C0              ; ?CSTARTUP
  198    000000C0              ;-----------------------------------------------
                               ----------------
  199    00000000                      EXTERN  __segment_init
  200    000000C0              ; Initialize segments.
  201    000000C0 5C009FE5             ldr     r0, =__segment_init
  202    000000C4 0FE0A0E1             mov     lr, pc
  203    000000C8 10FF2FE1                     bx      r0
  204    000000CC              
  205    00000000                      EXTERN  main
  206    00000000                      PUBLIC  __main
  207    000000CC              ?jump_to_main:
  208    000000CC 54E09FE5             ldr     lr, =?call_exit
  209    000000D0 54009FE5             ldr     r0, =main
  210    000000D4              __main:
  211    000000D4 10FF2FE1             bx      r0
  212    000000D8              
  213    000000D8              ;-----------------------------------------------
                               -------------------------------
  214    000000D8              ;- Loop for ever
  215    000000D8              ;---------------
  216    000000D8              ;- End of application. Normally, never
                                occur.
  217    000000D8              ;-----------------------------------------------
                               -------------------------------
  218    000000D8              ?call_exit:
  219    000000D8              End
  220    000000D8 FEFFFFEA             b       End
  221    000000DC              
  222    000000DC              ;-----------------------------------------------
                               -------------------------------
  223    000000DC              ;- Exception Vectors
  224    000000DC              ;-----------------------------------------------
                               -------------------------------
  225    000000DC                      CODE32  ; Always ARM mode after
                                exeption
  226    00000000                      PUBLIC  AT91F_Default_FIQ_handler
  227    00000000                      PUBLIC  AT91F_Default_IRQ_handler
  228    00000000                      PUBLIC  AT91F_Spurious_handler
  229    000000DC              
  230    000000DC              AT91F_Default_FIQ_handler:
  231    000000DC FEFFFFEA             b       AT91F_Default_FIQ_handler
  232    000000E0              
  233    000000E0              AT91F_Default_IRQ_handler:
  234    000000E0 FEFFFFEA             b       AT91F_Default_IRQ_handler
  235    000000E4              
  236    000000E4              AT91F_Spurious_handler:
  237    000000E4 FEFFFFEA             b       AT91F_Spurious_handler
  238    000000E8              
  239    000000E8              ;-----------------------------------------------
                               -------------------------------
  240    00000000                      PUBLIC  ARMDisableInt
  241    000000E8              ARMDisableInt:
  242    000000E8 01002DE9             STMFD   sp!, {r0}
  243    000000EC 00000FE1             MRS     r0, CPSR
  244    000000F0 800080E3             ORR     r0, r0, #0x80
  245    000000F4 00F02FE1             MSR     CPSR_cxsf, r0
  246    000000F8 0100BDE8             LDMFD   sp!, {r0}
  247    000000FC 0EF0A0E1             MOV     pc, lr
  248    00000100              
  249    00000000                      PUBLIC  ARMEnableInt
  250    00000100              ARMEnableInt:
  251    00000100 01002DE9             STMFD   sp!, {r0}
  252    00000104 00000FE1             MRS     r0, CPSR
  253    00000108 8000C0E3             BIC     r0, r0, #0x80
  254    0000010C 00F02FE1             MSR     CPSR_cxsf, r0
  255    00000110 0100BDE8             LDMFD   sp!, {r0}
  256    00000114 0EF0A0E1             MOV     pc, lr
  257    00000118              
  258    00000118              ;-----------------------------------------------
                               -------------------------------
  259    00000118                          END
  259.1  00000118                       TABLE
  259.2  00000118 00F0FFFF             Reference on line 117,143,185 
  259.3  0000011C ........             Reference on line 162,180 
  259.4  00000120 ........             Reference on line 163 
  259.5  00000124 ........             Reference on line 201 
  259.6  00000128 ........             Reference on line 208 
  259.7  0000012C ........             Reference on line 209 
  259.8  00000130                      END (including table)
##############################
#          CRC:2DF5          #
#        Errors:   0         #
#        Warnings: 0         #
#         Bytes: 304         #
##############################





⌨️ 快捷键说明

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