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

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

?? 44binit.s

?? s3c44b0x I2C測試程序
?? S
?? 第 1 頁 / 共 2 頁
字號:
; *******************************************************
; * NAME    : 44BINIT.S					*
; * Version : 10.JAn.2003				*
; * Description:					*
; *	C start up codes				*
; *	Configure memory, Initialize ISR ,stacks	*
; *	Initialize C-variables				*
; *	Fill zeros into zero-initialized C-variables	*
; *******************************************************
 
    GET option.inc
    GET memcfg.inc

;Interrupt Control			;聲明符號常量定義寄存器的對應(yīng)地址
INTPND	    EQU	0x01e00004	
INTMOD	    EQU	0x01e00008
INTMSK	    EQU	0x01e0000c
I_ISPR	    EQU	0x01e00020
I_CMST	    EQU	0x01e0001c

;Watchdog timer
WTCON	    EQU	0x01d30000

;Clock Controller
PLLCON	    EQU	0x01d80000
CLKCON	    EQU	0x01d80004
LOCKTIME    EQU	0x01d8000c
	
;Memory Controller
REFRESH	    EQU 0x01c80024

;Pre-defined constants
USERMODE    EQU	0x10
FIQMODE	    EQU	0x11
IRQMODE	    EQU	0x12
SVCMODE	    EQU	0x13
ABORTMODE   EQU	0x17
UNDEFMODE   EQU	0x1b
MODEMASK    EQU	0x1f
NOINT	    EQU	0xc0

;check if tasm.exe is used.
    GBLL    THUMBCODE				;定義全局邏輯變量THUMBCODE
    [ {CONFIG} = 16				;相當(dāng)于if (CONFIG==16)
THUMBCODE SETL	{TRUE}				;		THUMBCODE=TRUE;
    CODE32					;聲明為32位指令集,即使用ARM指令進行編譯
    |   					;else 
THUMBCODE SETL	{FALSE}				;	THUMBCODE=FALSE;
    ]						

    [ THUMBCODE					;if THUMBCODE=TRUE
    CODE32   ;for start-up code for Thumb mode	;轉(zhuǎn)入32位編譯模式
    ]
;以下位宏定義,任何調(diào)用HandlerXXX HANDLER HandleXXX都將被下面的程序展開
;該宏定義的代碼用于將對應(yīng)中斷服務(wù)程序ISR的入口地址裝載到PC中,可稱之為“加載程序”
;本初始化程序定義了一個34個字空間的數(shù)據(jù)區(qū)(在文件最后),用于存放相應(yīng)中斷服務(wù)程序的首地址。
;每個字空間都有一個標(biāo)號,以HandleXXX命名。
;在向量中斷模式下使用“加載程序”來執(zhí)行中斷服務(wù)程序。
;********************************************************************************************
;**********向量中斷和非向量中斷模式的概念與區(qū)別********************************************** 
;(一)
;向量中斷模式是當(dāng)CPU讀取位于0x18處的IRQ中斷指令的時候,系統(tǒng)自動讀取對應(yīng)于該中斷源確定地址上的指令取代0x18處的指令,
;通過跳轉(zhuǎn)指令系統(tǒng)就直接跳轉(zhuǎn)到對應(yīng)地址函數(shù)中,節(jié)省了中斷處理時間提高了中斷處理速度。
;例如 ADC 中斷的向量地址為0xC0,則在0xC0處放如下代碼:ldr PC,=HandlerADC 當(dāng)ADC中斷產(chǎn)生的時候系統(tǒng)會 
;自動跳轉(zhuǎn)到HandlerADC函數(shù)中處理中斷。 
;(二)
;非向量中斷模式處理方式是一種傳統(tǒng)的中斷處理方法,當(dāng)系統(tǒng)產(chǎn)生中斷的時候,系統(tǒng)將INTPND寄存器中對應(yīng)標(biāo)志位置位,
;然后跳轉(zhuǎn)到位于0x18處的統(tǒng)一中斷函數(shù)中;
;該函數(shù)通過讀取INTPND寄存器中對應(yīng)標(biāo)志位來判斷中斷源,并根據(jù)優(yōu)先級關(guān)系再跳到對應(yīng)中斷源的處理代碼中處理中斷。 
    MACRO
