亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? start_gcc.s

?? 這是一個實時的嵌入式操作系統的源代碼
?? S
字號:
/*
* file:
*       start.S
* description:
*       s3c44b0 startup code.
*/

/* MEMORY AREA */
#define _RAM_STARTADDRESS   0x0c000000
#define _RAM_ENDADDRESS     0x0c800000
#define _ROM_STARTADDRESS   0x00000000
#define _ROM_ENDADDRESS     0x00200000


/* STACK DEFINITIONS */
#define _FIQ_STACK_ADDRESS  (_RAM_ENDADDRESS-0x00000)   /* 14K */
#define _IRQ_STACK_ADDRESS  (_RAM_ENDADDRESS-0x03800)   /* 14K */
#define _ABT_STACK_ADDRESS  (_RAM_ENDADDRESS-0x07000)   /* 1K  */
#define _SVC_STACK_ADDRESS  (_RAM_ENDADDRESS-0x07400)   /* 2K  */
#define _UND_STACK_ADDRESS  (_RAM_ENDADDRESS-0x07c00)   /* 1k  */
#define _USR_STACK_ADDRESS  (_RAM_ENDADDRESS-0x08000)   /* 0K  */


/* PROCESSOR MODE */
#define FIQ_MODE    0x11        /* Fast Interrupt Mode (FIQ) */
#define IRQ_MODE    0x12        /* Interrupt Mode (IRQ)      */
#define ABT_MODE    0x17        /* Abort Mode(ABT)           */
#define SVC_MODE    0x13        /* Supervisor Mode (SVC)     */
#define UND_MODE    0x1b        /* Undefine Mode(UDF)        */
#define USR_MODE    0x10        /* User Mode(USR)            */
#define SYS_MODE    0x1f        /* System Mode(SYS)          */
#define MODE_MSK    0x1f        /* Processor Mode Mask       */


/* IRQ BITS */
#define F_BIT       0x40        /* FIQ Disable                 */
#define I_BIT       0x80        /* IRQ Disable                 */
#define LOCKOUT     0xc0        /* Interrupt lockout mask value*/


/* WATCHDOG TIMER SPECIAL REGISTERS */
#define WTCON       0x01d30000
#define WTDAT       0x01d30004
#define WTCNT       0x01d30008


/* INTERRUPT CONTROLLER SPECIAL REGISTERS */
#define INTCON      0x01e00000
#define INTPND      0x01e00004
#define INTMOD      0x01e00008
#define INTMSK      0x01e0000c
#define I_ISPR      0x01e00020
#define I_ISPC      0x01e00024


/* CPU WRAPPER SPECIAL REGISTERS */
#define SYSCFG      0x01c00000
#define NCACHBE0    0x01c00004
#define NCACHBE1    0x01c00008
#define SBUSCON     0x01c40000


/* CLOCK GENERATOR & POWER MANAGEMENT SPECIAL REGISTER */
#define PLLCON      0x01d80000
#define CLKCON      0x01d80004
#define CLKSLOW     0x01d80008
#define LOCKTIME    0x01d8000c
#define M_DIV       56          /* Fin= 8MHz Fout=64MHz */
#define P_DIV       2
#define S_DIV       1
/*
#define M_DIV       52          ; Fin=10MHz Fout=60MHz
#define P_DIV       3
#define S_DIV       1
*/


/* MEMORY CONTROLLER SPECIAL REGISGERS */
#define BWSCON      0x01c80000
#define BANKCON0    0x01c80004
#define BANKCON1    0x01c80008
#define BANKCON2    0x01c8000c
#define BANKCON3    0x01c80010
#define BANKCON4    0x01c80014
#define BANKCON5    0x01c80018
#define BANKCON6    0x01c8001c
#define BANKCON7    0x01c80020
#define REFRESH     0x01c80024
#define BANKSIZE    0x01c80028
#define MRSRB6      0x01c8002c
#define MRSRB7      0x01c80030


/* NON-CACHEABLE AREA CONTROL REGISTER (NCACHBEn) */
#define NCACHESTART 0x00000000  /* Non cache area start adddress 0x00000000 */
#define NCACHEEND   0xc0000000  /* Non cache area end address 0x0c000000    */


.text


        .global _start
