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

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

?? cstartup.s

?? ATMEL ATSAM7S64處理器部分控制程序。
?? S
字號:
#------------------------------------------------------------------------------
#-         ATMEL Microcontroller Software Support  -  ROUSSET  -
#------------------------------------------------------------------------------
# The software is delivered "AS IS" without warranty or condition of any
# kind, either express, implied or statutory. This includes without
# limitation any warranty or condition with respect to merchantability or
# fitness for any particular purpose, or against the infringements of
# intellectual property rights of others.
#-----------------------------------------------------------------------------
#- File source          : Cstartup.s79
#- Object               : Generic CStartup for IAR No Use REMAP
#- Compilation flag     : None
#-
#- 1.0 15/Jun/04 JPP    : Creation
#------------------------------------------------------------------------------
.equ	RamEnd,	0x00204000
.include "AT91SAM7S64.inc"

#------------------------------------------------------------------------------
#- Area Definition
#------------------------------------------------------------------------------

#---------------------------------------------------------------
# ?RESET
# Reset Vector.
# Normally, segment INTVEC is linked at address 0.
# For debugging purposes, INTVEC may be placed at other
# addresses.
# A debugger that honors the entry point will start the
# program in a normal way even if INTVEC is not at address 0.
#-------------------------------------------------------------

.text
#		PROGRAM	?RESET
#		RSEG	INTRAMSTART_REMAP
#		RSEG	INTRAMEND_REMAP

#		RSEG	ICODE:CODE:ROOT(2)
		.CODE 32	/*; Always ARM mode after reset*/	
#		org	0	
entry:		
#------------------------------------------------------------------------------
#- Exception vectors 
#--------------------
#- These vectors can be read at address 0 or at RAM address
#- They ABSOLUTELY requires to be in relative addresssing mode in order to
#- guarantee a valid jump. For the moment, all are just looping.
#- If an exception occurs before remap, this would result in an infinite loop.
#- To ensure if a exeption occurs before start application to infinite loop.
#------------------------------------------------------------------------------

                B           InitReset           /* 0x00 Reset handler*/
undefvec:
                B           undefvec            /* 0x04 Undefined Instruction */
swivec:
                B           swivec              /* 0x08 Software Interrupt*/
pabtvec:
                B           pabtvec             /* 0x0C Prefetch Abort*/
dabtvec:
                B           dabtvec             /* 0x10 Data Abort*/
rsvdvec:
                B           rsvdvec             /* 0x14 reserved*/
irqvec:
                B           IRQ_Handler_Entry   /* 0x18 IRQ*/
fiqvec:               				/* 0x1c FIQ*/
#------------------------------------------------------------------------------
#- Function             : FIQ_Handler_Entry
#- Treatments           : FIQ Controller Interrupt Handler.
#- Called Functions     : AIC_FVR[interrupt] 
#------------------------------------------------------------------------------

FIQ_Handler_Entry:

#- Switch in SVC/User Mode to allow User Stack access for C code 
# because the FIQ is not yet acknowledged

