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

📄 boot.lst

📁 ucos 在 arm9 芯片上的移植
💻 LST
📖 第 1 页 / 共 4 页
字号:



ARM Macro Assembler    Page 1 


    1 00000000         
    2 00000000         
    3 00000000         ;*$Id: boot.s, 2009/01/12 23:30:12 huguangfu Exp $ */
    4 00000000         ;*******************************************************
                       *****************
    5 00000000         ; *
    6 00000000         ; * Title       :boot.s
    7 00000000         ; *
    8 00000000         ; * Summary     :boot
    9 00000000         ; *
   10 00000000         ; * Author      :hgf
   11 00000000         ; *
   12 00000000         ; * Date                :2009-01-12
   13 00000000         ; *
   14 00000000         ; * Copyright (c) Pioneer Corporation
   15 00000000         ; *
   16 00000000         ;*******************************************************
                       ******************/
   17 00000000         ;define the size of stack
   18 00000000 0000020C 
                       USR_STACK_LEGTH
                               EQU              0x20c
   19 00000000 00000020 
                       SVC_STACK_LEGTH
                               EQU              0x20
   20 00000000 00000000 
                       FIQ_STACK_LEGTH
                               EQU              0
   21 00000000 00001000 
                       IRQ_STACK_LEGTH
                               EQU              0x1000
   22 00000000 00000000 
                       ABT_STACK_LEGTH
                               EQU              0
   23 00000000 00000000 
                       UND_STACK_LEGTH
                               EQU              0
   24 00000000         
   25 00000000 00000080 
                       NoInt   EQU              0x80
   26 00000000         
   27 00000000 00000010 
                       USR32Mode
                               EQU              0x10
   28 00000000 00000013 
                       SVC32Mode
                               EQU              0x13
   29 00000000 0000001F 
                       SYS32Mode
                               EQU              0x1f
   30 00000000 00000012 
                       IRQ32Mode
                               EQU              0x12
   31 00000000 00000011 
                       FIQ32Mode
                               EQU              0x11
   32 00000000         
   33 00000000                 GET              sfr.inc
    1 00000000         ;*$Id: sfr.inc,v 1.1 2008/03/06 04:34:25 xuhongliang Exp



ARM Macro Assembler    Page 2 


                        $ */
    2 00000000         ;*******************************************************
                       *****************
    3 00000000         ; *
    4 00000000         ; * Title  :sfr.inc
    5 00000000         ; *
    6 00000000         ; * Summary  :sfr
    7 00000000         ; *
    8 00000000         ; * Author  :xhl
    9 00000000         ; *
   10 00000000         ; * Date                :2008-03-04
   11 00000000         ; *
   12 00000000         ; * Copyright (c) Pioneer Corporation
   13 00000000         ; *
   14 00000000         ;*******************************************************
                       ******************/
   15 00000000         ;SMC configuration registers
   16 00000000 10100000 
                       SMC_DBWCR
                               EQU              0x10100000
   17 00000000 10100004 
                       SMC_EDWCR
                               EQU              0x10100004
   18 00000000 10100008 
                       SMC_WSCR
                               EQU              0x10100008
   19 00000000         
   20 00000000 10100010 
                       SMC_TAREA
                               EQU              0x10100010
   21 00000000 10100014 
                       SMC_TACSR
                               EQU              0x10100014
   22 00000000 10100018 
                       SMC_TCOSR
                               EQU              0x10100018
   23 00000000 1010001C 
                       SMC_TCOHR
                               EQU              0x1010001C
   24 00000000         
   25 00000000         
   26 00000000         ;Decoder(HOSTIF)
   27 00000000         ;SYSTEM
   28 00000000         ;VIDEO
   29 00000000 101C0240 
                       VIDEO_SDR_INDEX
                               EQU              0x101c0240
   30 00000000 101C0244 
                       VIDEO_SDRAM_MODE
                               EQU              0x101c0244
   31 00000000 101C0248 
                       VIDEO_SDCLK_MODE
                               EQU              0x101c0248
   32 00000000 101C024C 
                       VIDEO_SDDQSO_MODE
                               EQU              0x101c024c
   33 00000000 101C0250 
                       VIDEO_SDDQSEN_MODE
                               EQU              0x101c0250