_start:
        b       SystemResetHandler
        ldr     pc, =_RAM_STARTADDRESS+4    /* b       SystemUndefinedHandler */
        ldr     pc, =_RAM_STARTADDRESS+8    /* b       SystemSwiHandler       */
        ldr     pc, =_RAM_STARTADDRESS+12   /* b       SystemPrefetchHandler  */
        ldr     pc, =_RAM_STARTADDRESS+16   /* b       SystemAbortHandler     */
        ldr     pc, =_RAM_STARTADDRESS+20   /* b       SystemReservedHandler  */
        ldr     pc, =_RAM_STARTADDRESS+24   /* b       SystemIrqHandler       */
        ldr     pc, =_RAM_STARTADDRESS+28   /* b       SystemFiqHandler       */
        .ltorg


ConfigMemoryData:
        .word   0x11111112      /* BWSCON */
        .word   0x00000600      /* GCS0   */
        .word   0x00007ffc      /* GCS1   */
        .word   0x00007ffc      /* GCS2   */
        .word   0x00007ffc      /* GCS3   */
        .word   0x00007ffc      /* GCS4   */
        .word   0x00007ffc      /* GCS5   */
        .word   0x00018000      /* GCS6, SDRAM (MT = 11, Trcd = 0, SCAN = 0) */
        .word   0x00018000      /* GCS7, SDRAM (MT = 11, Trcd = 0, SCAN = 0) */
#if M_DIV == 56
        .word   0x00800000+1050
#endif

#if M_DIV == 52
        .word   0x00800000+1113
#endif
                                /* Refresh(REFEN=1, TREFMD=0, Trp=2, Trc=5, Tchr=3) */
                                /* If refresh period is 15.6 us and MCLK is 60 MHz, */
                                /* the refresh count is as follows; */
                                /* refresh count = 2^11 + 1 - 60x15.6 = 1113 */
        .word   0x10            /* SCLK power down mode, BankSize 32M/32M */
        .word   0x20            /* MRSR 6(CL=2) */
        .word   0x20            /* MRSR 7(CL=2) */


SystemReservedHandler:
        b       SystemReservedHandler


SystemResetHandler:
        ldr     r0, =WTCON
        ldr     r1, =0x8000
        str     r1,[r0]

        ldr     r0, =INTCON
        ldr     r1, =0x07
        str     r1, [r0]

        ldr     r0, =INTMOD
        ldr     r1, =0x00
        str     r1, [r0]

        ldr     r0, =INTMSK
        ldr     r1, =0x07ffffff
        str     r1, [r0]

        ldr     r0, =I_ISPC
        ldr     r1, =0x03ffffff
        str     r1, [r0]

        ldr     r0, =SYSCFG
        ldr     r1, =0x00
        str     r1, [r0]

        ldr     r0, =NCACHBE0
        ldr     r1, =NCACHESTART | NCACHEEND
        str     r1, [r0]

        ldr     r0, =NCACHBE1
        ldr     r1, =0x00
        str     r1, [r0]

        b       Initialize_Memory
        .ltorg


Initialize_Memory:
        mov     r0, pc
        ldr     r1, =_RAM_STARTADDRESS
        cmp     r0, r1
        ldr     r0, =ConfigMemoryData
        sublt   r0, r0, r1
        ldmia   r0, {r1-r13}
        ldr     r0, =BWSCON
        stmia   r0, {r1-r13}

        b       Initialize_Code
        .ltorg


        .extern Image_RO_Base
        .extern Image_RO_Limit
        .extern Image_RW_Base
        .extern Image_RW_Limit
        .extern Image_ZI_Base
        .extern Image_ZI_Limit
Initialize_Code:
        mov     r0, pc
        ldr     r1, =_RAM_STARTADDRESS
        cmp     r0, r1
        bge     Initialize_Clock

        ldr     r0, =_ROM_STARTADDRESS
        ldr     r1, =_start
        ldr     r2, =Image_ZI_Base
Code0:
        cmp     r1, r2
        bge     Code1
        ldmia   r0!, {r3-r10}
        stmia   r1!, {r3-r10}
        b       Code0
Code1:
        ldr     pc, =_RAM_STARTADDRESS
        .ltorg