$HandlerLabel HANDLER $HandleLabel

$HandlerLabel
;由于ADS僅支持FD(滿遞減)型堆棧
    sub	    sp,sp,#4	    ;decrement sp(to store jump address)
    stmfd   sp!,{r0}	    ;PUSH the work register to stack(lr does't push because it return to original address)
;將要使用的R0寄存器壓棧保護。
    ldr	    r0,=$HandleLabel;load the address of HandleXXX to r0
    ldr	    r0,[r0]	    ;load the contents(service routine start address) of HandleXXX
    str	    r0,[sp,#4]	    ;store the contents(ISR) of HandleXXX to stack
;將對應(yīng)的中斷函數(shù)首地址入棧保護
    ldmfd   sp!,{r0,pc}	    ;POP the work register and pc(jump to ISR)
;將中斷函數(shù)的首地址出棧,放入PC中,系統(tǒng)將跳轉(zhuǎn)到對應(yīng)中斷處理函數(shù)    
    MEND
;ARM的系統(tǒng)軟件開發(fā)中主要包含RO,RW,ZI三個段組成。
;其中RO為代碼段;RW為已經(jīng)初始化的全局變量;ZI是未初始化的全局變量
;(對于GNU來說,依次對.text .data .bss段)
;值得說明的是:
;Bootloader要將RW段復(fù)制到RAM中并將ZI段清零;
;編譯器要使用下列段來記錄各段的起始和結(jié)束地址。
; |Image$$RO$$Base| ; 		RO段起始地址 
; |Image$$RO$$Limit| ; 		RO段結(jié)束地址+1 
; |Image$$RW$$Base| ; 		RW段起始地址 
; |Image$$RW$$Limit| ; 		RW段結(jié)束地址+1 
; |Image$$ZI$$Base| ; 		ZI段起始地址 
; |Image$$ZI$$Limit| ; 		ZI段結(jié)束地址+1 
;這些標(biāo)號的值是通過編譯器的設(shè)定來確定的,如編譯軟件中對RO-base和RW-Base的設(shè)定
;
    IMPORT	|Image$$RO$$Limit|  ; End of ROM code (=start of ROM data)
    IMPORT	|Image$$RW$$Base|   ; Base of RAM to initialise
    IMPORT	|Image$$ZI$$Base|   ; Base and limit of area
    IMPORT	|Image$$ZI$$Limit|  ; to zero initialise

    IMPORT  Main    ; The main entry of mon program 
;以下為代碼段
    AREA    Init,CODE,READONLY
;說明:
;關(guān)鍵字ENTRY告訴編譯器保留這段代碼。
;從代碼看Init段就是要寫入0x00地址的原始中斷向量,
;因此把這個文件編譯生成的44binit.O和Init填入ADS-Linker-Layout頁對應(yīng)項中。
;【這樣編譯器會把該段代碼編譯到0X0地址。】
;
;異常中斷向量表【每個表項占4個字節(jié)】
;一旦系統(tǒng)運行時有中斷發(fā)生,即使移植了操作系統(tǒng),如linux。
;處理器已經(jīng)把控制權(quán)交給了操作系統(tǒng),一旦發(fā)生中斷,處理器還是會跳轉(zhuǎn)到從0x0開始執(zhí)行
;中斷向量表中的對應(yīng)中斷。 
;具體中斷向量布局參考S3C44B0X Specification
;例如 ADC 的中斷向量為 0x000000c0 下面對應(yīng)表中第49項位置 
;對應(yīng)向量地址為 0x0+4*(49-1)= 0x000000c0 


ENTRY 
;ENTRY程序入口標(biāo)號需要頂格式寫,否則出錯。
    b ResetHandler  ;for debug
    b HandlerUndef  ;handlerUndef
    b HandlerSWI    ;SWI interrupt handler
    b HandlerPabort ;handlerPAbort
    b HandlerDabort ;handlerDAbort
    b .		    ;handlerReserved
    b HandlerIRQ
    b HandlerFIQ
	;***IMPORTANT NOTE***
	;If the H/W vectored interrutp mode is enabled, The above two instructions should
	;be changed like below, to work-around with H/W bug of S3C44B0X interrupt controller. 
	; b HandlerIRQ  ->  subs pc,lr,#4
	; b HandlerIRQ  ->  subs pc,lr,#4

VECTOR_BRANCH
    ldr pc,=HandlerEINT0    ;mGA    H/W interrupt vector table
    ldr pc,=HandlerEINT1    ;	
    ldr pc,=HandlerEINT2    ;
    ldr pc,=HandlerEINT3    ;
    ldr pc,=HandlerEINT4567 ;
    ldr pc,=HandlerTICK	    ;mGA
    b .
    b .
    ldr pc,=HandlerZDMA0    ;mGB
    ldr pc,=HandlerZDMA1    ;
    ldr pc,=HandlerBDMA0    ;
    ldr pc,=HandlerBDMA1    ;
    ldr pc,=HandlerWDT	    ;
    ldr pc,=HandlerUERR01   ;mGB
    b .
    b .
    ldr pc,=HandlerTIMER0   ;mGC
    ldr pc,=HandlerTIMER1   ;
    ldr pc,=HandlerTIMER2   ;
    ldr pc,=HandlerTIMER3   ;
    ldr pc,=HandlerTIMER4   ;
    ldr pc,=HandlerTIMER5   ;mGC
    b .
    b .
    ldr pc,=HandlerURXD0    ;mGD
    ldr pc,=HandlerURXD1    ;
    ldr pc,=HandlerIIC	    ;
    ldr pc,=HandlerSIO	    ;
    ldr pc,=HandlerUTXD0    ;
    ldr pc,=HandlerUTXD1    ;mGD
    b .
    b .
    ldr pc,=HandlerRTC	    ;mGKA
    b .			    ;
    b .			    ;
    b .			    ;
    b .			    ;
    b .			    ;mGKA
    b .
    b .
    ldr pc,=HandlerADC	    ;mGKB
    b .			    ;
    b .			    ;
    b .			    ;
    b .			    ;
    b .			    ;mGKB
    b .
    b .
;0xe0=EnterPWDN
    ldr pc,=EnterPWDN

    LTORG	
;下面是具體的中斷處理函數(shù)跳轉(zhuǎn)的宏,通過上面的$HandlerLabel的宏定義
;展開后跳轉(zhuǎn)到對應(yīng)的中斷處理函數(shù)(ISR)處理中斷(對于向量中斷)
HandlerFIQ	HANDLER HandleFIQ
HandlerIRQ	HANDLER HandleIRQ
HandlerUndef	HANDLER HandleUndef
HandlerSWI	HANDLER HandleSWI
HandlerDabort	HANDLER HandleDabort
HandlerPabort	HANDLER HandlePabort

HandlerADC	HANDLER HandleADC
HandlerRTC	HANDLER HandleRTC
HandlerUTXD1	HANDLER HandleUTXD1
HandlerUTXD0	HANDLER HandleUTXD0
HandlerSIO	HANDLER HandleSIO
HandlerIIC	HANDLER HandleIIC
HandlerURXD1	HANDLER HandleURXD1
HandlerURXD0	HANDLER HandleURXD0
HandlerTIMER5	HANDLER HandleTIMER5
HandlerTIMER4	HANDLER HandleTIMER4
HandlerTIMER3	HANDLER HandleTIMER3
HandlerTIMER2	HANDLER HandleTIMER2
HandlerTIMER1	HANDLER HandleTIMER1
HandlerTIMER0	HANDLER HandleTIMER0
HandlerUERR01	HANDLER HandleUERR01
HandlerWDT	HANDLER HandleWDT
HandlerBDMA1	HANDLER HandleBDMA1
HandlerBDMA0	HANDLER HandleBDMA0
HandlerZDMA1	HANDLER HandleZDMA1
HandlerZDMA0	HANDLER HandleZDMA0
HandlerTICK	HANDLER HandleTICK
HandlerEINT4567	HANDLER HandleEINT4567
HandlerEINT3	HANDLER HandleEINT3
HandlerEINT2	HANDLER HandleEINT2
HandlerEINT1	HANDLER HandleEINT1
HandlerEINT0	HANDLER HandleEINT0


;One of the following two routines can be used for non-vectored interrupt.
;下面這段程序是用來處理非向量中斷,具體判斷I_ISPR中各位是否置1 置1表示目前此中斷等待響應(yīng)(每次只能有一位置1),從最高優(yōu)先級中斷位開始判斷,檢測到等待服務(wù) 
;中斷就將pc置為中斷服務(wù)函數(shù)首地址 
IsrIRQ	;using I_ISPR register.
    sub	    sp,sp,#4       ;reserved for PC
    stmfd   sp!,{r8-r9}   

	;IMPORTANT CAUTION
	;if I_ISPC isn't used properly, I_ISPR can be 0 in this routine.

    ldr	    r9,=I_ISPR
    ldr	    r9,[r9]
    mov	    r8,#0x0
0
    movs    r9,r9,lsr #1
    bcs	    %F1
    add	    r8,r8,#4
    b	    %B0

1
    ldr	    r9,=HandleADC
    add	    r9,r9,r8
    ldr	    r9,[r9]
    str	    r9,[sp,#8]
    ldmfd   sp!,{r8-r9,pc}


;****************************************************
;*	START					    *
;****************************************************
;板子上電和復(fù)位后,程序開始從位于0x0處執(zhí)行b ResetHandler ,從而跳轉(zhuǎn)到這里執(zhí)行程序。
;板子上電復(fù)位后,執(zhí)行以下幾個步驟,這里通過標(biāo)號在注釋中加1,2,3....表示,標(biāo)號表示執(zhí)行順序 
;1.禁止看門狗,屏蔽所有中斷 
ResetHandler
    ldr	    r0,=WTCON	    ;watch dog disable 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老色鬼精品视频在线观看播放| 中文字幕一区在线| 久久精品国产**网站演员| 欧美在线你懂的| 五月综合激情网| 欧美一级精品在线| 国产精品一二三在| 亚洲欧美自拍偷拍色图| 在线看日韩精品电影| 丝瓜av网站精品一区二区 | 日韩一区二区精品葵司在线| 美女视频第一区二区三区免费观看网站| 欧美一区欧美二区| 国产一区在线视频| 亚洲乱码日产精品bd| 欧美三级午夜理伦三级中视频| 婷婷国产v国产偷v亚洲高清| 欧美xxxxxxxx| 成人激情免费电影网址| 亚洲一区影音先锋| 2023国产精华国产精品| av在线不卡网| 日韩中文字幕不卡| 国产精品区一区二区三区| 在线亚洲高清视频| 久久99精品网久久| 亚洲免费大片在线观看| 91精品在线观看入口| 粉嫩av亚洲一区二区图片| 一区二区三区中文字幕电影| 精品欧美一区二区久久| 91麻豆国产精品久久| 男人的天堂亚洲一区| 国产精品第四页| 日韩一区二区三区四区五区六区| 99久久精品国产一区二区三区| 日韩制服丝袜先锋影音| 综合中文字幕亚洲| 日韩欧美国产电影| 色94色欧美sute亚洲线路二| 国产综合色视频| 五月婷婷综合网| 中文字幕欧美激情| 精品少妇一区二区三区视频免付费| thepron国产精品| 国模少妇一区二区三区| 亚洲一区二区偷拍精品| 欧美国产欧美综合| 日韩欧美一级二级三级| 欧美三级乱人伦电影| 成人精品国产一区二区4080| 狠狠久久亚洲欧美| 视频在线在亚洲| 亚洲永久精品大片| 亚洲婷婷综合色高清在线| 精品国产91久久久久久久妲己 | 麻豆国产精品官网| 亚洲一区二区欧美| 亚洲视频1区2区| 国产精品视频在线看| 久久青草欧美一区二区三区| 91精品国产丝袜白色高跟鞋| 色av成人天堂桃色av| 99精品视频在线免费观看| 国产精品一区免费视频| 麻豆国产一区二区| 麻豆91免费观看| 奇米色一区二区三区四区| 亚洲成人动漫在线免费观看| 尤物av一区二区| 亚洲欧美色图小说| 亚洲欧洲色图综合| 国产精品久久久久国产精品日日| 久久蜜桃av一区二区天堂| 欧美成人伊人久久综合网| 欧美一区二区精美| 日韩一级免费一区| 欧美岛国在线观看| 精品国产乱码久久久久久牛牛 | 国产精品自在在线| 国产自产视频一区二区三区| 精品一区二区三区av| 国产精品亚洲第一区在线暖暖韩国| 国产麻豆精品久久一二三| 高清av一区二区| 99精品视频一区| 欧美性受xxxx黑人xyx性爽| 欧洲一区二区av| 欧美欧美午夜aⅴ在线观看| 欧美狂野另类xxxxoooo| 欧美成人一区二区三区片免费| 欧美精品一区在线观看| 亚洲国产高清在线| 亚洲免费观看高清在线观看| 亚洲午夜视频在线| 日韩av在线发布| 久久精品99久久久| 成人精品视频一区二区三区尤物| 99精品视频在线观看免费| 91福利社在线观看| 制服丝袜激情欧洲亚洲| 久久亚洲捆绑美女| 高清免费成人av| 一区二区视频在线| 亚洲国产一区二区三区青草影视| 日韩av午夜在线观看| 不卡视频在线看| 暴力调教一区二区三区| 激情综合五月婷婷| 91无套直看片红桃| 久久久国产精品午夜一区ai换脸| 三级在线观看一区二区| 色系网站成人免费| 国产日韩成人精品| 久久99精品久久久久婷婷| 欧美人与性动xxxx| 亚洲一区在线观看免费 | 欧美三级蜜桃2在线观看| 国产精品另类一区| 国产一区二区三区av电影| 欧美一级免费观看| 婷婷一区二区三区| 精品污污网站免费看| 亚洲视频 欧洲视频| a在线播放不卡| 欧美国产综合一区二区| 国产一区二区不卡在线| 精品国产一区二区三区不卡| 奇米777欧美一区二区| 欧美精品国产精品| 亚洲成人久久影院| 在线观看欧美日本| 亚洲一区二区三区四区五区中文| 91啪亚洲精品| 亚洲欧美色一区| 色狠狠色狠狠综合| 亚洲国产成人高清精品| 欧美日韩精品综合在线| 亚洲成人一区二区| 欧美日韩不卡一区| 日本不卡中文字幕| 日韩欧美高清dvd碟片| 精彩视频一区二区三区| 精品国产百合女同互慰| 国产九色精品成人porny| 欧美韩国日本一区| a亚洲天堂av| 亚洲午夜久久久久| 在线不卡一区二区| 久久国产精品一区二区| 26uuu久久天堂性欧美| 国产suv精品一区二区三区| 中文字幕在线一区| 在线观看亚洲一区| 首页国产欧美久久| 欧美精品一区二区三区久久久| 国产一区91精品张津瑜| 国产精品午夜春色av| 色婷婷国产精品综合在线观看| 亚洲成人在线免费| 精品乱人伦小说| 成人免费视频网站在线观看| 亚洲三级在线免费观看| 欧美精品久久99久久在免费线| 毛片av一区二区| 国产欧美日本一区二区三区| 91蜜桃在线免费视频| 天天影视涩香欲综合网 | 日韩一级免费观看| 国产成人超碰人人澡人人澡| 亚洲人成精品久久久久| 5858s免费视频成人| 国产精品一区在线观看你懂的| 亚洲欧美一区二区不卡| 欧美一级理论性理论a| 成+人+亚洲+综合天堂| 午夜影院在线观看欧美| 国产午夜精品久久久久久免费视| 色综合久久综合| 日本美女视频一区二区| 18欧美亚洲精品| 欧美大片国产精品| 91女人视频在线观看| 久久99精品久久久久久久久久久久| 亚洲视频图片小说| 日韩欧美在线网站| 色综合一个色综合| 久久99精品久久久久久动态图| 亚洲乱码国产乱码精品精98午夜 | 91精品国产综合久久福利软件| 丁香桃色午夜亚洲一区二区三区| 亚洲制服丝袜在线| 国产三级三级三级精品8ⅰ区| 在线一区二区三区做爰视频网站| 国产综合成人久久大片91| 亚洲成av人片| 中文字幕一区日韩精品欧美| 精品国产三级电影在线观看| 精品视频123区在线观看| 高清av一区二区|