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

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

?? 44binit.s

?? s3c44b0x Flash測試程序
?? 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			;聲明符號常量定義寄存器的對應地址
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				;相當于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	;轉入32位編譯模式
    ]
;以下位宏定義,任何調用HandlerXXX HANDLER HandleXXX都將被下面的程序展開
;該宏定義的代碼用于將對應中斷服務程序ISR的入口地址裝載到PC中,可稱之為“加載程序”
;本初始化程序定義了一個34個字空間的數據區(在文件最后),用于存放相應中斷服務程序的首地址。
;每個字空間都有一個標號,以HandleXXX命名。
;在向量中斷模式下使用“加載程序”來執行中斷服務程序。
;********************************************************************************************
;**********向量中斷和非向量中斷模式的概念與區別********************************************** 
;(一)
;向量中斷模式是當CPU讀取位于0x18處的IRQ中斷指令的時候,系統自動讀取對應于該中斷源確定地址上的指令取代0x18處的指令,
;通過跳轉指令系統就直接跳轉到對應地址函數中,節省了中斷處理時間提高了中斷處理速度。
;例如 ADC 中斷的向量地址為0xC0,則在0xC0處放如下代碼:ldr PC,=HandlerADC 當ADC中斷產生的時候系統會 
;自動跳轉到HandlerADC函數中處理中斷。 
;(二)
;非向量中斷模式處理方式是一種傳統的中斷處理方法,當系統產生中斷的時候,系統將INTPND寄存器中對應標志位置位,
;然后跳轉到位于0x18處的統一中斷函數中;
;該函數通過讀取INTPND寄存器中對應標志位來判斷中斷源,并根據優先級關系再跳到對應中斷源的處理代碼中處理中斷。 
    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
;將對應的中斷函數首地址入棧保護
    ldmfd   sp!,{r0,pc}	    ;POP the work register and pc(jump to ISR)
;將中斷函數的首地址出棧,放入PC中,系統將跳轉到對應中斷處理函數    
    MEND
;ARM的系統軟件開發中主要包含RO,RW,ZI三個段組成。
;其中RO為代碼段;RW為已經初始化的全局變量;ZI是未初始化的全局變量
;(對于GNU來說,依次對.text .data .bss段)
;值得說明的是:
;Bootloader要將RW段復制到RAM中并將ZI段清零;
;編譯器要使用下列段來記錄各段的起始和結束地址。
; |Image$$RO$$Base| ; 		RO段起始地址 
; |Image$$RO$$Limit| ; 		RO段結束地址+1 
; |Image$$RW$$Base| ; 		RW段起始地址 
; |Image$$RW$$Limit| ; 		RW段結束地址+1 
; |Image$$ZI$$Base| ; 		ZI段起始地址 
; |Image$$ZI$$Limit| ; 		ZI段結束地址+1 
;這些標號的值是通過編譯器的設定來確定的,如編譯軟件中對RO-base和RW-Base的設定
;
    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
;說明:
;關鍵字ENTRY告訴編譯器保留這段代碼。
;從代碼看Init段就是要寫入0x00地址的原始中斷向量,
;因此把這個文件編譯生成的44binit.O和Init填入ADS-Linker-Layout頁對應項中。
;【這樣編譯器會把該段代碼編譯到0X0地址。】
;
;異常中斷向量表【每個表項占4個字節】
;一旦系統運行時有中斷發生,即使移植了操作系統,如linux。
;處理器已經把控制權交給了操作系統,一旦發生中斷,處理器還是會跳轉到從0x0開始執行
;中斷向量表中的對應中斷。 
;具體中斷向量布局參考S3C44B0X Specification
;例如 ADC 的中斷向量為 0x000000c0 下面對應表中第49項位置 
;對應向量地址為 0x0+4*(49-1)= 0x000000c0 


ENTRY 
;ENTRY程序入口標號需要頂格式寫,否則出錯。
    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	
