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

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

?? 2410init.s

?? 三星ARM2410的鍵盤及數碼管控制程序
?? S
?? 第 1 頁 / 共 2 頁
字號:
;===============================================================================
;--------------------------------- Copy Left -----------------------------------
;						Illidan Fly's Project
;						Power by BigFly Network
;						http://bigfly.happybobby.com
;						
;						Released under GPL2 License
;
;----------------------------- File Description --------------------------------
; Filename:	2410init.s
; Date:		2007.01.13
; Version:	0.0.10
; Description:
;			Startup code for s3c2410.
;			1. Initialize hardware ( PLL / Debug LEDs / NAND Flash / SDRAM )
;			2. Initialize stacks for C/C++ program
;			3. Provide rewritable interrupt entry function table
;			4. Support boot code from NAND / NOR Flash
;			5. Support ARM/THUMB code mode
;			6. Support Big-endian / Little-endian mode
;			7. Support wakeup from PowerDown mode
;
;----------------------------- Version History ---------------------------------
; 0.0.10: Fix interrupt and monitor compatible issues
; 0.0.9: Rewrite code for RVDS
; 0.0.8: Several issue fix
; 0.0.7: Fix interrupts' return address
; 0.0.6: Add NAND Flash boot code
; 0.0.5: Fix some bugs and add PLL initialization
; 0.0.4: Add target board leds flash
; 
; ** Maintenance started from BigFly Network **
; 
; 0.0.3: Sub interrupt disable 0x3ff -> 0x7ff ( By SJS )
; 0.0.2: Add some functions for testing STOP,POWER_OFF mode ( By purnnamu )
; 0.0.1: First release ( By kwtark )
;
;===============================================================================

;//============================================================================
;// Include part
;//============================================================================

;// !! WARNING: DO NOT TRIM THE SPACE OF THE FOLLOWING INC, OR YOU WILL GET A ERROR !!

	GET option.inc		;// Options ( Stack, RAM Base, etc... )
	GET memconfig.inc	;// Memory config
	GET 2410addr.inc	;// 2410 address table

;//============================================================================
;// Configuration part
;//============================================================================

	GBLL 	PLL_ON_START
	GBLA	DEBUGLEDS_TYPE
	GBLA	ENTRY_BUS_WIDTH
	GBLL	NAND_FLASH_BOOT
	
PLL_ON_START	SETL	{TRUE}		;// Set PLL register on boot?
DEBUGLEDS_TYPE	SETA	2			;// Debug LEDs type
ENTRY_BUS_WIDTH	SETA	16			;// Entry bus width
NAND_FLASH_BOOT	SETL	{FALSE}		;// Nand Flash boot?

;// The base of stacks for every mode
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 - 0x0000 )	;// 0x33ff8000 ~

;//============================================================================
;// Constants part
;//============================================================================

;// 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

;//============================================================================
;// Macros part
;//============================================================================
	
;// Marco for LR return in different mode
	MACRO
	MOV_PC_LR
		[ {CONFIG} = 16
			BX	LR
		|
			MOV	PC,LR
		]
	MEND
	
;// Marco for handler of interrupts ( except Reset interrupt )
	MACRO
$HandlerLabel HANDLER $HandleLabel

