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

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

?? 44binit.s

?? 基于ARM7TDMI和SIM100模塊的無線傳輸程序
?? S
字號:
    GET memcfg.s

;Memory Area
;GCS6 16M 16bit(2MB) DRAM/SDRAM(0xc000000-0xc7fffff)
;APP    RAM=0xc000000~0xc1effff 
;44BMON RAM=0xc7f0000-0xc7fffff
;STACK	   =0xc7ffa00		   

;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
    [ {CONFIG} = 16	
THUMBCODE SETL	{TRUE}
    CODE32
    |   
THUMBCODE SETL	{FALSE}
    ]

    [ THUMBCODE
    CODE32   ;for start-up code for Thumb mode
    ]

    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 does't 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

    AREA    Init,CODE,READONLY

    IMPORT __use_no_semihosting_swi

    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	

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


;deal with IRQ interrupt
IRQ_Handler
	IMPORT	ISR_IrqHandler
	STMFD	sp!, {r0-r12, lr}
	BL	ISR_IrqHandler
	LDMFD	sp!, {r0-r12, lr}
	SUBS	pc, lr, #4

	EXPORT IRQ_Handler


;One of the following two routines can be used for non-vectored interrupt.

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]

	cmp		r9, #0x0	;If the IDLE mode work-around is used,
						;r9 may be 0 sometimes.
	beq		%F2

    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}

2
	ldmfd	sp!,{r8-r9}
	add		sp,sp,#4
	subs	pc,lr,#4

;****************************************************
;*	START					                        *
;****************************************************
ResetHandler
    ldr	    r0,=WTCON	    ;watch dog disable 
    ldr	    r1,=0x0 		
    str	    r1,[r0]

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

    ;****************************************************
    ;*	Set clock control registers			*
    ;****************************************************
    ldr	r0,=LOCKTIME
    ldr	r1,=800	    ; count = t_lock * Fin (t_lock=200us, Fin=4MHz) = 800
    str	r1,[r0]

    [ PLLONSTART
	ldr	r0,=PLLCON			;temporary setting of PLL
	ldr	r1,=((0xe8<<12)+(0x4<<4)+0x2)	;Fin=4MHz,Fvco=160Mhz,Fout=40MHz,m/p/s=0x48/0/0x2
	str	r1,[r0]
    ]

    ldr	    r0,=CLKCON		 
    ldr	    r1,=0x7ff8	    ;All unit block CLK enable	
    str	    r1,[r0]

    ;****************************************************
    ;*	Set memory control registers			* 	
    ;****************************************************
    ldr	    r0,=SMRDATA
    ldmia   r0,{r1-r13}
    ldr	    r0,=0x01c80000  ;BWSCON Address
    stmia   r0,{r1-r13}

    ;****************************************************
    ;*	Initialize stacks				* 
    ;****************************************************
    ldr	    sp, =SVCStack	;Why?
    bl	    InitStacks

    ;****************************************************
    ;*	Setup IRQ handler				*
    ;****************************************************
    ldr	    r0,=HandleIRQ		;This routine is needed
    ldr	    r1,=IRQ_Handler	;=IsrIRQ			;if there isn't 'subs pc,lr,#4' at 0x18, 0x1c
    str	    r1,[r0]

	IMPORT __main
    [ :LNOT:THUMBCODE
	BL	__main	    ;Don't use main() because ......
	B	.						
    ]

    [ THUMBCODE		    ;for start-up code for Thumb mode
	orr     lr,pc,#1
	bx      lr
	CODE16
	bl      Main	    ;Don't use main() because ......
	b       .
	CODE32
    ]

;****************************************************
;*	The function for initializing stack	    *
;****************************************************
        IMPORT UserStack
        IMPORT SVCStack
        IMPORT UndefStack
        IMPORT IRQStack
        IMPORT AbortStack
        IMPORT FIQStack

InitStacks
	;Don't use DRAM,such as stmfd,ldmfd......
	;SVCstack is initialized before
	;Under toolkit ver 2.50, 'msr cpsr,r1' can be used instead of 'msr cpsr_cxsf,r1'

    mrs	    r0,cpsr
    bic	    r0,r0,#MODEMASK
    orr	    r1,r0,#UNDEFMODE|NOINT
    msr	    cpsr_cxsf,r1		;UndefMode
    ldr	    sp,=UndefStack
	
    orr	    r1,r0,#ABORTMODE|NOINT
    msr	    cpsr_cxsf,r1 	    	;AbortMode
    ldr	    sp,=AbortStack

    orr	    r1,r0,#IRQMODE|NOINT
    msr	    cpsr_cxsf,r1 	    	;IRQMode
    ldr	    sp,=IRQStack
	
    orr	    r1,r0,#FIQMODE|NOINT
    msr	    cpsr_cxsf,r1 	    	;FIQMode
    ldr	    sp,=FIQStack

    ;bic	    r0,r0,#MODEMASK|NOINT
    orr	    r1,r0,#SVCMODE|NOINT
    msr	    cpsr_cxsf,r1 	    	;SVCMode
    ldr	    sp,=SVCStack

	;USER mode is not initialized.
    mov	    pc,lr ;The LR register may be not valid for the mode changes.