;下面是具體的中斷處理函數跳轉的宏,通過上面的$HandlerLabel的宏定義
;展開后跳轉到對應的中斷處理函數(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表示目前此中斷等待響應(每次只能有一位置1),從最高優先級中斷位開始判斷,檢測到等待服務 
;中斷就將pc置為中斷服務函數首地址 
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					    *
;****************************************************
;板子上電和復位后,程序開始從位于0x0處執行b ResetHandler ,從而跳轉到這里執行程序。
;板子上電復位后,執行以下幾個步驟,這里通過標號在注釋中加1,2,3....表示,標號表示執行順序 
;1.禁止看門狗,屏蔽所有中斷 
ResetHandler
    ldr	    r0,=WTCON	    ;watch dog disable 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91视频国产资源| 欧美视频自拍偷拍| 91网站在线播放| 亚洲欧洲av色图| 91精品91久久久中77777| 亚洲精品视频一区二区| 在线免费亚洲电影| 另类调教123区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 中文字幕av资源一区| 成人av第一页| 国产99久久久精品| 国产精品久久久久久久岛一牛影视| 国产精品国产成人国产三级| 成人午夜av电影| 国产精品久久午夜| 99视频国产精品| 国产精品久久久久久久久晋中| 婷婷国产在线综合| 欧美一级国产精品| 精品精品国产高清一毛片一天堂| 99久久精品国产网站| 成人亚洲精品久久久久软件| 韩国在线一区二区| 老司机精品视频线观看86| 爽好久久久欧美精品| 亚洲国产另类av| 亚洲成人你懂的| 婷婷综合久久一区二区三区| 樱花草国产18久久久久| 亚洲gay无套男同| 日韩高清欧美激情| 一本到不卡免费一区二区| 亚洲视频中文字幕| 日本午夜一区二区| av不卡免费电影| 精品捆绑美女sm三区| 亚洲一区二区三区四区不卡| 国产一区二区网址| 色呦呦一区二区三区| 欧美成人a∨高清免费观看| 国产精品午夜在线观看| 国产精品久久久久影院亚瑟| 亚洲综合激情网| 精品一区二区在线观看| 99免费精品在线观看| 91麻豆精品国产自产在线观看一区 | 国产成人在线网站| 91蜜桃网址入口| 久久久精品黄色| 蜜乳av一区二区| 欧美午夜一区二区三区| 日本一区二区三区免费乱视频| 亚洲精品国产精华液| 激情综合一区二区三区| 欧美另类一区二区三区| 国产精品欧美久久久久无广告| 污片在线观看一区二区 | 99久精品国产| 欧美三级韩国三级日本一级| 精品国产一区二区精华| 洋洋成人永久网站入口| 日本韩国一区二区| 最新热久久免费视频| 国产精品影视天天线| 色国产精品一区在线观看| 国产精品福利一区二区| 成人的网站免费观看| 国产精品不卡在线| 色综合一区二区| 亚洲图片一区二区| 欧美视频一区二区三区四区 | 亚洲在线中文字幕| 欧美日韩一卡二卡| 麻豆专区一区二区三区四区五区| 欧美老肥妇做.爰bbww视频| 午夜精品久久久久久| 日韩一区二区三区精品视频| 蜜桃av噜噜一区| www欧美成人18+| 福利一区在线观看| 一片黄亚洲嫩模| 日韩精品专区在线影院观看| 国产jizzjizz一区二区| 亚洲码国产岛国毛片在线| 日韩欧美一级二级三级| 欧美喷水一区二区| 国产一区二区不卡| 亚洲福利电影网| 中文字幕欧美三区| 欧美一区二区三区日韩视频| 岛国av在线一区| 麻豆91在线看| 午夜精品久久久久久久| 1024亚洲合集| 久久九九影视网| 久久影院电视剧免费观看| 欧美精品自拍偷拍| 欧洲色大大久久| 95精品视频在线| 国产精品123| 亚洲精品一区二区三区在线观看| 免费在线观看一区二区三区| 色婷婷综合在线| 色狠狠色狠狠综合| 欧美一区二区日韩| 国产精品久久久久国产精品日日| 2020国产成人综合网| 26uuu亚洲综合色| 久久久久久久久久久久久女国产乱| 91精品国产黑色紧身裤美女| 欧美亚洲国产一区二区三区| 在线亚洲人成电影网站色www| 99久久精品99国产精品| 欧美色成人综合| 欧美日韩精品是欧美日韩精品| www.久久久久久久久| 91在线云播放| 精品国产乱码久久久久久久久| 欧美一级二级三级乱码| 欧美亚洲丝袜传媒另类| 欧美日韩不卡在线| 日韩精品一区二区三区蜜臀| 久久久久久**毛片大全| 中文字幕在线播放不卡一区| 亚洲精品国产成人久久av盗摄| 亚洲成人先锋电影| 国产综合色在线视频区| 欧美日韩精品一区二区| 久久青草国产手机看片福利盒子| 国产午夜精品久久久久久久| 亚洲尤物视频在线| 国产成人综合在线观看| 欧美日韩一级二级| 中文字幕一区三区| 国内精品国产成人国产三级粉色 | 中文字幕制服丝袜成人av| 国产毛片精品国产一区二区三区| 国产成人综合亚洲91猫咪| 91精品国产综合久久久蜜臀图片| 中文字幕第一区第二区| 久久综合综合久久综合| 欧美日韩一区国产| 亚洲同性同志一二三专区| 国产福利91精品一区| 日韩精品一区二区三区swag| 亚洲午夜一二三区视频| 97精品电影院| 亚洲男同1069视频| 粉嫩久久99精品久久久久久夜| 欧美大度的电影原声| 麻豆国产欧美一区二区三区| 欧美性大战久久久| 亚洲人成影院在线观看| 欧洲国内综合视频| 亚洲va欧美va国产va天堂影院| 一本色道久久综合亚洲精品按摩| 国产精品久久久久精k8| 91在线丨porny丨国产| 亚洲人成人一区二区在线观看| 成人app软件下载大全免费| 亚洲日本一区二区| 在线观看日韩电影| 麻豆精品国产传媒mv男同| 精品免费视频一区二区| 日本在线观看不卡视频| 日韩一区二区免费在线观看| 亚洲第一精品在线| 日韩久久久精品| kk眼镜猥琐国模调教系列一区二区| 中文字幕一区二区在线观看| 欧美三级午夜理伦三级中视频| 爽爽淫人综合网网站| 国产精品国产精品国产专区不蜜 | 日本最新不卡在线| 久久久激情视频| 色先锋资源久久综合| 久久se精品一区精品二区| 亚洲男人天堂av| 欧美成人一区二区| 欧美日韩精品一区二区天天拍小说 | 中文字幕免费不卡在线| 欧美日韩国产片| 91免费观看国产| 久久电影网站中文字幕| 亚洲一区二区三区在线| 亚洲视频在线一区二区| 久久一留热品黄| 精品久久久久久久久久久久久久久| 色视频欧美一区二区三区| 成人免费观看视频| 蜜桃av一区二区三区电影| 天天av天天翘天天综合网色鬼国产 | 精品在线亚洲视频| 九九国产精品视频| 韩国中文字幕2020精品| 国产一区二区三区蝌蚪| 韩国av一区二区三区| 国产精品综合av一区二区国产馆| 美国三级日本三级久久99|