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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? start_gcc.s

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

/* MEMORY AREA */
#define _RAM_STARTADDRESS   0x30000000
#define _RAM_ENDADDRESS     0x34000000
#define _ROM_STARTADDRESS   0x00000000
#define _ROM_ENDADDRESS     0x00200000


/* STACK DEFINITIONS */
#define _FIQ_STACK_ADDRESS  (_RAM_ENDADDRESS-0x08000)   /* 14K */
#define _IRQ_STACK_ADDRESS  (_RAM_ENDADDRESS-0x0b800)   /* 14K */
#define _ABT_STACK_ADDRESS  (_RAM_ENDADDRESS-0x0f000)   /* 1K  */
#define _SVC_STACK_ADDRESS  (_RAM_ENDADDRESS-0x0f400)   /* 2K  */
#define _UND_STACK_ADDRESS  (_RAM_ENDADDRESS-0x0fc00)   /* 1k  */
#define _USR_STACK_ADDRESS  (_RAM_ENDADDRESS-0x10000)   /* 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 controller */
#define WTCON       0x53000000
#define WTDAT       0x53000004
#define WTCNT       0x53000008


/* interrupt controller */
#define SRCPND      0x4a000000
#define INTMOD      0x4a000004
#define INTMSK      0x4a000008
#define PRIORITY    0x4a00000c
#define INTPND      0x4a000010
#define INTOFFSET   0x4a000014
#define SUBSRCPND   0x4a000018
#define INTSUBMSK   0x4a00001c


/* clock controller */
#define LOCKTIME    0x4c000000
#define MPLLCON     0x4c000004
#define UPLLCON     0x4c000008
#define CLKCON      0x4c00000c
#define CLKSLOW     0x4c000010
#define CLKDIVN     0x4c000014
#define MM_DIV      0xa1                /* Fin=12MHz Fout=202.8MHz */
#define MP_DIV      0x03
#define MS_DIV      0x01
#define UM_DIV      0x78
#define UP_DIV      0x02
#define US_DIV      0x03


/* memory controller */
#define BWSCON      0x48000000
#define BANKCON0    0x48000004
#define BANKCON1    0x48000008
#define BANKCON2    0x4800000c
#define BANKCON3    0x48000010
#define BANKCON4    0x48000014
#define BANKCON5    0x48000018
#define BANKCON6    0x4800001c
#define BANKCON7    0x48000020
#define REFRESH     0x48000024
#define BANKSIZE    0x48000028
#define MRSRB6      0x4800002c
#define MRSRB7      0x48000030


/* STARTUP CODE */
.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   0x22111112              /* BWSCON   */
        .word   0x00000600              /* BANKCON0 */
        .word   0x00000700              /* BANKCON1 */
        .word   0x00000700              /* BANKCON2 */
        .word   0x00000700              /* BANKCON3 */
        .word   0x00000700              /* BANKCON4 */
        .word   0x00000700              /* BANKCON5 */
        .word   0x00018001              /* BANKCON6 */
        .word   0x00018001              /* BANKCON7 */
        .word   0x008001e9              /* REFRESH  */
        .word   0x00000032              /* BANKSIZE */
        .word   0x00000030              /* MRSRB6   */
        .word   0x00000030              /* MRSRB7   */


SystemReservedHandler:
        b       SystemReservedHandler