;****************************************************
;*	The function for entering power down mode   *
;****************************************************
;void EnterPWDN(int CLKCON);
EnterPWDN
    mov	    r2,r0               ;r0=CLKCON
    ldr	    r0,=REFRESH		
    ldr	    r3,[r0]
    mov	    r1, r3
    orr	    r1, r1, #0x400000   ;self-refresh enable
    str	    r1, [r0]

    nop     ;Wait until self-refresh is issued. May not be needed.
    nop     ;If the other bus master holds the bus, ...
    nop	    ; mov r0, r0
    nop
    nop
    nop
    nop

;enter POWERDN mode
    ldr	    r0,=CLKCON
    str	    r2,[r0]

;wait until enter SL_IDLE,STOP mode and until wake-up
    mov	    r0,#0xff
0   subs    r0,r0,#1
    bne	    %B0

;exit from DRAM/SDRAM self refresh mode.
    ldr	    r0,=REFRESH
    str	    r3,[r0]
    mov	    pc,lr

    LTORG
SMRDATA DATA
	DCD BWSCON_cfg
	DCD ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))	;GCS0
	DCD ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC))	;GCS1 
	DCD ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC))	;GCS2
	DCD ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC))	;GCS3
	DCD ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC))	;GCS4
	DCD ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC))	;GCS5
	[ BDRAMTYPE="DRAM" 
	    DCD ((B6_MT<<15)+(B6_Trcd<<4)+(B6_Tcas<<3)+(B6_Tcp<<2)+(B6_CAN))	;GCS6 check the MT value in parameter.a
	    DCD ((B7_MT<<15)+(B7_Trcd<<4)+(B7_Tcas<<3)+(B7_Tcp<<2)+(B7_CAN))	;GCS7
	| ;"SDRAM"
		DCD ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN))	;GCS6
		DCD ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN))	;GCS7
	]
	DCD ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT)	;REFRESH RFEN=1, TREFMD=0, trp=3clk, trc=5clk, tchr=3clk,count=1019
	DCD 0x10			;SCLK power down mode, BANKSIZE 32M/32M
	DCD 0x20			;MRSR6 CL=2clk
	DCD 0x20			;MRSR7
	ALIGN

        IMPORT	HandleReset
        IMPORT	HandleUndef
        IMPORT	HandleSWI
        IMPORT	HandlePabort
        IMPORT	HandleDabort
        IMPORT	HandleReserved
        IMPORT	HandleIRQ
        IMPORT	HandleFIQ

        IMPORT	HandleADC
        IMPORT	HandleRTC
        IMPORT	HandleUTXD1
        IMPORT	HandleUTXD0
        IMPORT	HandleSIO
        IMPORT	HandleIIC
        IMPORT	HandleURXD1
        IMPORT	HandleURXD0
        IMPORT	HandleTIMER5
        IMPORT	HandleTIMER4
        IMPORT	HandleTIMER3
        IMPORT	HandleTIMER2
        IMPORT	HandleTIMER1
        IMPORT	HandleTIMER0
        IMPORT	HandleUERR01
        IMPORT	HandleWDT
        IMPORT	HandleBDMA1
        IMPORT	HandleBDMA0
        IMPORT	HandleZDMA1
        IMPORT	HandleZDMA0
        IMPORT	HandleTICK
        IMPORT	HandleEINT4567
        IMPORT	HandleEINT3
        IMPORT	HandleEINT2
        IMPORT	HandleEINT1
        IMPORT	HandleEINT0

		END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产69精品久久777的优势| 91福利区一区二区三区| 色久综合一二码| 精品免费国产二区三区| 亚洲综合激情网| av不卡免费电影| 国产日韩精品一区二区三区| 日本va欧美va精品发布| 色网综合在线观看| 国产精品麻豆视频| 国产一区999| 日韩欧美国产三级电影视频| 午夜伦欧美伦电影理论片| 日韩二区三区在线观看| 久久精品国产亚洲a| 国产成人免费av在线| 99re6这里只有精品视频在线观看| 91亚洲精品久久久蜜桃网站| 欧美三级三级三级| www成人在线观看| 亚洲人精品午夜| 视频一区二区中文字幕| 国产福利一区二区三区视频在线 | 亚洲一区二区三区视频在线| 午夜精品久久久久| 国产福利视频一区二区三区| 在线免费不卡视频| xf在线a精品一区二区视频网站| 亚洲国产激情av| 亚洲午夜精品在线| 国产在线精品不卡| 色综合久久久久综合| 日韩一卡二卡三卡四卡| 国产精品嫩草99a| 丝袜美腿亚洲一区| 99久久99久久免费精品蜜臀| 日韩一区二区三区视频在线观看| 国产精品美女久久久久久久| 五月天网站亚洲| aaa欧美日韩| 亚洲精品一区二区三区99| 国产欧美精品一区二区色综合 | 国产电影一区在线| 欧美日韩美少妇| 国产精品久久久久aaaa樱花 | 玉足女爽爽91| 国产在线一区观看| 欧美一区二区三区播放老司机| 国产精品无人区| 精品无人码麻豆乱码1区2区| 欧美影院一区二区三区| 国产精品久久久久久久久免费相片| 国产午夜精品在线观看| 美女网站在线免费欧美精品| 欧美性一区二区| 日韩毛片精品高清免费| 国产风韵犹存在线视精品| 欧美一区二区精品在线| 亚洲va国产天堂va久久en| 91网站视频在线观看| 日本一区二区成人| 国产夫妻精品视频| 精品精品欲导航| 日本v片在线高清不卡在线观看| 在线一区二区三区| 一区二区三区四区亚洲| 99久久久久久| 中文字幕一区二区在线观看| 波多野结衣亚洲一区| 国产三级欧美三级日产三级99| 精品一区二区三区在线观看国产| 666欧美在线视频| 首页欧美精品中文字幕| 欧美日韩一卡二卡三卡| 午夜电影一区二区| 91麻豆精品国产91久久久久| 天天综合日日夜夜精品| 欧美亚洲一区二区在线观看| 亚洲宅男天堂在线观看无病毒| 色婷婷精品久久二区二区蜜臂av | 亚洲国产aⅴ成人精品无吗| 在线观看成人免费视频| 亚洲午夜激情网站| 欧美久久久久久蜜桃| 日本欧美大码aⅴ在线播放| 欧美一区二区视频网站| 国内精品视频一区二区三区八戒| 欧美成人一区二区三区片免费| 韩国v欧美v日本v亚洲v| 国产精品短视频| 欧美少妇一区二区| 免费av成人在线| 国产欧美一区二区三区网站| 99这里只有久久精品视频| 亚洲综合小说图片| 91麻豆精品国产| 成人激情图片网| 亚洲香肠在线观看| 日韩欧美一二三| av欧美精品.com| 日韩av电影天堂| 中文字幕av免费专区久久| 欧美吻胸吃奶大尺度电影 | 亚洲麻豆国产自偷在线| 7777精品伊人久久久大香线蕉的 | 欧美一区二区三区男人的天堂| 韩国视频一区二区| 亚洲卡通欧美制服中文| 日韩一区二区三区电影在线观看 | 国精品**一区二区三区在线蜜桃| 国产精品色哟哟| 3751色影院一区二区三区| 国产成人午夜精品5599| 婷婷丁香激情综合| 一区在线观看视频| 精品国产乱码久久久久久免费 | 久久99最新地址| 亚洲女与黑人做爰| 2021中文字幕一区亚洲| 欧美日韩久久久久久| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲综合色区另类av| 久久久午夜精品理论片中文字幕| 欧美日韩日日骚| 99re热视频这里只精品| 国产精品综合久久| 日本欧美在线看| 亚洲一区成人在线| 亚洲精品国产无天堂网2021| 欧美精品一区二区三区蜜臀| 欧美午夜片在线看| 色综合久久综合中文综合网| 国产盗摄一区二区| 久久精品国产成人一区二区三区| 亚洲高清免费观看| 亚洲精品老司机| 国产精品久久久久一区| 国产日产欧产精品推荐色| 精品嫩草影院久久| 91精品国产色综合久久| 欧美日韩一级黄| 在线欧美小视频| 91福利在线播放| 在线观看日韩国产| 色婷婷精品大视频在线蜜桃视频| 成人黄色小视频在线观看| 成人h动漫精品| www.99精品| 97se亚洲国产综合自在线| 不卡区在线中文字幕| 成人黄页毛片网站| 91视频一区二区| 色网综合在线观看| 欧美三级电影网| 91精品婷婷国产综合久久性色| 欧美精品久久久久久久多人混战 | 91亚洲国产成人精品一区二三| 成人精品国产福利| 91麻豆精品视频| 在线观看视频一区二区| 欧美日韩不卡视频| 8x福利精品第一导航| 日韩欧美国产综合| 久久精品日韩一区二区三区| 国产欧美日韩在线看| 自拍偷拍亚洲欧美日韩| 一区二区三区中文在线| 一区二区三区精品视频在线| 午夜精品爽啪视频| 麻豆成人av在线| 成人99免费视频| 欧美日韩国产天堂| 久久美女艺术照精彩视频福利播放| 欧美激情一区二区三区蜜桃视频| 国产精品久久久久aaaa| 亚洲妇熟xx妇色黄| 精品一区二区三区免费观看| 丁香婷婷综合五月| 91久久线看在观草草青青| 欧美日韩美少妇 | av网站免费线看精品| 在线免费观看日本欧美| 精品国产乱码久久久久久免费| 亚洲欧洲精品一区二区三区不卡 | 精品久久久久久久人人人人传媒 | av色综合久久天堂av综合| 欧美日韩一区中文字幕| 精品国产乱码久久久久久闺蜜| 日本一二三不卡| 五月综合激情网| 国产成人丝袜美腿| 欧美精品在欧美一区二区少妇| 久久久国产精华| 天使萌一区二区三区免费观看| 国产成人啪午夜精品网站男同| 欧美色网一区二区| 中日韩av电影| 久久99精品国产麻豆不卡| 在线一区二区三区做爰视频网站| 久久天天做天天爱综合色|