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

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

?? start.s

?? ARM例碼:GEC2410的一些例子,包含RTC
?? S
字號:
;=========================================
; NAME: 2410INIT.S
; DESC: C start up codes
;       Configure memory, ISR ,stacks
;	Initialize C-variables
; HISTORY:
; 2002.02.25:kwtark: ver 0.0
; 2002.03.20:purnnamu: Add some functions for testing STOP,POWER_OFF mode
;=========================================

	GET option.s
	GET memcfg.s
	GET 2410addr.s

BIT_SELFREFRESH EQU	(1<<22)
;ARM異常模式的定義
;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

;ARM個異常模式堆棧
;The location of stacks
UserStack	EQU	(_STACK_BASEADDRESS-0x3800)	;0x33ff4800 ~ 
SVCStack	EQU	(_STACK_BASEADDRESS-0x2800) ;0x33ff5800 ~
UndefStack	EQU	(_STACK_BASEADDRESS-0x2400) ;0x33ff5c00 ~
AbortStack	EQU	(_STACK_BASEADDRESS-0x2000) ;0x33ff6000 ~
IRQStack	EQU	(_STACK_BASEADDRESS-0x1000)	;0x33ff7000 ~
FIQStack	EQU	(_STACK_BASEADDRESS-0x0)	;0x33ff8000 ~ 

;Check if tasm.exe(armasm -16 ...@ADS 1.0) is used.
	GBLL    THUMBCODE
	[ {CONFIG} = 16 	;[ = IF
THUMBCODE SETL  {TRUE}
	    CODE32          ; CODE32 表明一下操作都在ARM狀態
    	| 				;| = ELSE  
THUMBCODE SETL  {FALSE}
    	]				;] = ENDIF

;宏定義MOV_PC_LR
    	MACRO
	MOV_PC_LR
    	[ THUMBCODE
            bx lr
    	|
            mov	pc,lr
    	]
	MEND

    	MACRO
	MOVEQ_PC_LR
    	[ THUMBCODE
    	    bxeq lr
    	|
            moveq pc,lr
    	]
	MEND

;宏定義-進入異常流程
;HANDLER-宏的名稱
;$HandleLabel-宏的參數
;這個宏的作用是把各個中斷程序的地址裝入當前的PC,2410有兩種裝斷模式 一種是沒有中斷向量表,一種是使用中斷向量表的
;使用中斷向量表只能是IRQ方式,當使用中斷向量表的時候,中斷發生時由2410的中斷控制器自動跳轉到
;相應的位置。
    	MACRO
$HandlerLabel HANDLER $HandleLabel

$HandlerLabel
	sub	sp,sp,#4        	;decrement sp(to store jump address)
	stmfd	sp!,{r0}        ;PUSH the work register to stack(lr doest push because it return to original address)
	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)
	MEND
;連接器生成的輸出段相關的符號
;引入連接器生成的映象文件的各個部分地址。
;OR-只讀區域、RW-讀寫區域、ZI-初始化為0的區域。	
	IMPORT  |Image$$RO$$Base|	; Base of ROM code
	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	

;引入外部函數Main,進入C程序。	
	IMPORT  Main    ; The main entry of mon program
	;IMPORT  LEDTEST 
;定義ARM匯編程序段,段名為SelfBoot,程序段為只讀的代碼段。	
	AREA    SelfBoot, CODE, READONLY
;程序入口地址
	ENTRY
	 
ResetEntry

	;程序段執行的第一跳指令,為8個異常中斷處理向量,要按順序放置。
	b	ResetHandler  
	b	HandlerUndef	;handler for Undefined mode
	b	HandlerSWI	;handler for SWI interrupt
	b	HandlerPabort	;handler for PAbort
	b	HandlerDabort	;handler for DAbort
	b	.		;reserved
	b	HandlerIRQ	;handler for IRQ interrupt 
	b	HandlerFIQ	;handler for FIQ interrupt

	LTORG ;聲明一個數據緩沖池的開始   
