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

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

?? init.c

?? 2410下的扳機開發
?? C
字號:
#include "s3c2410.h"#include "init.h"#include "mmu.h"/* SDRAM 13個寄存器的值 */ unsigned long  const	mem_cfg_val[]={	0x22111110,		//BWSCON				0x00000700,		//BANKCON0				0x00000700,		//BANKCON1				0x00000700,		//BANKCON2				0x00000700,		//BANKCON3					0x00000700,		//BANKCON4				0x00000700,		//BANKCON5				0x00018005,		//BANKCON6				0x00018005,		//BANKCON7				0x008e04f4,		//REFRESH,HCLK=12MHz:0x008e07a3,HCLK=100MHz:0x008e04f4				0x000000b2,		//BANKSIZE				0x00000030,		//MRSRB6				0x00000030,		//MRSRB7};/*上電后,WATCH DOG默認是開著的,要把它關掉 */void disable_watch_dog(){	WTCON	= 0;}/**************************************************************************   * 設置控制SDRAM的13個寄存器* 含有數組的代碼,不是位置無關的,所以memsetup只能在連接位置執行* 如果要使用位置無關代碼,請使用memsetup_2**************************************************************************/   void memsetup(){	int 	i = 0;	unsigned long *p = (unsigned long *)MEM_CTL_BASE;	for(; i < 13; i++)		p[i] = mem_cfg_val[i];}void memsetup_2(){	unsigned long *p = (unsigned long *)MEM_CTL_BASE;		p[0] = 0x22111110;		//BWSCON	p[1] = 0x00000700;		//BANKCON0	p[2] = 0x00000700;		//BANKCON1	p[3] = 0x00000700;		//BANKCON2	p[4] = 0x00000700;		//BANKCON3		p[5] = 0x00000700;		//BANKCON4	p[6] = 0x00000700;		//BANKCON5	p[7] = 0x00018005;		//BANKCON6	p[8] = 0x00018005;		//BANKCON7	p[9] = 0x008e04f4;		//REFRESH,HCLK=12MHz:0x008e07a3,HCLK=100MHz:0x008e04f4							p[10] = 0x000000b2;		//BANKSIZE	p[11] = 0x00000030;		//MRSRB6	p[12] = 0x00000030;		//MRSRB7}/* 在第一次實用NAND Flash前,復位一下NAND Flash */void reset_nand(){	int i=0;	NFCONF &= ~0x800;	for(; i<10; i++);	NFCMD = 0xff;	//reset command	wait_idle();}/* 初始化NAND Flash */void init_nand(){	NFCONF = 0xf830;	reset_nand();}/**************************************************************************	以下讀NAND Flash的代碼來自mizi公司的bootloader vivi*************************************************************************/#define BUSY 1inline void wait_idle(void) {	int i;	while(!(NFSTAT & BUSY))		for(i=0; i<10; i++);}#define NAND_SECTOR_SIZE	512#define NAND_BLOCK_MASK		(NAND_SECTOR_SIZE - 1)/* low level nand read function */void nand_read_ll(unsigned char *buf, unsigned long start_addr, int size){	int i, j;	if ((start_addr & NAND_BLOCK_MASK) || (size & NAND_BLOCK_MASK)) {		return ;	/* invalid alignment */	}	/* chip Enable */	NFCONF &= ~0x800;	for(i=0; i<10; i++);	for(i=start_addr; i < (start_addr + size);) {		/* READ0 */		NFCMD = 0;		/* Write Address */		NFADDR = i & 0xff;		NFADDR = (i >> 9) & 0xff;		NFADDR = (i >> 17) & 0xff;		NFADDR = (i >> 25) & 0xff;		wait_idle();		for(j=0; j < NAND_SECTOR_SIZE; j++, i++) {			*buf = (NFDATA & 0xff);			buf++;		}	}	/* chip Disable */	NFCONF |= 0x800;	/* chip disable */	return ;}/**************************************************************************** 中斷向量起始虛擬地址為0xffff0000,段是1M對齊的,所以0xfff00000虛擬地址對應* 0x33f00000(VECTORS_PHY_BASE),而虛擬地址0xffff0000則對應0x33f00000+0xf0000***************************************************************************/void copy_vectors_from_nand_to_sdram(){	nand_read_ll((unsigned char*)(VECTORS_PHY_BASE+0xf0000), 0x0, 512);	}void copy_process_from_nand_to_sdram(){	nand_read_ll((unsigned char*)PROCESS0_BASE, 0x0, 0x100000-16*1024);//進程0空間為1M-16K頁表//	nand_read_ll((unsigned char*)(0x30100000), 15*1024, 1024);//	nand_read_ll((unsigned char*)PROCESS2_BASE, 0x8000, 1024);	}#define EINT1		(2<<(1*2))#define EINT2		(2<<(2*2))#define EINT3		(2<<(3*2))#define EINT7		(2<<(7*2))void init_irq( ){	GPFCON |= EINT1 | EINT2 | EINT3 | EINT7;	GPFUP	 |= (1<<1) | (1<<2) | (1<<3) | (1<<7);		EINTMASK &= (~0x80);	//EINT7使能	INTMSK	&= (~0x1e);	//EINT1-3、EINT7使能		INTMSK &= (~(1<<10));	//INT_TIMER0使能		PRIORITY &= (~0x03);	//設定優先級}#define MPLL_200MHz	(0x5c << 12)|(0x04 << 4)|(0x00)/**************************************************************************** 對于MPLLCON寄存器,[19:12]為MDIV,[9:4]為PDIV,[1:0]為SDIV* 有如下計算公式:*	MPLL(FCLK) = (m * Fin)/(p * 2^s)*	其中: m = MDIV + 8, p = PDIV + 2* 對于本開發板,Fin = 12MHz,MPLLCON設為MPLL_200MHz,可以計算出FCLK=200MHz***************************************************************************/void clock_init(){	LOCKTIME = 0x00ffffff;	CLKDIVN  = 0x03;	/*FCLK:HCLK:PCLK=1:2:4, HDIVN1=0,HDIVN=1,PDIVN=1 */	/*If HDIVN = 1,the CPU bus mode has to be changed from the fast bus mode	  to the asynchronous bus mod using following instructions.*/__asm__(	"mrc	p15, 0, r1, c1, c0, 0\n"		/* read ctrl register   */ 	"orr	r1, r1, #0xc0000000\n"		/* Asynchronous         */	"mcr	p15, 0, r1, c1, c0, 0\n"		/* write ctrl register  */	);	 MPLLCON = MPLL_200MHz;	/*現在,FCLK=200MHz,HCLK=100MHz,PCLK=50MHz*/	 }/************************************************************************** Timer input clock Frequency = PCLK / {prescaler value+1} / {divider value}* {prescaler value} = 0~255* {divider value} = 2, 4, 8, 16* 本實驗的Timer0的時鐘頻率=50MHz/(49+1)/(16)=62500Hz* 設置Timer0 10ms觸發一次中斷:TCNTB0[15:0]=625*************************************************************************/void Timer0_init(){	TCFG0 = 49;		//Prescaler0 = 49	  	 	TCFG1 = 0x03;	//Select MUX input for PWM Timer0:divider=16//	TCNTB0 = 625;	//10ms觸發一次中斷	TCNTB0 = 62500;	//1s觸發一次中斷,用于調試		TCON |=  (1<<1);	//Timer 0 manual update	TCON = 0x09;	/*Timer 0 auto reload on			  Timer 0 output inverter off			  清"Timer 0 manual update"			  Timer 0 start */}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人a∨高清免费观看| 国产午夜亚洲精品羞羞网站| 极品美女销魂一区二区三区| 亚洲乱码国产乱码精品精98午夜| 日韩欧美中文一区| 91国产福利在线| 国产超碰在线一区| 麻豆国产精品视频| 亚洲一区二区五区| 中文字幕欧美三区| 日韩视频永久免费| 欧美色视频在线观看| 成人在线视频一区二区| 久久99久久久欧美国产| 五月综合激情日本mⅴ| 日韩美女视频19| 国产肉丝袜一区二区| 日韩美女视频在线| 欧美卡1卡2卡| 在线视频欧美区| 成人福利视频在线| 粉嫩蜜臀av国产精品网站| 蜜桃精品在线观看| 首页综合国产亚洲丝袜| 亚洲一区二区视频在线观看| 国产精品免费久久久久| 欧美精品一区二区三区久久久| 5566中文字幕一区二区电影| 欧美午夜不卡在线观看免费| 日本高清无吗v一区| 波多野结衣中文字幕一区 | 亚洲黄色小视频| 国产精品日产欧美久久久久| 久久久久九九视频| 久久综合狠狠综合久久激情 | 成人免费视频免费观看| 韩国欧美国产一区| 国产一区美女在线| 久久国产剧场电影| 国产一区啦啦啦在线观看| 经典一区二区三区| 国产一区二区三区四| 国产一区欧美二区| 国产激情一区二区三区| 高清不卡在线观看av| 国产69精品久久99不卡| 国产99精品国产| 成人午夜av在线| 成人激情小说乱人伦| a级高清视频欧美日韩| 99re热视频精品| 91久久久免费一区二区| 欧洲生活片亚洲生活在线观看| 欧美日韩中文字幕一区二区| 91精品国产综合久久福利软件| 欧美一三区三区四区免费在线看 | 国产精品白丝av| 福利电影一区二区| 97精品久久久久中文字幕| 91在线视频播放地址| 在线观看欧美日本| 91精品国产一区二区三区蜜臀| 欧美电影免费观看完整版| 精品国产伦一区二区三区观看方式 | 免费观看一级欧美片| 激情图区综合网| 成人福利在线看| 欧美视频一区在线观看| 欧美不卡一二三| 中文字幕高清一区| 亚洲一区二区三区影院| 青青草97国产精品免费观看无弹窗版| 精品中文字幕一区二区| 成人激情小说网站| 88在线观看91蜜桃国自产| 欧美国产丝袜视频| 亚洲午夜日本在线观看| 激情伊人五月天久久综合| 91丨九色丨黑人外教| 欧美精品久久一区二区三区| 久久久久久久性| 亚洲国产一区二区视频| 国产一区二区三区最好精华液| 91猫先生在线| 久久日韩精品一区二区五区| 亚洲老妇xxxxxx| 国产麻豆91精品| 精品视频999| 中文字幕成人在线观看| 午夜精品免费在线| 成人av高清在线| 欧美va亚洲va香蕉在线| 亚洲精选视频在线| 国产专区综合网| 粉嫩13p一区二区三区| 色av一区二区| 国产欧美一区二区精品性| 亚洲福利视频一区| 国产成人在线视频网址| 欧洲精品一区二区| 色婷婷av久久久久久久| 精品国产成人系列| 亚洲在线免费播放| 国产精品一区二区黑丝| 欧美精品少妇一区二区三区| 国产精品网站导航| 亚洲自拍偷拍欧美| aaa国产一区| 欧美电影精品一区二区| 亚洲男人电影天堂| 国产成人在线视频播放| 欧美理论在线播放| 亚洲五码中文字幕| 成人精品亚洲人成在线| 一本大道综合伊人精品热热| 久久女同精品一区二区| 一卡二卡三卡日韩欧美| 91亚洲精华国产精华精华液| 日韩欧美的一区二区| 亚洲在线视频免费观看| av福利精品导航| 欧美成人bangbros| 综合中文字幕亚洲| 国产麻豆精品theporn| 久久理论电影网| 男女男精品网站| 欧美日免费三级在线| 亚洲人成在线播放网站岛国| 国产一区二区三区美女| 久久蜜桃一区二区| 美国精品在线观看| 3atv在线一区二区三区| 亚洲一区二区三区美女| 成人深夜在线观看| 国产人成一区二区三区影院| 裸体在线国模精品偷拍| 欧美一卡二卡在线| 午夜欧美一区二区三区在线播放| 91视视频在线观看入口直接观看www | 国产日韩精品一区二区三区| 国产精选一区二区三区| 日韩精品一区二| 美女看a上一区| 51精品视频一区二区三区| 一级做a爱片久久| 91年精品国产| 亚洲天堂精品在线观看| 成人av在线资源| 国产精品久久久久久久第一福利| 国产精品综合二区| 久久综合中文字幕| 国产福利一区二区三区视频| 久久嫩草精品久久久久| 国产91对白在线观看九色| 久久综合色综合88| 不卡欧美aaaaa| 亚洲视频一区二区免费在线观看| 97aⅴ精品视频一二三区| 中文字幕在线播放不卡一区| 色视频一区二区| 日韩激情一二三区| 日韩欧美精品在线视频| 韩国成人福利片在线播放| 国产亚洲成aⅴ人片在线观看| 国产综合一区二区| 亚洲女爱视频在线| 欧美日韩国产123区| 日本v片在线高清不卡在线观看| 欧美xxxxxxxx| 在线一区二区视频| 麻豆91在线播放免费| 久久久久久久久一| www.66久久| 亚洲成av人片在线观看无码| 欧美精品一区二区三区在线| 成人黄页在线观看| 亚洲一区成人在线| 欧美mv日韩mv亚洲| 国产精品 日产精品 欧美精品| 一区二区三区色| 欧美成人r级一区二区三区| 成人一区二区三区在线观看| 一区二区三区中文字幕电影 | 一区二区三区日韩| 666欧美在线视频| 国产大陆a不卡| 亚洲欧美国产高清| 91精品国产免费久久综合| 国产成人综合网站| 亚洲国产裸拍裸体视频在线观看乱了 | 精品盗摄一区二区三区| 成人黄色av网站在线| 亚洲国产精品一区二区www| 欧美成人性福生活免费看| 色综合久久久久网| 韩国午夜理伦三级不卡影院| 亚洲激情在线激情| 26uuu精品一区二区在线观看| 波多野结衣在线一区| 国内精品伊人久久久久av影院|