Initialize_Clock:
        ldr     r0, =LOCKTIME
        ldr     r1, =0x0fff
        str     r1, [r0]

        ldr     r0, =PLLCON
        ldr     r1, =((M_DIV<<12)+(P_DIV<<4)+S_DIV)
        str     r1, [r0]

        ldr     r0, =CLKCON
        ldr     r1, =0x7ff8
        str     r1,[r0]

        b       Initialize_Vector
        .ltorg


Initialize_Vector:
        ldr     r0, =_RAM_STARTADDRESS;

        add     r0, r0, #4
        ldr     r1, =SystemUndefinedHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        add     r0, r0, #4
        ldr     r1, =SystemSwiHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        add     r0, r0, #4
        ldr     r1, =SystemPrefetchHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        add     r0, r0, #4
        ldr     r1, =SystemAbortHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        add     r0, r0, #4
        ldr     r1, =SystemReservedHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        add     r0, r0, #4
        ldr     r1, =SystemIrqHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        add     r0, r0, #4
        ldr     r1, =SystemFiqHandler
        sub     r1, r1, #8
        sub     r1, r1, r0
        mov     r1, r1, lsr#2
        orr     r1, r1, #0xea000000
        str     r1, [r0]

        b       Initialize_Stack
        .ltorg


Initialize_Stack:
        mov     r0, #0x00

        orr     r1, r0, #LOCKOUT|FIQ_MODE
        msr     cpsr_all, r1
        ldr     sp, =_FIQ_STACK_ADDRESS

        orr     r1, r0, #I_BIT|IRQ_MODE
        msr     cpsr_all, r1
        ldr     sp, =_IRQ_STACK_ADDRESS

        orr     r1, r0, #LOCKOUT|ABT_MODE
        msr     cpsr_all, r1
        ldr     sp, =_ABT_STACK_ADDRESS

        orr     r1, r0, #LOCKOUT|UND_MODE
        msr     cpsr_all, r1
        ldr     sp, =_UND_STACK_ADDRESS

        orr     r1, r0, #LOCKOUT|SVC_MODE
        msr     cpsr_all, r1
        ldr     sp, =_SVC_STACK_ADDRESS

        b       Initialize_Data
        .ltorg


Initialize_Data:
        ldr     r0, =Image_RO_Limit
        ldr     r1, =Image_RW_Base
        ldr     r2, =Image_ZI_Base
        ldr     r3, =Image_ZI_Limit
        mov     r4, #0

        cmp     r0, r1
        beq     Data1
Data0:
        cmp     r1, r2
        ldrcc   r5, [r0], #4
        strcc   r5, [r1], #4
        bcc     Data0
Data1:
        cmp     r2, r3
        strcc   r4, [r2], #4
        bcc     Data1

        b       Initialize_Entry
        .ltorg


        .extern _os_entry
Initialize_Entry:
        mov     r0, #SYS_MODE
        msr     cpsr_all, r0
        ldr     sp, =_USR_STACK_ADDRESS

        bl      _os_entry
        b       .
        .ltorg


        .extern Isr_UndefineHandler
SystemUndefinedHandler:
        stmfd   sp!, {r0-r3, ip, lr}
        sub     r0, lr, #4
        bl      Isr_UndefineHandler
        ldmfd   sp!, {r0-r3, ip, pc}^


        .extern Isr_SwiHandler
SystemSwiHandler:
        stmfd   sp!, {r0-r3, ip, lr}
        sub     r0, lr, #4
        ldr     r1, [r0]
        bic     r1, r1, #0xff000000
        bl      Isr_SwiHandler
        ldmfd   sp!, {r0-r3, ip, pc}^


        .extern Isr_PrefetchAbortHandler
SystemPrefetchHandler:
        stmfd   sp!, {r0-r3, ip, lr}
        sub     r0, lr, #4
        bl      Isr_PrefetchAbortHandler
        ldmfd   sp!, {r0-r3, ip, lr}
        subs    pc, lr, #4


        .extern Isr_DataAbortHandler
SystemAbortHandler:
        stmfd   sp!, {r0-r3, ip, lr}
        sub     r0, lr, #8
        bl      Isr_DataAbortHandler
        ldmfd   sp!, {r0-r3, ip, lr}
        subs    pc, lr, #8


        .extern _irq_entry