SystemResetHandler:
        ldr     r0, =WTCON              /* Disable WatchDog */
        ldr     r1, =0x8000
        str     r1, [r0]

        ldr     r0, =INTMSK             /* Disable interrupt */
        ldr     r1, =0xffffffff
        str     r1, [r0]

        ldr     r0, =INTSUBMSK          /* Disable sub interrupt */
        ldr     r1, =0x07ff
        str     r1, [r0]

        ldr     r0, =INTMOD             /* IRQ mode */
        ldr     r1, =0x00
        str     r1, [r0]

        ldr     r0, =SUBSRCPND          /* Clear sub interrupt pending */
        ldr     r1, =0x07ff
        str     r1, [r0]

        ldr     r0, =SRCPND             /* Clear interrupt source */
        ldr     r1, =0xffffffff
        str     r1, [r0]

        ldr     r0, =INTPND             /* Clear interrupt pending */
        ldr     r1, =0xffffffff
        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, =CLKDIVN
        ldr     r1, =0x03
        str     r1, [r0]

        ldr     r0, =LOCKTIME
        ldr     r1, =0x00ffffff
        str     r1, [r0]

        ldr     r0, =MPLLCON
        ldr     r1, =((MM_DIV<<12)+(MP_DIV<<4)+MS_DIV)
        str     r1, [r0]

        ldr     r0, =UPLLCON
        ldr     r1, =((UM_DIV<<12)+(UP_DIV<<4)+US_DIV)
        str     r1, [r0]

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

        ldr     r0, =CLKSLOW
        ldr     r1, =0x04
        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     r0, =INTOFFSET
        ldr     r0, [r0]
        mov     r2, #1
        mov     r2, r2, lsl r0
        ldr     r1, =SRCPND             /* Clear SRCPND */
        str     r2, [r1]
        ldr     r1, =INTPND             /* Clear INTPND */
        str     r2, [r1]

        b       _irq_entry
        .ltorg


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

        ldr     r1, =INTPND
        ldr     r1, [r1]
        cmp     r1, #0x00
        beq     Fiq2
        mov     r0, #0x0
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, =SRCPND             /* Clear SRCPND */
        str     r2, [r1]
        ldr     r1, =INTPND             /* Clear INTPND */
        str     r2, [r1]
        b       _irq_entry