ARM Macro Assembler    Page 3 


   34 00000000 101C0254 
                       VIDEO_SDDQI_MODE
                               EQU              0x101c0254
   35 00000000 101C0258 
                       VIDEO_PON_SEQ
                               EQU              0x101c0258
   36 00000000 101C025C 
                       VIDEO_REF_SET
                               EQU              0x101c025c
   37 00000000         
   38 00000000         
   39 00000000 101C02C0 
                       VIDEO_RESET
                               EQU              0x101c02c0
   40 00000000         
   41 00000000         ;APB CORE
   42 00000000         ;System controller
   43 00000000         
   44 00000000 101E0000 
                       APB_SCCTRL
                               EQU              0x101e0000
   45 00000000 101E0004 
                       APB_SCSYSSTAT
                               EQU              0x101e0004
   46 00000000 101E0008 
                       APB_SCIMCTRL
                               EQU              0x101e0008
   47 00000000 101E000C 
                       APB_SCIMSTAT
                               EQU              0x101e000C
   48 00000000 101E0014 
                       APB_SCPLLCTRL
                               EQU              0x101e0014
   49 00000000 101E0018 
                       APB_SCPLLFCTRL
                               EQU              0x101e0018
   50 00000000 101E001C 
                       APB_SCPERCTRL0
                               EQU              0x101e001C
   51 00000000 101E0020 
                       APB_SCPERCTRL1
                               EQU              0x101e0020
   52 00000000 101E0024 
                       APB_SCPEREN
                               EQU              0x101e0024
   53 00000000 101E0028 
                       APB_SCPERDIS
                               EQU              0x101e0028
   54 00000000 101E002C 
                       APB_SCPERCLKEN
                               EQU              0x101e002C
   55 00000000 101E0030 
                       APB_SCPERSTAT
                               EQU              0x101e0030
   56 00000000         
   57 00000000 101E0100 
                       APB_MCIINS
                               EQU              0x101e0100
   58 00000000 101E0104 



ARM Macro Assembler    Page 4 


                       APB_MCIINSE
                               EQU              0x101e0104
   59 00000000 101E0108 
                       APB_MCIINSS
                               EQU              0x101e0108
   60 00000000 101E010C 
                       APB_MCIIC
                               EQU              0x101e010C
   61 00000000 101E0110 
                       APB_MCIWP
                               EQU              0x101e0110
   62 00000000 101E0114 
                       APB_MCIWEN
                               EQU              0x101e0114
   63 00000000 101E0118 
                       APB_MCICLKEN
                               EQU              0x101e0118
   64 00000000         
   65 00000000 101E0180 
                       APB_CLR_HOSTIF
                               EQU              0x101e0180
   66 00000000         
   67 00000000         ;Uart Base address
   68 00000000 101F2000 
                       UART0_BASE_ADDR
                               EQU              0x101f2000
   69 00000000 101F3000 
                       UART1_BASE_ADDR
                               EQU              0x101f3000
   70 00000000 101F4000 
                       UART2_BASE_ADDR
                               EQU              0x101f4000
   71 00000000 101F5000 
                       UART3_BASE_ADDR
                               EQU              0x101f5000
   72 00000000         
   73 00000000 00000000 
                       UARTDR  EQU              0x00
   74 00000000 00000004 
                       UARTRSR_ECR
                               EQU              0x04
   75 00000000 00000018 
                       UARTFR  EQU              0x18
   76 00000000 00000020 
                       UARTILPR
                               EQU              0x20
   77 00000000 00000024 
                       UARTIBRD
                               EQU              0x24
   78 00000000 00000028 
                       UARTFBRD
                               EQU              0x28
   79 00000000 0000002C 
                       UARTLCR_H
                               EQU              0x2c
   80 00000000 00000030 
                       UARTCR  EQU              0x30
   81 00000000 00000034 
                       UARTIFLS



ARM Macro Assembler    Page 5 


                               EQU              0x34
   82 00000000 00000038 
                       UARTIMSC
                               EQU              0x38
   83 00000000 0000003C 
                       UARTRIS EQU              0x3c
   84 00000000 00000040 
                       UARTMIS EQU              0x40
   85 00000000 00000044 
                       UARTICR EQU              0x44
   86 00000000 00000048 
                       UARTDMACR
                               EQU              0x48
   87 00000000         
   88 00000000         
   89 00000000                 END
   34 00000000                 IMPORT           __main      ;The entry of C lib
                                                            rary 
   35 00000000         
   36 00000000         
   37 00000000                 IMPORT           irq_vector
   38 00000000                 IMPORT           fiq_vector
   39 00000000                 IMPORT           InitUart
   40 00000000                 IMPORT           ||Image$$ARM_LIB_STACK$$ZI$$Lim
it||
   41 00000000                 IMPORT           ||Image$$ARM_LIB_STACK$$Base||
   42 00000000                 IMPORT           InitMMU
   43 00000000         
   44 00000000         
   45 00000000                 EXPORT           Reset
   46 00000000         
   47 00000000         
   48 00000000                 PRESERVE8
   49 00000000                 CODE32
   50 00000000         
   51 00000000                 AREA             vectors,CODE,READONLY
   52 00000000                 ENTRY
   53 00000000         
   54 00000000         ;Interrupt vectors
   55 00000000         Reset
   56 00000000 E59FF018        LDR              PC, ResetAddr
   57 00000004 E59FF018        LDR              PC, UndefinedAddr
   58 00000008 E59FF018        LDR              PC, SWI_Addr
   59 0000000C E59FF018        LDR              PC, PrefetchAddr
   60 00000010 E59FF018        LDR              PC, DataAbortAddr
   61 00000014 E1A00000        DCD              0xe1a00000  ;nop
   62 00000018 E59FF018        LDR              PC, IRQ_Addr
   63 0000001C E59FF018        LDR              PC, FIQ_Addr
   64 00000020         
   65 00000020         
   66 00000020 00000000 
                       ResetAddr
                               DCD              ResetInit
   67 00000024 00000000 
                       UndefinedAddr
                               DCD              Undefined
   68 00000028 00000000 
                       SWI_Addr
                               DCD              SoftwareInterrupt