SystemIrqHandler:
        stmfd   sp!, {r0-r3, ip, lr}

        ldr     r1, =I_ISPR
        ldr     r1, [r1]
        cmp     r1, #0x00       /* If the IDLE mode work-around is used, r1 may be 0 sometimes. */
        beq     Irq2
        mov     r0, #0x00
Irq0:
        movs    r1, r1, lsr #1
        bcs     Irq1
        add     r0, r0, #1
        b       Irq0
Irq1:
        mov     r2, #1
        mov     r2, r2, lsl r0
        ldr     r1, =I_ISPC
        str     r2, [r1]
        b       _irq_entry
Irq2:
        ldmfd   sp!, {r0-r3, ip, lr}
        subs    pc, lr, #4
        .ltorg


        .extern _irq_entry
SystemFiqHandler:
        stmfd   sp!, {r0-r3, ip, lr}

        ldr     r1, =INTPND
        ldr     r1, [r1]
        cmp     r1, #0x00       /* If the IDLE mode work-around is used, r1 may be 0 sometimes. */
        beq     Fiq2
        mov     r0, #0x00
Fiq0:
        movs    r1, r1, lsr #1
        bcs     Fiq1
        add     r0, r0, #1
        b       Fiq0
Fiq1:
        mov     r2, #1
        mov     r2, r2, lsl r0
        ldr     r1, =I_ISPC
        str     r2, [r1]
        b       _irq_entry