HandlerFIQ      HANDLER HandleFIQ
HandlerIRQ      HANDLER HandleIRQ
HandlerUndef    HANDLER HandleUndef
HandlerSWI      HANDLER HandleSWI
HandlerDabort   HANDLER HandleDabort
HandlerPabort   HANDLER HandlePabort

;采用INTOFFSET寄存器判定IRQ中斷源
IsrIRQ  
	sub	sp,sp,#4       
	stmfd	sp!,{r8-r9}
	ldr	r9,=INTOFFSET
	ldr	r9,[r9]
	ldr	r8,=HandleEINT0
	add	r8,r8,r9,lsl #2
	ldr	r8,[r8]
	str	r8,[sp,#8]
	ldmfd	sp!,{r8-r9,pc}


;======================================================
; ENTRY  
;======================================================
;初始化程序入口指令
ResetHandler	
	ldr	r0,=WTCON       ;watch dog disable 
	ldr	r1,=0x0         
	str	r1,[r0]

	ldr	r0,=INTMSK
	ldr	r1,=0xffffffff  ;all interrupt disable
	str	r1,[r0]

	ldr	r0,=INTSUBMSK
	ldr	r1,=0x3ff		;all sub interrupt disable
	str	r1,[r0]
	
	;To reduce PLL lock time, adjust the LOCKTIME register. 
	ldr	r0,=LOCKTIME
	ldr	r1,=0xffffff
	str	r1,[r0]
        
	;Configure MPLL
	ldr	r0,=MPLLCON          
	ldr	r1,=((M_MDIV<<12)+(M_PDIV<<4)+M_SDIV)  ;Fin=12MHz,Fout=50MHz
	str	r1,[r0]

	;設置存儲器控制寄存器。
	;Set memory control registers
	adr	r0, SMRDATA
	ldr	r1,=BWSCON	;BWSCON Address
	add	r2, r0, #52	;End address of SMRDATA一共13個寄存器
0       
	ldr	r3, [r0], #4    
	str	r3, [r1], #4    
	cmp	r2, r0		
	bne	%B0

	;禁止Icache和Dcache,禁止MMU
	;IMPORT  MMU_DisableICache
    ;bl MMU_DisableICache ;
	;IMPORT  MMU_DisableDCache
    ;bl MMU_DisableDCache ;
    ;IMPORT  MMU_InvalidateICache
    ;bl  MMU_InvalidateICache ;
    ;IMPORT  MMU_DisableMMU
    ;bl  MMU_DisableMMU ;
	
	;初始化堆棧
    ;Initialize stacks
	bl	InitStacks
	
	;建立IRQ中斷
  	; Setup IRQ handler
	ldr	r0,=HandleIRQ       ;This routine is needed
	ldr	r1,=IsrIRQ          ;if there isn't 'subs pc,lr,#4' at 0x18, 0x1c'
	str	r1,[r0]
	
;===========================================================
	adr	r0, ResetEntry
	ldr	r2, BaseOfROM
	cmp	r0, r2
	ldreq	r0, TopOfROM
	beq	InitRam	
	ldr r3, TopOfROM
;將RO區域的代碼copy到RW域中并且將ZI區域初始化為0。
0	
	ldmia	r0!, {r4-r7}
	stmia	r2!, {r4-r7}
	cmp	r2, r3
	bcc	%B0
	
	sub	r2, r2, r3
	sub	r0, r0, r2				
		
InitRam	
	ldr	r2, BaseOfBSS
	ldr	r3, BaseOfZero	
0
	cmp	r2, r3	;copy 初始化代碼
	ldrcc	r1, [r0], #4
	strcc	r1, [r2], #4
	bcc	%B0	

	mov	r0,	#0  ;初始化ZI區域為0
	ldr	r3,	EndOfBSS
1	
	cmp	r2,	r3
	strcc	r0, [r2], #4
	bcc	%B1	

	bl	Main	;bl	Main        ;Dont use main() because ......
   	b	.                       

;堆棧初始化
;function initializing stacks
InitStacks
	;Don't use DRAM,such as stmfd,ldmfd......
	;SVCstack is initialized before
	;Under toolkit ver 2.5, 'msr cpsr,r1' can be used instead of 'msr cpsr_cxsf,r1
	
	;UndefMode堆棧
	mrs	r0,cpsr
	bic	r0,r0,#MODEMASK
	orr	r1,r0,#UNDEFMODE|NOINT
	msr	cpsr_cxsf,r1		;UndefMode
	ldr	sp,=UndefStack
	
	;AbortMode堆棧
	orr	r1,r0,#ABORTMODE|NOINT
	msr	cpsr_cxsf,r1		;AbortMode
	ldr	sp,=AbortStack
	
	;IRQMode堆棧
	orr	r1,r0,#IRQMODE|NOINT
	msr	cpsr_cxsf,r1		;IRQMode
	ldr	sp,=IRQStack
    
    ;FIQMode堆棧
	orr	r1,r0,#FIQMODE|NOINT
	msr	cpsr_cxsf,r1		;FIQMode
	ldr	sp,=FIQStack
	
	;SVCMode堆棧
	bic	r0,r0,#MODEMASK|NOINT
	orr	r1,r0,#SVCMODE
	msr	cpsr_cxsf,r1		;SVCMode
	ldr	sp,=SVCStack
	
	;USER mode has not be initialized.
	
	mov	pc,lr 
	;The LR register won't be valid if the current mode is not SVC mode.'
	

	LTORG ;聲明一個數據緩沖池的開始

SMRDATA DATA
; Memory configuration should be optimized for best performance 
; The following parameter is not optimized.                     
; Memory access cycle parameter strategy
; 1) The memory settings is  safe parameters even at HCLK=75Mhz.
; 2) SDRAM refresh period is for HCLK=75Mhz. 

        DCD (0+(B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+(B4_BWSCON<<16)+(B5_BWSCON<<20)+(B6_BWSCON<<24)+(B7_BWSCON<<28));BWSCON=0x2211D110
    	DCD ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))   ;GCS0  BANK0CON=0x0700
    	DCD ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC))   ;GCS1  BANK1CON=0x7FFC
    	DCD ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC))   ;GCS2  BANKCON2=0x0700
    	DCD 0x1f7c;((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC))   ;GCS3	BANKCON3=0x0700
    	DCD ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC))   ;GCS4  BANKCON4=0x0700
    	DCD ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC))   ;GCS5  BANKCON5=0x0700
    	DCD ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN))    ;GCS6  BANKCON6=0x18005
    	DCD ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN))    ;GCS7  BANKCON7=0x18005
    	DCD ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT)  ;REFRESH=0x008E0459   
		DCD 0x32            ;SCLK power saving mode, BANKSIZE 128M/128M       ;BANKSIZE=0x32
    	DCD 0x30            ;MRSR6 CL=3clk   ;MRSRB6=0x30
    	DCD 0x30            ;MRSR7			 ;MRSRB7=0x30


