新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > S3C2440-啟動分析

        S3C2440-啟動分析

        作者: 時間:2016-12-02 來源:網絡 收藏
        /*******************************************************************
        設置內存控制寄存器,在SMRDATA中已經設定好,BWSCON總線寬度和等待狀態寄存器,地址0x48000000,是13內存控制寄存器的起始地址。
        *******************************************************************/
        ldr r0,=SMRDATA
        ldr r1,=BWSCON
        add r2, r0, #52 ;r2是這13個寄存器結束的地址
        0
        ldr r3, [r0], #4 ;通過r3作為中介,把以r0為基址的內容向r1為基址的地方拷貝
        str r3, [r1], #4
        cmp r2, r0 ;如果沒有結束繼續拷貝
        bne %B0
        mov r1,#256
        0 subs r1,r1,#1
        bne %B0
        ldr r1,=GSTATUS3 ;GSTATUS3 has the start address just after SLEEP wake-up
        ldr r0,[r1]
        mov pc,r0
        ;=====================================================================
        ; Clock division test
        ; Assemble code, because VSYNC time is very short
        ;=====================================================================
        EXPORT CLKDIV124
        EXPORT CLKDIV144
        CLKDIV124
        ldr r0, = CLKDIVN
        ldr r1, = 0x3 ; 0x3 = 1:2:4
        str r1, [r0]
        ; wait until clock is stable
        nop
        nop
        nop
        nop
        nop
        ldr r0, = REFRESH
        ldr r1, [r0]
        bic r1, r1, #0xff
        bic r1, r1, #(0x7<<8)
        orr r1, r1, #0x470 ; REFCNT135
        str r1, [r0]
        nop
        nop
        nop
        nop
        nop
        mov pc, lr
        CLKDIV144
        ldr r0, = CLKDIVN
        ldr r1, = 0x4 ; 0x4 = 1:4:4
        str r1, [r0]
        ; wait until clock is stable
        nop
        nop
        nop
        nop
        nop
        ldr r0, = REFRESH
        ldr r1, [r0]
        bic r1, r1, #0xff
        bic r1, r1, #(0x7<<8)
        orr r1, r1, #0x630 ; REFCNT675 - 1520
        str r1, [r0]
        nop
        nop
        nop
        nop
        nop
        mov pc, lr
        ALIGN
        ;二級中斷向量表,軟件實現的
        AREA RamData, DATA, READWRITE
        ^ _ISR_STARTADDRESS ; _ISR_STARTADDRESS=0x33FF_FF00
        HandleReset # 4
        HandleUndef # 4
        HandleSWI # 4
        HandlePabort # 4
        HandleDabort # 4
        HandleReserved # 4
        HandleIRQ # 4
        HandleFIQ # 4
        ;Don t use the label IntVectorTable,
        ;The value of IntVectorTable is different with the address you think it may be.
        ;IntVectorTable
        ;@0x33FF_FF20
        HandleEINT0 # 4
        HandleEINT1 # 4
        HandleEINT2 # 4
        HandleEINT3 # 4
        HandleEINT4_7 # 4
        HandleEINT8_23 # 4
        HandleCAM # 4 ; Added for 2440.
        HandleBATFLT # 4
        HandleTICK # 4
        HandleWDT # 4
        HandleTIMER0 # 4
        HandleTIMER1 # 4
        HandleTIMER2 # 4
        HandleTIMER3 # 4
        HandleTIMER4 # 4
        HandleUART2 # 4
        ;@0x33FF_FF60
        HandleLCD # 4
        HandleDMA0 # 4
        HandleDMA1 # 4
        HandleDMA2 # 4
        HandleDMA3 # 4
        HandleMMC # 4
        HandleSPI0 # 4
        HandleUART1 # 4
        HandleNFCON # 4 ; Added for 2440.
        HandleUSBD # 4
        HandleUSBH # 4
        HandleIIC # 4
        HandleUART0 # 4
        HandleSPI1 # 4
        HandleRTC # 4
        HandleADC # 4
        ;@0x33FF_FFA0
        END
        上一頁 1 2 3 4 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 临泽县| 乌海市| 平罗县| 衡山县| 肇东市| 白沙| 苏尼特左旗| 霍州市| 鸡西市| 泰州市| 莱西市| 宁蒗| 安多县| 凤山县| 正阳县| 蒲江县| 邵阳县| 万年县| 云和县| 新营市| 江达县| 湛江市| 漾濞| 得荣县| 黄浦区| 灵石县| 桂林市| 东乌珠穆沁旗| 拜泉县| 平原县| 遵化市| 长葛市| 广安市| 澎湖县| 巴林左旗| 宜城市| 望谟县| 赤水市| 中山市| 乐业县| 什邡市|