Fiq2:
        ldmfd   sp!, {r0-r3, ip, lr}
        subs    pc, lr, #4
        .ltorg


        .end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91美女福利视频| 欧美三级视频在线观看| 亚洲欧美另类图片小说| 在线综合视频播放| 成人一区二区三区视频在线观看 | 国产成人亚洲精品青草天美| 亚洲人快播电影网| 精品久久久久av影院| 在线观看国产一区二区| 国产不卡在线播放| 毛片不卡一区二区| 亚洲影院理伦片| 中文字幕在线不卡一区二区三区| 91麻豆精品91久久久久久清纯| 成人av电影在线| 国模无码大尺度一区二区三区| 亚洲成人精品一区二区| 综合电影一区二区三区 | 91在线视频在线| 日韩精品视频网| 欧美韩国日本不卡| 正在播放亚洲一区| 91免费看片在线观看| 老司机午夜精品99久久| 亚洲精品午夜久久久| wwwwxxxxx欧美| 精品视频1区2区| 久久成人免费网站| 国产色综合久久| 日韩美女一区二区三区| 色综合欧美在线视频区| 国产麻豆91精品| 日韩高清欧美激情| 亚洲激情在线激情| 国产亚洲成aⅴ人片在线观看| 欧美精品在线一区二区三区| 成人av电影在线网| 国产在线精品一区二区三区不卡| 亚洲国产精品久久人人爱| 国产精品久线在线观看| 欧美一区二区播放| 日本大香伊一区二区三区| 国产一区二区精品在线观看| 香港成人在线视频| 亚洲激情图片一区| 亚洲人成精品久久久久久| 国产日产欧美一区二区视频| 欧美一区二区三区免费观看视频| 欧美色欧美亚洲另类二区| 91影院在线观看| 成人午夜碰碰视频| 国产馆精品极品| 国产一区二区精品久久99| 国产91丝袜在线播放九色| 中文字幕一区二区三区精华液 | 成人精品免费网站| 日韩免费高清电影| 久久99精品国产麻豆不卡| 欧美精品在线观看播放| 亚洲aaa精品| 91精品国产综合久久国产大片 | 欧美精品v日韩精品v韩国精品v| 亚洲精品一卡二卡| 欧美少妇性性性| 五月激情综合婷婷| 6080国产精品一区二区| 日本在线不卡一区| 欧美xxxxx牲另类人与| 极品少妇一区二区| 国产亚洲一区二区在线观看| 国产激情91久久精品导航| 国产精品久久一卡二卡| 99久久精品免费| 亚洲精品成人a在线观看| 欧美性受xxxx黑人xyx性爽| 亚洲成人动漫精品| 欧美xxxxx牲另类人与| 国产精品一区在线| 亚洲欧美怡红院| 欧美裸体一区二区三区| 理论电影国产精品| 国产精品久久毛片a| 欧美在线一区二区三区| 午夜影院久久久| 一区二区三区不卡视频| 欧美顶级少妇做爰| 国产成人啪免费观看软件| 中文字幕一区二区三区色视频| 91女厕偷拍女厕偷拍高清| 日韩av中文在线观看| 国产婷婷色一区二区三区| 91极品美女在线| 韩日精品视频一区| 中文字幕中文字幕在线一区| 欧美日本一道本| 国产成人精品一区二区三区网站观看 | 国产精品久久久一区麻豆最新章节| 91丨porny丨国产入口| 日韩激情在线观看| 国产精品动漫网站| 日韩午夜精品视频| 91丝袜高跟美女视频| 久久99九九99精品| 一区二区三区四区视频精品免费| 欧美v日韩v国产v| 欧美视频在线观看一区二区| 国产精品综合网| 天天爽夜夜爽夜夜爽精品视频| 欧美极品美女视频| 欧美一级高清片在线观看| 99精品视频在线观看| 久88久久88久久久| 午夜精品久久一牛影视| 国产欧美日韩精品在线| 欧美亚洲综合在线| 成人av在线资源网| 国模无码大尺度一区二区三区| 亚洲自拍偷拍麻豆| 自拍偷拍欧美激情| 国产亚洲一本大道中文在线| 欧美日韩国产经典色站一区二区三区| 国产91对白在线观看九色| 日本va欧美va精品| 一区二区三区国产精品| 自拍偷拍亚洲欧美日韩| 国产欧美日韩综合| 久久久影院官网| 51精品久久久久久久蜜臀| 91香蕉视频mp4| 97精品视频在线观看自产线路二| 国产一区二区精品久久99| 久久精品国产精品亚洲红杏| 日韩精品电影在线观看| 国产精品网站在线| 日韩亚洲国产中文字幕欧美| 在线观看亚洲一区| 欧美伊人久久大香线蕉综合69| 91在线高清观看| 国产拍欧美日韩视频二区| 日韩黄色免费网站| 成人av电影在线| 国产在线精品一区二区夜色 | 亚洲人妖av一区二区| 亚洲欧洲日本在线| 自拍偷拍国产精品| 亚洲免费伊人电影| 亚洲夂夂婷婷色拍ww47| 国产精品福利在线播放| 国产精品热久久久久夜色精品三区 | 久久综合九色综合欧美就去吻| 日韩视频在线一区二区| 精品伦理精品一区| 国产亚洲婷婷免费| 欧美国产一区二区| 中文字幕中文在线不卡住| 亚洲婷婷国产精品电影人久久| 最新不卡av在线| 亚洲第一会所有码转帖| 在线中文字幕不卡| 欧美日韩一区二区电影| 日韩精品中文字幕一区二区三区 | 国产成人综合在线| 99久久综合精品| 欧美在线观看一二区| 欧美一级xxx| 亚洲国产精品黑人久久久| 亚洲国产激情av| 国产精品久久99| 亚洲视频网在线直播| 日本在线观看不卡视频| 国产69精品久久99不卡| 91国偷自产一区二区开放时间 | 99久久国产综合精品女不卡| 欧美视频三区在线播放| 欧美一区二区三区四区视频 | 国产清纯白嫩初高生在线观看91| 中文字幕一区三区| 首页亚洲欧美制服丝腿| 国产福利不卡视频| 欧美日韩三级在线| 久久精品一区蜜桃臀影院| 亚洲欧美一区二区三区孕妇| 欧美aaaaaa午夜精品| 97超碰欧美中文字幕| 欧美一区二区三区性视频| 国产精品国产三级国产aⅴ中文| 亚洲风情在线资源站| 国产成人自拍网| 欧美午夜视频网站| 久久亚洲精品小早川怜子| 亚洲成a天堂v人片| 91原创在线视频| www一区二区| 日韩高清国产一区在线| 不卡一二三区首页| 精品奇米国产一区二区三区| 亚洲欧美经典视频| 美女视频黄久久| 色拍拍在线精品视频8848| 久久精品亚洲国产奇米99|