Fiq2:
        ldmfd   sp!, {r0-r3, ip, lr}
        subs    pc, lr, #4
        .ltorg


        .end

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一区二区三区蜜桃下载| 欧美一区二区三区视频在线| 视频在线观看国产精品| 欧美大片一区二区| 91麻豆swag| 国产精品综合久久| 午夜精品一区二区三区电影天堂| 国产色91在线| 欧美一级日韩不卡播放免费| 99精品欧美一区二区三区小说| 老司机一区二区| 亚洲一区二区五区| 中文字幕av在线一区二区三区| 精品国产123| 免费成人在线视频观看| 久久久av毛片精品| 亚洲蜜臀av乱码久久精品| 久久99国产精品久久99果冻传媒| 大胆亚洲人体视频| 91丨国产丨九色丨pron| 中文天堂在线一区| 国产精品影视网| 久久精品一区二区| 91成人免费在线视频| 欧美三级视频在线| 欧美大片顶级少妇| 一区二区视频在线看| 风流少妇一区二区| 首页国产欧美日韩丝袜| 欧美性色欧美a在线播放| 91玉足脚交白嫩脚丫在线播放| 欧美日韩不卡一区| 欧美三级午夜理伦三级中视频| 色综合久久久久久久久久久| 欧美本精品男人aⅴ天堂| 美女网站色91| 欧美国产日产图区| 欧美日韩一区二区在线观看| 国产美女精品在线| 亚洲一区欧美一区| 国产精品天美传媒沈樵| 不卡的av在线播放| 久久精品免费观看| 国产自产视频一区二区三区| 秋霞国产午夜精品免费视频| 天天av天天翘天天综合网 | 亚洲一区av在线| 亚洲欧美日韩在线| 亚洲伦理在线免费看| 一区二区在线观看视频| 一区二区激情视频| 亚洲成人激情av| 丝袜美腿亚洲综合| 久久精品免视看| 精品视频一区二区不卡| 久久精品人人做人人爽人人| 欧美疯狂性受xxxxx喷水图片| 精品久久国产字幕高潮| 欧美精品1区2区3区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 精品精品国产高清a毛片牛牛 | 在线精品视频小说1| 不卡高清视频专区| 色综合久久久久| 欧美日韩国产系列| 欧美不卡视频一区| 国产欧美日韩在线视频| 综合在线观看色| 亚洲.国产.中文慕字在线| 蜜桃视频在线一区| 国产成人免费高清| 欧美性videosxxxxx| 精品少妇一区二区三区| 日本一区二区三区电影| 亚洲黄色小说网站| 九九精品视频在线看| 成人免费视频一区二区| 91久久国产最好的精华液| 欧美一级日韩不卡播放免费| 中文字幕欧美激情| 亚洲成人高清在线| 国产激情视频一区二区三区欧美 | 国产精品66部| 欧美伊人久久久久久久久影院 | 国产剧情一区在线| 在线观看av一区二区| 日韩精品一区二区三区四区| 最新日韩av在线| 丝袜美腿亚洲色图| 成人av网站在线观看免费| 欧美日本在线播放| 日本一区二区三区在线观看| 亚洲gay无套男同| 国产黑丝在线一区二区三区| 欧美日韩精品欧美日韩精品一 | 99精品热视频| 欧美二区在线观看| 欧美不卡一区二区| 国产又黄又大久久| 欧美四级电影在线观看| 国产日产欧美一区二区视频| 成人av在线影院| 日韩一区二区影院| 亚洲一区二区三区不卡国产欧美 | 色狠狠桃花综合| 久久精品这里都是精品| 久久不见久久见中文字幕免费| 午夜激情一区二区| 91亚洲大成网污www| 日韩三级.com| 亚洲大片精品永久免费| av资源站一区| 国产日产欧美一区二区视频| 麻豆精品一区二区| 欧美三级电影网站| 亚洲精品自拍动漫在线| 成人国产精品免费| 久久久久久久久97黄色工厂| 天堂一区二区在线免费观看| 日本韩国欧美在线| 中文字幕一区二区三区乱码在线| 国产精品自产自拍| 欧美videos中文字幕| 日本三级韩国三级欧美三级| 欧美日韩三级视频| 亚洲成人资源在线| 欧美亚洲综合网| 亚洲国产综合视频在线观看| 色综合天天综合| 亚洲一区二区偷拍精品| 成人黄色av电影| 日本一区二区三区免费乱视频 | 精品系列免费在线观看| 欧美一级理论性理论a| 亚洲国产欧美日韩另类综合 | 国产精品欧美经典| 国产不卡视频在线播放| 久久久久99精品国产片| 国产在线视频一区二区三区| 久久久综合视频| 国产福利视频一区二区三区| 久久久精品人体av艺术| 国产+成+人+亚洲欧洲自线| 欧美激情艳妇裸体舞| av爱爱亚洲一区| 亚洲伦理在线精品| 国产精品一二二区| 中文字幕日韩av资源站| 中文一区在线播放| 在线不卡欧美精品一区二区三区| 国内外成人在线| 亚洲黄一区二区三区| 欧美国产日本韩| 91精品国产欧美一区二区| 高清shemale亚洲人妖| 视频一区二区欧美| 国产一区二区三区精品视频| 亚洲一级在线观看| 亚洲成a人在线观看| 26uuu国产电影一区二区| 美女一区二区视频| 国产调教视频一区| 91蝌蚪国产九色| 亚洲成人动漫精品| 精品国产99国产精品| 粉嫩一区二区三区性色av| 日韩一区日韩二区| 欧美精品视频www在线观看| 美女mm1313爽爽久久久蜜臀| 久久亚洲春色中文字幕久久久| 成人h动漫精品| 性做久久久久久| 久久久久久99精品| 在线观看日韩电影| 精品一区二区三区视频在线观看| 国产精品久久久久桃色tv| 欧美图区在线视频| 国产一区不卡在线| 一区二区三区四区在线播放 | 日韩一二三四区| 国产91富婆露脸刺激对白| 一区二区成人在线| 精品sm在线观看| 欧美这里有精品| 国产毛片精品视频| 亚洲线精品一区二区三区| 26uuu亚洲婷婷狠狠天堂| 在线影视一区二区三区| 国内精品免费**视频| 亚洲精品国久久99热| www激情久久| 欧美日韩一卡二卡| 成年人网站91| 狠狠网亚洲精品| 日日欢夜夜爽一区| 1区2区3区精品视频| 精品福利一区二区三区免费视频| 色菇凉天天综合网| 国产福利精品一区二区| 丝袜美腿一区二区三区|