$HandlerLabel
	PUSH	{R0, R1}			;// PUSH the work register to stack & one reserved for PC
	LDR		R0, =$HandleLabel	;// Load the address of Handle
	LDR		R0, [R0]
	STR		R0, [SP, #4]		;// Store the ISR entry to stack
	POP		{R0, PC}			;// POP the work register and PC ( jump to ISR )
	MEND

;//============================================================================
;// Import/Export part
;//============================================================================
	
	;// In this part, the ARM Linker will import/export the address of the
	;// following entry. It's very useful to link with C/C++ function
	
	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$$RW$$Limit|	;// Limit of RAM to initialise
	IMPORT	|Image$$ZI$$Base|	;// Base of zero area (BSS)
	IMPORT	|Image$$ZI$$Limit|	;// Limit of zero area (BSS)
	
	IMPORT	nand_copy			;// NAND Flash copy function
	IMPORT	main				;// The main entry of the C/C++ program
	
	EXPORT	StartPointAfterPowerOffWakeUp	;// PowerOff wakeup
	
;//============================================================================
;// Program part
;//============================================================================

	PRESERVE8
	AREA	Init,CODE,READONLY
	
	;// Tell ARM Linker this is the image entry
	ENTRY
	
	[ {CONFIG} = 16
		ARM
	]
	
	[ BIGENDIAN_MODE
		
		;// Notice:
		;// 1. The code, which converts cpu to Big-endian mode, should be a Little-endian code.
		;// 2. The following Little-endian code will be compiled in Big-Endian mode.
		;//    The code byte order should be changed as the memory bus width.
		
		[ ENTRY_BUS_WIDTH = 32
			B	ChangeBigEndian			;// DCD 0xea000007
		]
		
		[ ENTRY_BUS_WIDTH = 16
			ANDEQ	R14,R7,R0,LSL #20	;// DCD 0x0007ea00
		]
		
		[ ENTRY_BUS_WIDTH = 8
			STREQ	R0,[R0,-R10,ROR #1]	;// DCD 0x070000ea
		]
	|
		B	ResetHandler	;// Handler for Reset
	]
	
	B	HandlerUndef	;// Handler for Undefined mode
	B	HandlerSWI		;// Handler for SWI interrupt
	B	HandlerPabort	;// Handler for Prefetch abort
	B	HandlerDabort	;// Handler for Data abort
	B	.				;// Reserved
	B	HandlerIRQ		;// Handler for IRQ interrupt
	B	HandlerFIQ		;// Handler for FIQ interrupt
	
	[ BIGENDIAN_MODE
		
ChangeBigEndian
		
		[ ENTRY_BUS_WIDTH = 32
			DCD	0xee110f10	;// 0xee110f10 => MRC P15,0,R0,C1,C0,0
			DCD	0xe3800080	;// 0xe3800080 => ORR R0,R0,#0x80		;//Big-endian
			DCD	0xee010f10	;// 0xee010f10 => MRC P15,0,R0,C1,C0,0
		]
		[ ENTRY_BUS_WIDTH = 16
			DCD 0x0f10ee11
			DCD 0x0080e380
			DCD 0x0f10ee01
		]
		[ ENTRY_BUS_WIDTH = 8
			DCD 0x100f11ee
			DCD 0x800080e3
			DCD 0x100f01ee
		]
		
		DCD 0xffffffff	;// Swinv 0xffffff is similar with NOP and run well in both endian mode.
		DCD 0xffffffff
		DCD 0xffffffff
		DCD 0xffffffff
		DCD 0xffffffff
	
		B	ResetHandler
	]

;//---------------------------------------------------------------------------
;// Interrupt Handlers
;//---------------------------------------------------------------------------
	;// Notice:
	;// 1. The following interrupts are sort by priority but the order isn't important for programming.

HandlerDabort	HANDLER HandleDabort
HandlerFIQ		HANDLER HandleFIQ
HandlerIRQ		HANDLER HandleIRQ
HandlerPabort	HANDLER HandlePabort

HandlerUndef	HANDLER HandleUndef
HandlerSWI		HANDLER HandleSWI

IsrIRQ
	PUSH	{R0, R1}		;// Reserved for PC
	PUSH	{R8, R9}
	LDR		R9, =INTOFFSET
	LDR		R9, [R9]
	LDR		R8, =HandleEINT0
	ADD		R8, R8, R9, LSL #2
	LDR		R8, [R8]
	STR		R8, [SP, #12]
	POP		{R8, R9}
	POP		{R0, PC}
	
;//---------------------------------------------------------------------------
;// Reset Handler
;//---------------------------------------------------------------------------
ResetHandler
	
	;// If we start from ram, jump to copy rw
	MOV	R0,	PC
	LDR	R1,	=_RAMBASE
	CMP	R0,	R1
	BHS	StartfromRam
	
	;// Disable watch dog
	LDR	R0, =WTCON
	LDR	R1, =0x0000
	STR	R1, [R0]
	
	;// Mask all interrupt
	LDR	R0, =INTMSK
	LDR	R1, =0xFFFFFFFF
	STR	R1, [R0]
	
	;// Mask all sub interrupt
	LDR	R0, =INTSUBMSK
	LDR	R1, =0x000007FF
	STR	R1, [R0]
	
	;// Adjust PLL lock time count register
	LDR	R0, =LOCKTIME
	LDR	R1, =0x00FFFFFF
	STR	R1, [R0]
	
	[ PLL_ON_START
		;// Configure MPLL according PLL options
		LDR	R0, =MPLLCON
		LDR	R1, =( ( M_MDIV << 12 ) + ( M_PDIV << 4 ) + M_SDIV )
		STR	R1, [R0]
		
		;// Configure CLK Divider register
		;// FCLK:HCLK:PCLK = 1:2:4
		LDR	R0, =CLKDIVN
		LDR	R1, =( ( 0 << 2 ) + ( 1 << 1 ) + 1 )
		STR	R1, [R0]
	]
	
	;// Turn on the debug LEDs on the board
	[ DEBUGLEDS_TYPE = 1
		;// Set GPG8 GPG9 to output
		LDR	R0, =GPGCON
		LDR	R1, =0x00050000
		STR	R1, [R0]
		;// Set GPG8=0 GPG9=1
		LDR	R0, =GPGDAT
		LDR	R1, =0x0200
		STR	R1, [R0]
	]
	[ DEBUGLEDS_TYPE = 2
		;// Set GPF4 GPF5 GPF6 GPF7 to output
		LDR	R0, =GPFCON
		LDR	R1, =0x5500
		STR	R1, [R0]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品久久久久久蜜臀| 成人精品视频网站| 成人a区在线观看| 日韩精品一区二区三区swag| 香蕉成人啪国产精品视频综合网| 国产精品一线二线三线| 欧美日韩视频不卡| 亚洲欧洲成人自拍| 国产乱码精品1区2区3区| 亚洲三级在线免费| 色视频成人在线观看免| 亚洲色图一区二区| 久久综合色综合88| 国产精品一区在线| 亚洲超丰满肉感bbw| 欧美韩国一区二区| 成人毛片老司机大片| 免费高清不卡av| 日韩一级二级三级精品视频| 国产精品国产三级国产普通话99 | 欧美一个色资源| 色婷婷综合久久久久中文一区二区| 国产又粗又猛又爽又黄91精品| 精品88久久久久88久久久| 国产一区二区三区免费在线观看 | 亚洲激情自拍视频| 色哟哟在线观看一区二区三区| 国产在线精品不卡| 秋霞电影网一区二区| 亚洲图片欧美视频| 久久人人爽爽爽人久久久| 成人免费视频视频在线观看免费 | 亚洲一卡二卡三卡四卡五卡| 日韩一区国产二区欧美三区| 欧美性三三影院| 日韩激情视频网站| 欧美激情自拍偷拍| 日本一区二区免费在线 | 色香蕉成人二区免费| 国产 日韩 欧美大片| 亚洲欧美日韩国产中文在线| 欧美午夜精品理论片a级按摩| 91免费精品国自产拍在线不卡| 免费在线视频一区| 日本中文字幕一区| 亚洲色图欧美激情| 夜夜夜精品看看| 久久先锋影音av鲁色资源| 精品久久人人做人人爽| 欧美中文字幕一区二区三区| 国产精品77777竹菊影视小说| 国产米奇在线777精品观看| 国内精品免费**视频| 伊人性伊人情综合网| 一区二区三区四区在线免费观看| 一区二区三区日韩在线观看| 亚洲一区av在线| 免费欧美高清视频| 国产乱一区二区| 成人小视频免费在线观看| 97精品国产露脸对白| 国产在线视频不卡二| 懂色av噜噜一区二区三区av| 成人丝袜视频网| 91视频.com| 欧美视频在线观看一区| 欧美一三区三区四区免费在线看| 91免费视频观看| 69av一区二区三区| 2023国产一二三区日本精品2022| 欧美国产成人精品| 综合激情网...| 免费不卡在线观看| 成人av网站在线| 欧美视频三区在线播放| 久久亚洲精精品中文字幕早川悠里 | 99久久99精品久久久久久| 欧美性猛片aaaaaaa做受| 欧美zozozo| 最新中文字幕一区二区三区| 日韩在线a电影| 成人网在线免费视频| 欧美日韩免费视频| 国产调教视频一区| 精品国产麻豆免费人成网站| 中文字幕高清不卡| 天堂av在线一区| 成人av资源站| 欧美一区二区三区系列电影| 国产精品色在线| 国产精品素人视频| 丝袜亚洲另类欧美综合| 东方欧美亚洲色图在线| 欧美日高清视频| 在线综合视频播放| 亚洲欧美综合网| 蜜桃精品视频在线| 另类专区欧美蜜桃臀第一页| 狂野欧美性猛交blacked| 不卡av免费在线观看| 日韩欧美中文一区| 亚洲综合激情小说| 成人动漫在线一区| 日韩欧美亚洲一区二区| 亚洲一区二区三区中文字幕 | 国产成人av一区二区三区在线| 激情综合网天天干| 国产精品一区二区视频| 色94色欧美sute亚洲线路二| 欧美性受极品xxxx喷水| 欧美激情综合五月色丁香| 久久爱另类一区二区小说| 欧美美女激情18p| 精品人在线二区三区| 性做久久久久久免费观看| www.99精品| 色婷婷亚洲精品| 国产肉丝袜一区二区| 日本一区中文字幕| 欧美日韩卡一卡二| 中文字幕日本乱码精品影院| 国产精品一区专区| 久久网站热最新地址| 青青草一区二区三区| 欧美视频在线观看一区| 亚洲靠逼com| 99久久99久久免费精品蜜臀| 国产精品沙发午睡系列990531| 国产成人免费视频网站| 日韩精品一区二区在线观看| 午夜精品久久久久| 国产黄色精品视频| 精品乱人伦小说| 经典三级视频一区| 日韩精品一区二区三区老鸭窝 | 亚洲天天做日日做天天谢日日欢| 国产高清久久久| 精品免费一区二区三区| 三级不卡在线观看| 欧美日韩一区二区三区高清| 亚洲人成精品久久久久| 色婷婷综合激情| 亚洲靠逼com| 欧美三级三级三级爽爽爽| 亚洲激情图片qvod| 欧美在线观看你懂的| 亚洲一区二区三区四区五区中文 | 亚洲日本成人在线观看| 色老综合老女人久久久| 亚洲视频精选在线| 欧美伊人久久久久久久久影院 | 午夜精品一区在线观看| 欧美日韩另类国产亚洲欧美一级| 日韩精品一区第一页| 日韩欧美一区二区久久婷婷| 国产精品一级二级三级| 国产日韩欧美精品一区| 99视频在线精品| 亚洲制服丝袜在线| 日韩免费电影一区| 韩国欧美一区二区| 国产精品福利一区| 91免费在线播放| 欧美aaaaaa午夜精品| 久久久久88色偷偷免费| 国精品**一区二区三区在线蜜桃| 久久久久久电影| 成人高清视频在线| 亚洲丶国产丶欧美一区二区三区| 欧美亚洲自拍偷拍| 国产一区视频导航| 国产精品国产三级国产普通话蜜臀| 欧美视频你懂的| 国产精品亚洲第一区在线暖暖韩国| 亚洲欧美日韩综合aⅴ视频| 欧美一区二区黄色| 国产黄人亚洲片| 亚洲国产精品一区二区久久 | 成人av在线资源网| 最新久久zyz资源站| 欧美三级电影精品| 精品一区二区三区在线观看 | 欧美日韩亚洲丝袜制服| 国产在线视视频有精品| 亚洲一区中文在线| 精品av久久707| 91九色02白丝porn| 免费久久精品视频| 亚洲欧美色图小说| 日韩视频中午一区| 不卡一区在线观看| 日韩精品免费视频人成| 国产精品婷婷午夜在线观看| 欧美午夜在线一二页| 懂色中文一区二区在线播放| 午夜精品久久久| 亚洲色图.com| 日韩精品专区在线| 欧美久久久久久久久久| 成人午夜免费电影|