#- Save and r0 in FIQ_Register 
            mov         r9, r0
	    	ldr         r0, [r8, #AIC_FVR]
            msr         CPSR_c, #I_BIT | F_BIT | ARM_MODE_SVC

#- Save scratch/used registers and LR in User Stack
            stmfd       sp!, { r1-r3, r12, lr}

#- Branch to the routine pointed by the AIC_FVR
            mov         r14, pc
            bx          r0

#- Restore scratch/used registers and LR from User Stack
            ldmia       sp!, { r1-r3, r12, lr}

#- Leave Interrupts disabled and switch back in FIQ mode
            msr         CPSR_c, #I_BIT | F_BIT | ARM_MODE_FIQ

#- Restore the R0 ARM_MODE_SVC register 
            mov         r0,r9

#- Restore the Program Counter using the LR_fiq directly in the PC
            subs        pc,lr,#4


InitReset:
#------------------------------------------------------------------------------
#- configure the reset mode register . user reset enable 
#------------------------------------------------------------------------------
				ldr		r0,=0xFFFFFD08
				ldr     r1,=0xa5000001
				str		r1,[r0]
				
#------------------------------------------------------------------------------
#- Low level Init (PMC, AIC, ? ....) by C function AT91F_LowLevelInit
#------------------------------------------------------------------------------
            	.EXTERN   AT91F_LowLevelInit

#define  __iramend 	SFB(INTRAMEND_REMAP)

#- minumum C initialization
#- call  AT91F_LowLevelInit( void)


            ldr     r13,=RamEnd            /*; temporary stack in internal RAM*/
#--Call Low level init function in ABSOLUTE through the Interworking
	    ldr	    r0,=AT91F_LowLevelInit
        mov     lr, pc
	    bx	    r0
#------------------------------------------------------------------------------
#- Stack Sizes Definition
#------------------------
#- Interrupt Stack requires 2 words x 8 priority level x 4 bytes when using
#- the vectoring. This assume that the IRQ management.
#- The Interrupt Stack must be adjusted depending on the interrupt handlers.
#- Fast Interrupt not requires stack If in your application it required you must
#- be definehere.
#- The System stack size is not defined and is limited by the free internal
#- SRAM.
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
#- Top of Stack Definition
#-------------------------
#- Interrupt and Supervisor Stack are located at the top of internal memory in 
#- order to speed the exception handling context saving and restoring.
#- ARM_MODE_SVC (Application, C) Stack is located at the top of the external memory.
#------------------------------------------------------------------------------

.equ	IRQ_STACK_SIZE, (2*8*4)     /*; 2 words per interrupt priority level*/

.equ	ARM_MODE_FIQ, 0x11
.equ	ARM_MODE_IRQ, 0x12
.equ	ARM_MODE_SVC, 0x13

.equ	I_BIT , 0x80
.equ	F_BIT , 0x40

#------------------------------------------------------------------------------
#- Setup the stack for each mode
#-------------------------------
                ldr     r0, =RamEnd

#- Set up Fast Interrupt Mode and set FIQ Mode Stack
                msr     CPSR_c, #ARM_MODE_FIQ | I_BIT | F_BIT
#- Init the FIQ register
            	ldr     r8, =AT91C_BASE_AIC

#- Set up Interrupt Mode and set IRQ Mode Stack
                msr     CPSR_c, #ARM_MODE_IRQ | I_BIT | F_BIT
                mov     r13, r0                     /*; Init stack IRQ*/
                sub     r0, r0, #IRQ_STACK_SIZE

#- Enable interrupt & Set up Supervisor Mode and set Supervisor Mode Stack
                msr     CPSR_c, #ARM_MODE_SVC 
                mov     r13, r0                     


#---------------------------------------------------------------
# ?CSTARTUP
#---------------------------------------------------------------
#		.EXTERN	__segment_init
# Initialize segments.
# __segment_init is assumed to use
# instruction set and to be reachable by BL from the ICODE segment
# (it is safest to link them in segment ICODE).
#		ldr	r0,=__segment_init
#                mov     lr, pc
#		bx	r0

#------------------------------------------------------------------------------
#- Initialise C variables
#------------------------
#- Following labels are automatically generated by the linker. 
#- RO: Read-only = the code
#- RW: Read Write = the data pre-initialized and zero-initialized.
#- ZI: Zero-Initialized.
#- Pre-initialization values are located after the code area in the image.
#- Zero-initialized datas are mapped after the pre-initialized.
#- Note on the Data position : 
#- If using the ARMSDT, when no -rw-base option is used for the linker, the 
#- data area is mapped after the code. You can map the data either in internal
#- SRAM ( -rw-base=0x40 or 0x34) or in external SRAM ( -rw-base=0x2000000 ).
#- Note also that to improve the code density, the pre_initialized data must 
#- be limited to a minimum.
#------------------------------------------------------------------------------
                .extern       Image_RO_Limit      	/* End of ROM code (=start of ROM data) */
                .extern       Image_RW_Base       	/* Base of RAM to initialise */           
                .extern       Image_ZI_Base       	/* Base and limit of area */              
                .extern       Image_ZI_Limit      	/* to zero initialise */                  

                ldr         r0, =Image_RO_Limit 	/* Get pointer to ROM data */
                ldr         r1, =Image_RW_Base  	/* and RAM copy */
                ldr         r3, =Image_ZI_Base  	/* Zero init base => top of initialised data */
                cmp         r0, r1                  /* Check that they are different */
                beq         NoRW
LoopRw:         cmp         r1, r3                  /* Copy init data */
                ldrcc       r2, [r0], #4
                strcc       r2, [r1], #4
                bcc         LoopRw
NoRW:           ldr         r1, =Image_ZI_Limit 	/* Top of zero init segment */
                mov         r2, #0
LoopZI:         cmp         r3, r1                  /* Zero init */
                strcc       r2, [r3], #4
                bcc         LoopZI


		.EXTERN	Main
		.global	__main
jump_to_main:
		ldr	lr,=call_exit
		ldr	r0,=Main
__main:
		bx	r0

#------------------------------------------------------------------------------
#- Loop for ever
#---------------
#- End of application. Normally, never occur.
#- Could jump on Software Reset ( B 0x0 ).
#------------------------------------------------------------------------------
call_exit:
End:
            b       End


#------------------------------------------------------------------------------
#- Manage exception
#---------------
#- This module The exception must be ensure in ARM mode
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
#- Function             : IRQ_Handler_Entry
#- Treatments           : IRQ Controller Interrupt Handler.
#- Called Functions     : AIC_IVR[interrupt] 
#------------------------------------------------------------------------------

IRQ_Handler_Entry:

#- Manage Exception Entry
#- Adjust and save LR_irq in IRQ stack
            sub         lr, lr, #4
            stmfd       sp!, {lr}
#- Save and r0 in IRQ stack
            stmfd       sp!, {r0}

#- Write in the IVR to support Protect Mode
#- No effect in Normal Mode
#- De-assert the NIRQ and clear the source in Protect Mode
            ldr         r14, =AT91C_BASE_AIC
	    	ldr         r0 , [r14, #AIC_IVR]
	    	str         r14, [r14, #AIC_IVR]

#- Enable Interrupt and Switch in Supervisor Mode
          	msr         CPSR_c, #ARM_MODE_SVC

#- Save scratch/used registers and LR in User Stack
            stmfd       sp!, { r1-r3, r12, r14}

#- Branch to the routine pointed by the AIC_IVR
            mov         r14, pc
            bx          r0

#- Restore scratch/used registers and LR from User Stack
            ldmia       sp!, { r1-r3, r12, r14}

#- Disable Interrupt and switch back in IRQ mode
            msr         CPSR_c, #I_BIT | ARM_MODE_IRQ

#- Mark the End of Interrupt on the AIC
            ldr         r14, =AT91C_BASE_AIC
            str         r14, [r14, #AIC_EOICR]

#- Restore SPSR_irq and r0 from IRQ stack
            ldmia       sp!, {r0}

#- Restore adjusted  LR_irq from IRQ stack directly in the PC
            ldmia       sp!, {pc}^
	
#---------------------------------------------------------------
# ?EXEPTION_VECTOR
# This module is only linked if needed for closing files.
#---------------------------------------------------------------
		.global	AT91F_Default_FIQ_handler
		.global	AT91F_Default_IRQ_handler
		.global	AT91F_Spurious_handler

		.CODE 32	/*; Always ARM mode after exeption*/	

AT91F_Default_FIQ_handler:
            b     AT91F_Default_FIQ_handler

AT91F_Default_IRQ_handler:
            b     AT91F_Default_IRQ_handler

AT91F_Spurious_handler:
            b     AT91F_Spurious_handler

#	ENDMOD

	.END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美在线123| 国产精品久99| 中文字幕在线一区免费| 午夜精品免费在线观看| 成人美女视频在线观看18| 一本到不卡免费一区二区| 久久久噜噜噜久久人人看| 午夜伊人狠狠久久| 色999日韩国产欧美一区二区| 久久综合九色综合欧美98 | 国产精品私房写真福利视频| 亚洲bt欧美bt精品| 91久久一区二区| 国产精品国产三级国产有无不卡 | 伊人一区二区三区| 国产精品亚洲第一区在线暖暖韩国| 欧美日韩黄色一区二区| 亚洲欧美日韩小说| 91色porny| 综合色天天鬼久久鬼色| 不卡的电影网站| 亚洲国产精品成人综合色在线婷婷| 蜜桃久久久久久| 91精品国产综合久久精品麻豆| 亚洲精品国产品国语在线app| a美女胸又www黄视频久久| 国产欧美一区二区在线观看| 国产盗摄一区二区三区| 久久婷婷成人综合色| 激情久久五月天| www国产精品av| 国产精品亚洲人在线观看| 久久久噜噜噜久久中文字幕色伊伊| 国产美女一区二区| 国产拍揄自揄精品视频麻豆| 高清国产一区二区| 中文字幕制服丝袜一区二区三区| 成人的网站免费观看| 国产精品久久久久久久浪潮网站| 99热精品国产| 亚洲综合成人在线视频| 欧美写真视频网站| 奇米888四色在线精品| 日韩欧美国产一区二区在线播放| 麻豆国产精品777777在线| 亚洲精品一线二线三线| 国产精品一区专区| 中文字幕在线不卡| 91福利国产精品| 日日夜夜一区二区| 日韩精品专区在线影院重磅| 国产在线视频不卡二| 久久久无码精品亚洲日韩按摩| 高清不卡一二三区| 亚洲综合男人的天堂| 69久久夜色精品国产69蝌蚪网| 欧美a级一区二区| 欧美韩国日本综合| 91精品91久久久中77777| 男人操女人的视频在线观看欧美 | 国精产品一区一区三区mba视频 | 老鸭窝一区二区久久精品| 欧美精品一区二区三区视频| 成人av在线网站| 婷婷开心激情综合| 日本一区二区三区在线不卡| 在线免费观看日韩欧美| 久久精品99国产精品| 中文字幕中文字幕中文字幕亚洲无线| 欧美在线观看禁18| 国产成人亚洲精品青草天美| 午夜欧美大尺度福利影院在线看 | 亚洲免费电影在线| 欧美一区永久视频免费观看| 成人高清av在线| 奇米影视7777精品一区二区| 亚洲男人的天堂在线aⅴ视频| 精品成人一区二区三区| 色婷婷av一区二区三区软件| 精品综合免费视频观看| 一区二区三区毛片| 国产午夜亚洲精品理论片色戒| 欧美日韩卡一卡二| 成人动漫一区二区在线| 久久国产人妖系列| 亚洲高清视频中文字幕| 国产精品青草久久| 久久综合狠狠综合久久激情 | 色先锋aa成人| 国产成人精品网址| 久久99久久精品欧美| 亚洲国产三级在线| 国产精品二三区| 国产日韩欧美一区二区三区乱码| 欧美伦理视频网站| 欧美午夜一区二区三区免费大片| 盗摄精品av一区二区三区| 久久精品国产一区二区三区免费看| 尤物视频一区二区| 亚洲丝袜另类动漫二区| 国产精品素人视频| 国产精品乱子久久久久| 国产日韩欧美精品电影三级在线| 日韩欧美中文字幕公布| 宅男在线国产精品| 欧美乱妇一区二区三区不卡视频| 欧洲一区在线电影| 在线一区二区视频| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 99久久99久久精品免费观看| 国产乱妇无码大片在线观看| 国产呦萝稀缺另类资源| 久久99久久99精品免视看婷婷| 久久国产精品99精品国产| 日本午夜一本久久久综合| 婷婷六月综合网| 人人爽香蕉精品| 麻豆传媒一区二区三区| 久久国产精品区| 国产激情视频一区二区在线观看| 国产精品自在在线| 国产精品资源在线观看| 成人不卡免费av| 91丝袜高跟美女视频| 91国模大尺度私拍在线视频| 色噜噜久久综合| 欧美老肥妇做.爰bbww视频| 制服丝袜国产精品| 欧美精品一区二区三区高清aⅴ| 久久综合色之久久综合| 视频在线观看91| 丝袜国产日韩另类美女| 久久国产生活片100| 国产成人精品免费网站| 91国产免费观看| 日韩亚洲欧美一区| 国产亚洲午夜高清国产拍精品| 欧美激情一区二区三区蜜桃视频 | 欧美老年两性高潮| 2020国产精品| ...av二区三区久久精品| 亚洲福利视频一区二区| 美日韩黄色大片| aaa亚洲精品| 91精品国产91久久久久久最新毛片| 久久伊人蜜桃av一区二区| 亚洲精选免费视频| 免费观看一级欧美片| 国产精品18久久久久久久久 | 欧美激情在线一区二区| 亚洲欧美色综合| 久久国产精品第一页| 91一区一区三区| 日韩色在线观看| 国产精品久久久久毛片软件| 一区二区三区免费看视频| 久久国产精品色婷婷| 欧美性欧美巨大黑白大战| 精品91自产拍在线观看一区| 亚洲午夜三级在线| 国产传媒日韩欧美成人| 欧美日韩国产美| 中文字幕欧美一区| 蜜桃精品在线观看| 日本福利一区二区| 国产亚洲精品中文字幕| 日韩av中文字幕一区二区三区| 不卡视频在线观看| 精品欧美一区二区三区精品久久| 亚洲精品国产精华液| 成人一道本在线| 欧美xxxxxxxxx| 亚洲不卡一区二区三区| 成人av电影免费观看| 精品国产电影一区二区| 亚洲国产wwwccc36天堂| 一本一道久久a久久精品| 亚洲国产精品成人综合色在线婷婷| 亚洲国产毛片aaaaa无费看| 成人激情免费网站| 久久天堂av综合合色蜜桃网| 免费日韩伦理电影| 欧美系列一区二区| 一区二区三区在线观看网站| 成人综合激情网| 久久影院电视剧免费观看| 男人的j进女人的j一区| 666欧美在线视频| 亚洲一区在线观看视频| 91久久国产综合久久| 一区二区三区四区不卡在线| 成人avav在线| 国产精品乱人伦| 成人精品小蝌蚪| 日本一区二区三级电影在线观看 | 国产精品一区二区三区网站| 日韩欧美成人激情| 麻豆精品新av中文字幕| 日韩欧美专区在线| 国内精品不卡在线|