ARM Macro Assembler    Page 6 


   69 0000002C 00000000 
                       PrefetchAddr
                               DCD              PrefetchAbort
   70 00000030 00000000 
                       DataAbortAddr
                               DCD              DataAbort
   71 00000034 00000000 
                       Nouse   DCD              0
   72 00000038         ;IRQ_Addr            DCD     irq_vector
   73 00000038 00000000 
                       IRQ_Addr
                               DCD              irq_asm_vector
   74 0000003C 00000000 
                       FIQ_Addr
                               DCD              fiq_vector
   75 00000040         
   76 00000040         
   77 00000040         
   78 00000040         ;Undefined Instruction
   79 00000040         Undefined
   80 00000040 EAFFFFFE        B                Undefined
   81 00000044         
   82 00000044         ;SWI
   83 00000044         SoftwareInterrupt
   84 00000044 EAFFFFFE        B                SoftwareInterrupt
   85 00000048         
   86 00000048         
   87 00000048         ;PrefetchAbort
   88 00000048         PrefetchAbort
   89 00000048 EAFFFFFE        B                PrefetchAbort
   90 0000004C         
   91 0000004C         ;Data Abort
   92 0000004C         DataAbort
   93 0000004C EAFFFFFE        B                DataAbort
   94 00000050         
   95 00000050         
   96 00000050         irq_asm_vector
   97 00000050 E24EE004        SUB              lr, lr, #4
   98 00000054 E92D5FFF        STMFD            sp!, {r0-r12, lr} ;push r0-r12 
                                                            register file and l
                                                            r( pc return addres
                                                            s )
   99 00000058 E14F4000        MRS              r4, spsr
  100 0000005C E92D0010        STMFD            sp!, {r4}   ;push current spsr_
                                                            irq ( =cpsr_svc )
  101 00000060         
  102 00000060 E59F01F4        ldr              r0, =0x10140000
  103 00000064 E5904030        ldr              r4, [r0, #48]
  104 00000068 E3A00000        mov              r0, #&0
  105 0000006C         
  106 0000006C E59F11E8        ldr              r1, =0x10140000
  107 00000070 E5810030        str              r0, [r1, #48]
  108 00000074 E3540000        cmp              r4, #&0
  109 00000078 0A000000        beq              _nottimerisr
  110 0000007C E12FFF34        blx              r4
  111 00000080         
  112 00000080         _nottimerisr
  113 00000080 E8BD0010        LDMFD            sp!, {r4}   ;get cpsr_svc from 
                                                            stack



ARM Macro Assembler    Page 7 


  114 00000084 E16FF004        MSR              SPSR_cxsf, r4 ;prepare spsr to 
                                                            return svc mode  
  115 00000088 E8FD9FFF        LDMFD            sp!, {r0-r12, pc}^
  116 0000008C         
  117 0000008C         ;*******************************************************
                       **********
  118 0000008C         ;*
  119 0000008C         ;* Function Name
  120 0000008C         ;*    ResetInit
  121 0000008C         ;* Inputs
  122 0000008C         ;*    None
  123 0000008C         ;* Outputs
  124 0000008C         ;*    None
  125 0000008C         ;* Return Codes
  126 0000008C         ;*    None
  127 0000008C         ;* Description
  128 0000008C         ;*   This funtion reset route   
  129 0000008C         ;* Date:
  130 0000008C         ;*    2008-03-04
  131 0000008C         ;*******************************************************
                       **********/
  132 0000008C         ResetInit
  133 0000008C EB000004        BL               SystemCtrl  ;the system config
  134 00000090         WarmReset
  135 00000090 EB00003D        BL               InitStack   ;init the stack of 
                                                            system
  136 00000094 EBFFFFFE        BL               InitUart
  137 00000098 EB000049        BL               CopyIntVector ;copy Interrupt v
                                                            ector to sdram
  138 0000009C EBFFFFFE        BL               InitMMU
  139 000000A0 EAFFFFFE        B                __main
  140 000000A4         
  141 000000A4         
  142 000000A4         
  143 000000A4         ;*******************************************************
                       **********
  144 000000A4         ;*
  145 000000A4         ;* Function Name
  146 000000A4         ;*    SystemCtrl
  147 000000A4         ;* Inputs
  148 000000A4         ;*    None
  149 000000A4         ;* Outputs
  150 000000A4         ;*    None
  151 000000A4         ;* Return Codes
  152 000000A4         ;*    None
  153 000000A4         ;* Description
  154 000000A4         ;*   This funtion init the system   
  155 000000A4         ;* Date:

⌨️ 快捷键说明

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