BaseOfROM	DCD	|Image$$RO$$Base|
TopOfROM	DCD	|Image$$RO$$Limit|
BaseOfBSS	DCD	|Image$$RW$$Base|
BaseOfZero	DCD	|Image$$ZI$$Base|
EndOfBSS	DCD	|Image$$ZI$$Limit|


    	ALIGN ;通過添加補丁字節使當前位置滿足一定的對齊方式

		;可讀寫的數據段
    	AREA RamData, DATA, READWRITE

;^=MAP:定義一個結構化的內存表(storage map)的首地址,地址為0x33ff8000
        ^   _ISR_STARTADDRESS ;0x33ff8000
HandleReset 	#   4   ;#--Field:定義一個結構化內存表中的數據域,該域為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'
HandleEINT0   	#   4
HandleEINT1   	#   4
HandleEINT2   	#   4
HandleEINT3   	#   4
HandleEINT4_7	#   4
HandleEINT8_23	#   4
HandleRSV6		#   4
HandleBATFLT   	#   4
HandleTICK   	#   4
HandleWDT		#   4
HandleTIMER0 	#   4
HandleTIMER1 	#   4
HandleTIMER2 	#   4
HandleTIMER3 	#   4
HandleTIMER4 	#   4
HandleUART2  	#   4
HandleLCD 		#   4
HandleDMA0		#   4
HandleDMA1		#   4
HandleDMA2		#   4
HandleDMA3		#   4
HandleMMC		#   4
HandleSPI0		#   4
HandleUART1		#   4
HandleRSV24		#   4
HandleUSBD		#   4
HandleUSBH		#   4
HandleIIC   	#   4
HandleUART0 		#   4
HandleSPI1 		#   4
HandleRTC 		#   4
HandleADC 		#   4

        END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美在线一区二区三区| 4hu四虎永久在线影院成人| 国产精品一二一区| 成人免费三级在线| 欧美日韩一区不卡| 国产精品视频免费| 麻豆精品新av中文字幕| 国产+成+人+亚洲欧洲自线| 欧美午夜一区二区| 久久久欧美精品sm网站| 亚洲欧美日韩精品久久久久| 激情综合色综合久久| 欧美私人免费视频| 国产精品日日摸夜夜摸av| 青青草成人在线观看| 色综合网色综合| 国产亚洲欧美日韩俺去了| 日韩高清不卡一区| 在线观看国产一区二区| 国产欧美精品国产国产专区| 精品一区二区免费在线观看| 欧美精品国产精品| 亚洲国产一区二区三区青草影视| 不卡的看片网站| 国产喂奶挤奶一区二区三区| 麻豆国产精品777777在线| 欧美日韩一区二区三区四区五区| 亚洲精品国产第一综合99久久| 国产成人超碰人人澡人人澡| 精品久久久久一区| 老司机午夜精品| 欧美一级免费大片| 男女激情视频一区| 欧美一区二区在线播放| 日日夜夜精品视频免费| 欧美亚日韩国产aⅴ精品中极品| 国产欧美精品一区aⅴ影院| 久久精品国产在热久久| 56国语精品自产拍在线观看| 日韩激情在线观看| 91.com在线观看| 奇米一区二区三区av| 91精品国产综合久久精品app| 日本三级韩国三级欧美三级| 欧美一区二区三区日韩| 乱一区二区av| 久久这里只精品最新地址| 国产一区中文字幕| 久久久久9999亚洲精品| 成人小视频免费在线观看| 国产精品久久久久久福利一牛影视| 粉嫩一区二区三区在线看| 国产精品丝袜91| 在线视频欧美精品| 日韩国产高清影视| 精品免费日韩av| 成人黄色777网| 亚洲va中文字幕| 日韩女优毛片在线| 成人免费福利片| 亚洲成人免费观看| 久久夜色精品国产欧美乱极品| 国产69精品久久久久毛片| 亚洲人精品一区| 欧美一级片在线观看| 成人动漫一区二区| 亚洲国产精品一区二区www | 欧美丰满美乳xxx高潮www| 亚洲成人激情社区| 欧美日本韩国一区二区三区视频 | 自拍av一区二区三区| 国产成人高清视频| 亚洲国产欧美另类丝袜| 3d成人h动漫网站入口| 激情深爱一区二区| 欧美国产日韩a欧美在线观看| 色综合视频一区二区三区高清| 亚洲成人黄色小说| 成人小视频免费观看| 色婷婷国产精品| 亚洲精品乱码久久久久久久久 | 亚洲欧美一区二区不卡| 欧美日韩午夜影院| 精品一区二区在线播放| 亚洲欧洲综合另类在线| 欧美高清精品3d| 国产精品996| 一区二区理论电影在线观看| 久久久久久一级片| 91丨九色丨国产丨porny| 久久99蜜桃精品| 亚洲精品视频在线看| 成人手机在线视频| 免费三级欧美电影| 亚洲欧美另类久久久精品2019| 欧美男同性恋视频网站| 亚洲一区免费观看| 精品蜜桃在线看| 91极品美女在线| 国产美女视频一区| 亚洲第一福利视频在线| 中文字幕中文字幕一区| 欧美一区二区私人影院日本| 欧美性一二三区| 国产成人免费xxxxxxxx| 麻豆一区二区在线| 一区二区三区四区在线播放| 中文在线免费一区三区高中清不卡| 欧美日免费三级在线| 色94色欧美sute亚洲线路一ni | 性做久久久久久免费观看欧美| 久久这里只有精品首页| 日韩一级完整毛片| 欧美系列亚洲系列| 欧美性色aⅴ视频一区日韩精品| 国产美女在线精品| 国产麻豆欧美日韩一区| 日本欧美久久久久免费播放网| 日韩精品一二区| 亚洲成av人**亚洲成av**| 亚洲一区二区在线视频| 中文字幕不卡的av| 国产精品久久三区| 久久免费美女视频| 久久精品一区二区| 日韩欧美一区二区免费| 欧美成人免费网站| 欧美成人video| 精品久久五月天| 日韩欧美二区三区| 久久午夜国产精品| 久久综合色8888| 久久精品日产第一区二区三区高清版| 67194成人在线观看| 欧美精品1区2区| 欧美三级电影一区| 欧美一级久久久久久久大片| 欧美日韩激情一区二区| 日韩一级免费一区| xnxx国产精品| 久久久久久9999| 国产精品福利av| 一区二区三区欧美在线观看| 天天亚洲美女在线视频| 日韩av一二三| 国产91清纯白嫩初高中在线观看 | 国内精品视频一区二区三区八戒| 国产一区不卡视频| 国产激情视频一区二区在线观看 | 色综合久久久久久久| 91久久精品国产91性色tv| 欧美精品日日鲁夜夜添| 免费成人在线观看视频| 国产精品资源在线看| 久久精品国产亚洲a| 亚洲女性喷水在线观看一区| 亚洲女厕所小便bbb| 亚洲男人天堂av网| 亚洲精品老司机| 中文字幕一区视频| 无吗不卡中文字幕| 免费成人性网站| www.欧美日韩| 欧美日韩一级黄| 日韩精品一区二区三区视频在线观看| 欧美视频在线一区二区三区| 亚洲精品一区二区三区香蕉| 久久亚洲精品国产精品紫薇| 国产精品久久久爽爽爽麻豆色哟哟| 最近日韩中文字幕| 日韩国产欧美在线视频| 激情综合色播激情啊| 国产在线精品一区在线观看麻豆| 色噜噜狠狠色综合中国| 91精品国产综合久久精品app | 欧美激情综合五月色丁香小说| 一区二区三区av电影| 椎名由奈av一区二区三区| 中文字幕一区二区三区蜜月| 亚洲一二三专区| 亚欧色一区w666天堂| 欧美三级日韩三级国产三级| 另类的小说在线视频另类成人小视频在线| 一区二区免费视频| 91精品婷婷国产综合久久| 韩国一区二区三区| 在线观看视频91| 国产日韩精品视频一区| 亚洲精品成a人| 捆绑调教美女网站视频一区| 欧美性极品少妇| 亚洲欧洲无码一区二区三区| 免费在线一区观看| 99精品视频在线播放观看| 日韩色视频在线观看| 午夜私人影院久久久久| 不卡一区二区中文字幕| 在线播放国产精品二区一二区四区| 亚洲精品ww久久久久久p站| 国内不卡的二区三区中文字幕|