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

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

?? nandread.c

?? ucCos移植到廣州友善nano2410
?? C
字號:
/*  * vivi/s3c2410/nand_read.c: Simple NAND read functions for booting from NAND * * Copyright (C) 2002 MIZI Research, Inc. * * Author: Hwang, Chideok <hwang@mizi.com> * Date  : $Date: 2004/02/04 06:22:24 $ * * $Revision: 1.1.1.1 $ * $Id: param.c,v 1.9 2002/07/11 06:17:20 nandy Exp  * * History * * 2002-05-xx: Hwang, Chideok <hwang@mizi.com> * * 2002-05-xx: Chan Gyun Jeong <cgjeong@mizi.com> * * 2002-08-10: Yong-iL Joh <tolkien@mizi.com> * */#include "..\inc\nand.h"#include "..\inc\2410addr.h"#include "..\inc\def.h"#define __REGb(x)	(*(volatile unsigned char *)(x))#define __REGi(x)	(*(volatile unsigned int *)(x))#define NF_BASE         0x4e000000#define NFCONF          __REGi(NF_BASE + 0x0)#define NFCMD           __REGb(NF_BASE + 0x4)#define NFADDR          __REGb(NF_BASE + 0x8)#define NFDATA          __REGb(NF_BASE + 0xc)#define NFSTAT          __REGb(NF_BASE + 0x10)//#define GPDAT		__REGi(GPIO_CTL_BASE+oGPIO_F+oGPIO_DAT)#define NAND_CHIP_ENABLE  (NFCONT &= ~(1<<1))#define NAND_CHIP_DISABLE (NFCONT |=  (1<<1))#define NAND_CLEAR_RB	  (NFSTAT |=  (1<<2))#define NAND_DETECT_RB	  { while(! (NFSTAT&(1<<2)) );}#define BUSY 1static unsigned char seBuf[16]={0xff};void wait_idle(void) {    int i;    while(!(NFSTAT & BUSY))      for(i=0; i<10; i++);}#define NAND_CMD_READ0		0#define NAND_SECTOR_SIZE	512#define NAND_BLOCK_MASK		(NAND_SECTOR_SIZE - 1)/* low level nand read function */int nand_read_ll(unsigned char *buf, unsigned long start_addr, int size){	int i, j;	if (start_addr & NAND_BLOCK_MASK) {		return -1;	/* invalid alignment */	}	/* chip Enable */    NFCONF &= ~0x800;    for(i=0; i<10; i++);	for(i=start_addr; i < (start_addr + size);) {		/* READ0 */		NFCMD = NAND_CMD_READ0;		/* 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++) {			*buf = (NFDATA & 0xff);			buf++;		}		i += NAND_SECTOR_SIZE;	}		/* chip Disable */    NFCONF |= 0x800;    /* chip disable */		return 0;}//--------------------------------------------------------------------------------------unsigned short nf_checkId(void){	int i;	unsigned short id;		NF_nFCE_L();		//chip enable		NF_CMD(0x90);		//Read ID	NF_ADDR(0x0);	for(i=0;i<10;i++);	//wait tWB(100ns)	id=NF_RDDATA()<<8;	// Maker code(K9S1208V:0xec)	id|=NF_RDDATA();	// Devide code(K9S1208V:0x76)	NF_nFCE_H();		//chip enable	return id;}//--------------------------------------------------------------------------------------static void nf_reset(void){	int i;	NF_nFCE_L();		//chip enable	NF_CMD(0xFF);		//reset command	for(i=0;i<10;i++);  	//tWB = 100ns.	NF_WAITRB(); 		//wait 200~500us;	NF_nFCE_H();		//chip disable}//--------------------------------------------------------------------------------------void nf_init(void){	rNFCONF=(1<<15)|(1<<14)|(1<<13)|(1<<12)|(1<<11)|(TACLS<<8)|(TWRPH0<<4)|(TWRPH1<<0);		//	     1  	1    	1     	1   	1      xxx     r xxx,      r xxx        	//	     En 	r	r       ECCR    nFCE=H tACLS   tWRPH0      tWRPH1	nf_reset();}//--------------------------------------------------------------------------------------void nf_read(unsigned int src_addr,unsigned  char *desc_addr,int size){	int i;	unsigned int column_addr=src_addr%512;			// column address	unsigned int page_address=(src_addr>>9);		// page addrress	unsigned char *buf=desc_addr;		while((unsigned int)buf<(unsigned int)(desc_addr)+size)	{		NF_nFCE_L();					// enable chip		if(column_addr>255)				// 2end halft		{			NF_CMD(0x01);				// Read2 command.   cmd 0x01: Read command(start from 2end half page)		} 		else		{			NF_CMD(0x00);				// 1st halft?		}		NF_ADDR(column_addr&0xff);	    		// Column Address		NF_ADDR(page_address&0xff);			// Page Address		NF_ADDR((page_address>>8)&0xff);		// ...		NF_ADDR((page_address>>16)&0xff);		// ..		for(i=0;i<10;i++);				// wait tWB(100ns)/////??????		NF_WAITRB();					// Wait tR(max 12us)			// Read from main area		for(i=column_addr;i<512;i++)		{			*buf++=NF_RDDATA();		}		NF_nFCE_H();					// disable chip		column_addr=0;		page_address++;	}	return ;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香六月综合激情| 视频一区二区国产| 亚洲人妖av一区二区| 亚洲欧洲精品一区二区三区不卡| 国产午夜精品福利| 欧美三级日韩三级国产三级| 欧美日韩精品综合在线| 欧美一区二区不卡视频| 欧美一级片在线观看| 色综合天天天天做夜夜夜夜做| 欧美日韩精品久久久| 欧美一区二区精品| 日本一区二区三区高清不卡| 成人夜色视频网站在线观看| 在线欧美小视频| 精品久久久久久久一区二区蜜臀| 国产精品麻豆视频| 国产精品乱码妇女bbbb| 亚洲一卡二卡三卡四卡| 久久er99精品| 97精品久久久午夜一区二区三区| 精品国内二区三区| 亚洲1区2区3区视频| 蜜臀久久久久久久| 不卡的av中国片| 欧美日韩国产高清一区| 国产精品麻豆久久久| 日本不卡免费在线视频| 国产精品一区二区三区乱码| 欧美在线看片a免费观看| 日韩一区二区精品葵司在线| 亚洲图片有声小说| 国产传媒日韩欧美成人| 欧美午夜精品一区二区三区| 色综合天天综合网天天狠天天| 欧美成人video| 一区2区3区在线看| 91片在线免费观看| 精品福利在线导航| 免费观看久久久4p| 91精品久久久久久久99蜜桃 | 国产精品免费视频一区| 一区二区成人在线| 不卡一二三区首页| 久久精品日韩一区二区三区| 午夜伦欧美伦电影理论片| 色婷婷亚洲一区二区三区| 久久久久久免费网| 亚洲综合色婷婷| 日韩av一区二区在线影视| 91豆麻精品91久久久久久| 中文字幕精品综合| 黄色日韩网站视频| 欧美丰满嫩嫩电影| 亚洲一区二区三区中文字幕在线| 成人三级伦理片| 成人天堂资源www在线| 在线区一区二视频| 一区二区三区在线观看国产| a4yy欧美一区二区三区| 日本一区二区成人在线| 久久精品久久综合| 欧美成人性福生活免费看| 日本不卡高清视频| 精品国产伦一区二区三区观看方式| 亚洲欧美另类在线| 欧美日韩一级视频| 偷拍亚洲欧洲综合| 91精品一区二区三区久久久久久| 亚洲一二三专区| 精品亚洲aⅴ乱码一区二区三区| 欧美精品一二三区| 亚洲综合成人在线视频| 成人av在线一区二区三区| 欧美日韩在线亚洲一区蜜芽| 亚洲aⅴ怡春院| 欧美videos大乳护士334| 国产老女人精品毛片久久| 国产欧美日韩亚州综合 | 中文字幕精品综合| 99国内精品久久| 亚洲欧美区自拍先锋| 在线观看国产一区二区| 午夜久久久久久久久久一区二区| 欧美一卡在线观看| 亚洲精品免费在线播放| 欧美日韩国产精品自在自线| 久久99久久精品| 国产午夜亚洲精品羞羞网站| av电影一区二区| 悠悠色在线精品| 91香蕉视频污在线| 五月婷婷综合网| 久久精品人人爽人人爽| 99久久综合狠狠综合久久| 国产最新精品精品你懂的| 国产精品三级视频| 北条麻妃国产九九精品视频| 自拍偷拍亚洲综合| 欧美成人猛片aaaaaaa| 成人中文字幕合集| 天天操天天色综合| 久久精品视频免费观看| 91福利视频久久久久| 国产美女久久久久| 国产美女娇喘av呻吟久久| 欧美日韩一区小说| 婷婷中文字幕综合| 久久精品亚洲一区二区三区浴池| 色综合亚洲欧洲| 国产一区二区免费视频| 亚洲一线二线三线视频| 91一区在线观看| 国产丶欧美丶日本不卡视频| 亚洲国产成人av网| 国产精品久久久久久妇女6080| 国产精品亚洲一区二区三区妖精 | 欧美老人xxxx18| 国产成人精品午夜视频免费| 亚洲一区二区三区影院| 国产日韩欧美综合一区| 欧美电影一区二区| 成人精品小蝌蚪| 国产精品少妇自拍| 欧美精品一区二区三区视频| 欧美性大战久久久久久久蜜臀| 国产大陆a不卡| 久久不见久久见中文字幕免费| 亚洲午夜私人影院| 一区二区三区在线不卡| 中文字幕一区二区三区视频| 91精品办公室少妇高潮对白| 国产麻豆精品视频| 日韩精品亚洲一区二区三区免费| 日韩美女视频一区| 日本一区二区三区在线不卡 | 日韩欧美一区二区久久婷婷| 三级不卡在线观看| 三级在线观看一区二区| 国产精品久久久久影院老司| 精品国产a毛片| 欧美一级二级三级乱码| 欧美日韩高清影院| 91天堂素人约啪| 91污片在线观看| 日韩精品亚洲一区二区三区免费| 日韩高清在线一区| 国产999精品久久| 欧美性高清videossexo| 精品99一区二区| 玉米视频成人免费看| 麻豆久久一区二区| 欧美va在线播放| 一区二区三区四区亚洲| 蜜桃视频在线一区| 91亚洲永久精品| 久久影院午夜片一区| 一区二区三区国产| 国产精品一区2区| 欧美人狂配大交3d怪物一区| 久久久久综合网| 日韩高清在线一区| 色噜噜夜夜夜综合网| 久久久国产精品午夜一区ai换脸| 蜜臀a∨国产成人精品| 91蜜桃免费观看视频| 制服丝袜亚洲播放| 亚洲精品日韩一| 成人自拍视频在线| 久久久久久久久久久久电影| 午夜欧美视频在线观看| 91麻豆视频网站| 国产人妖乱国产精品人妖| 视频精品一区二区| 欧美又粗又大又爽| 亚洲天堂精品视频| 豆国产96在线|亚洲| 精品美女被调教视频大全网站| 亚洲午夜免费电影| 91免费看`日韩一区二区| 久久免费看少妇高潮| 久久国产欧美日韩精品| 欧美视频一区二区三区四区| 1024成人网| 成人av免费在线| 久久九九久精品国产免费直播| 日韩成人精品视频| 欧美挠脚心视频网站| 一区二区三区在线观看欧美| 99久久99精品久久久久久| 国产欧美一区二区三区在线看蜜臀 | 美腿丝袜亚洲综合| 欧美日韩国产一区| 亚洲国产wwwccc36天堂| 色呦呦日韩精品| 夜夜嗨av一区二区三区网页| 色综合久久综合网97色综合 | 日韩欧美另类在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 4438亚洲最大|