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

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

?? dm_nandflash_k9f2g08.c

?? blackfin 533 的nandflash代碼 很基礎的
?? C
字號:
/************************************************************************** 
文件名稱: dm_nandflash_k9f2g08.c
作者: Andy
版本: 0.1 
創建時間 : 2007-04 
描述: 
	文件實現了NandFlash 底層讀寫的功能
修改歷史: 
****************************************************************************/ 
#include "stdio.h"
#include "ccblkfn.h"
#include "sysreg.h"
#include "dm_bf5xx.h"
uint8_t Test_Data_Table[];
int32_t bytecount;

/****************************************************************************
* 名稱 : Init_TEST_DATA_BUFFER
* 功能 : 生成測試數據
* 入口參數 :無
* 出口參數 :無
****************************************************************************/
void Init_TEST_DATA_BUFFER(void)
{
	int_t i;
	for(i = 0;i<bytecount;i++)
	{
		Test_Data_Table[i] = i;
	}
}

/****************************************************************************
* 名稱 : Wait_NAND_RADY
* 功能 : 判斷NANDFLASH 忙狀態
* 入口參數 :無
* 出口參數 :無
****************************************************************************/
bool Wait_NAND_RADY(void)
{
	while(!(*pFIO_FLAG_D & NAND_RDY));
}

/****************************************************************************
* 名稱 : Write_Command
* 功能 : NANDFLASH寫命令
* 入口參數 :command
* 出口參數 :無
****************************************************************************/
void Write_Command(uint8_t command)
{
	*pFlash_Commond = command;
	udelay(10);
}

/****************************************************************************
* 名稱 : Write_Addr
* 功能 : NANDFLASH寫地址 
* 入口參數 :addr
* 出口參數 :無
****************************************************************************/
void Write_Addr(uint8_t addr)
{
	*pFlash_Addr = addr;
	udelay(10);
}


/****************************************************************************
* 名稱 : Reset_NAND
* 功能 : 復位NANDFLASH
* 入口參數 :無
* 出口參數 :無
****************************************************************************/
void Reset_NAND(void)
{
	Write_Command(0xff);
	Wait_NAND_RADY();
}



/****************************************************************************
* 名稱 : Read_Chip_ID
* 功能 : 讀取芯片ID
* 入口參數 :無
* 出口參數 :false  出錯時返回false
****************************************************************************/
void Read_Chip_ID(void)
{
	uint8_t Chip_ID0 ;
	uint8_t Chip_ID1 ;
	Write_Command(0x90);
	Write_Addr(0x00);
	Chip_ID0 = *pFlash_Data;
	Chip_ID1 = *pFlash_Data;
	printf("The Nandflash ID is %X%X\n\r",Chip_ID0,Chip_ID1);
	if(Chip_ID0 == 0xec)
	{
		switch(Chip_ID1)
		{
			case 0xd3 : printf("The Nandflash is 1024M\n\r");
						bytecount = 4096;
			            break;
			case 0xda : printf("The Nandflash is 256M\n\r");
						 bytecount = 2048;
			            break;
			default:	printf("Read ID is ERROR!!!\n\r");
						bytecount = 2048;
						break;
		}
	}
	else
	{
		printf("Read ID is ERROR!!!\n\r");
		bytecount = 2048;				
		return false;
	}
	
}

/****************************************************************************
* 名稱 : write_page
* 功能 : 將Buffer中的數據寫入地址Page_Address
* 入口參數 :Page_Address,Buffer
* 出口參數 :完成返回true,失敗返回false 
****************************************************************************/
bool write_page(uint_t Page_Address,uint8_t *Buffer)
{
	int_t i;
	Write_Command(0x80);
	Write_Addr(0x00);
	Write_Addr(0x00);
	Write_Addr(Page_Address&0xff);
	Write_Addr((Page_Address>>8)&0xff);
	Write_Addr((Page_Address>>16)&0x07);		  	
	for(i = 0;i<bytecount;i++)
	{
		*pFlash_Data = *((uint8_t *)Buffer+i);
		udelay(1);		
	}
	Write_Command(0x10);
	Wait_NAND_RADY();
	return true;
}
/****************************************************************************
* 名稱 : read_page
* 功能 : 讀取頁地址Page_Address的數據512字節,存入Buffer
* 入口參數 :Page_Address,Buffer
* 出口參數 :無
****************************************************************************/
bool read_page(uint_t Page_Address,uint8_t *Buffer1)
{
	int_t i;
	Write_Command(0x00);
	Write_Addr(0x00);
	Write_Addr(0x00);
	Write_Addr(Page_Address&0xff);
	Write_Addr((Page_Address>>8)&0xff);
	Write_Addr((Page_Address>>16)&0x07);
	Write_Command(0x30);
	udelay(200);
	for(i = 0;i<bytecount;i++)
	{
		*((uint8_t *)Buffer1+i) = *pFlash_Data;
	}	
}

/****************************************************************************
* 名稱 : Block_Erase
* 功能 : 將塊地址Block_Address的塊數據擦除。可通過頁地址除以32得到塊地址
* 入口參數 :Block_Address
* 出口參數 :無
****************************************************************************/
bool  Block_Erase(uint_t Block_Address)
{	
	uint8_t NAND_Data = 0;
	uint_t Page_Address;
	Page_Address = Block_Address<<6;
	Write_Command(0x60);
	Write_Addr(Page_Address&0xff);
	Write_Addr((Page_Address>>8)&0xff);
	Write_Addr((Page_Address>>16)&0x07);
	Write_Command(0xd0);
	Wait_NAND_RADY();
	Write_Command(0x70);
	NAND_Data = *pFlash_Data;
	if(NAND_Data&0x1 != 0)
	{
		return false;
	}
	else
	{
		return true;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区婷婷月色| 911精品产国品一二三产区| 蜜臀av国产精品久久久久| 亚洲最色的网站| 一区二区三区 在线观看视频| 亚洲激情综合网| 亚洲va天堂va国产va久| 日本成人在线电影网| 性做久久久久久免费观看 | 26uuu另类欧美| 精品国产欧美一区二区| 久久女同性恋中文字幕| 中文字幕av资源一区| 综合色天天鬼久久鬼色| 一区二区三区四区高清精品免费观看 | 337p日本欧洲亚洲大胆色噜噜| 久久在线观看免费| 最新中文字幕一区二区三区| 亚洲高清久久久| 国产毛片精品国产一区二区三区| 国产成人av自拍| 91麻豆蜜桃一区二区三区| 欧美天堂亚洲电影院在线播放| 制服丝袜日韩国产| 国产精品美女久久久久久久| 夜夜嗨av一区二区三区四季av| 日韩电影一二三区| 成人性色生活片| 91精品国产综合久久福利| 国产精品欧美一区二区三区| 亚洲一级电影视频| 国产一区二区不卡在线| 在线看日韩精品电影| 精品福利一区二区三区免费视频| 中文字幕一区二区三区蜜月| 天堂成人免费av电影一区| 国产美女在线观看一区| 欧美日韩一区不卡| 欧美激情在线免费观看| 天堂va蜜桃一区二区三区| 国产精品综合二区| 欧美日韩国产首页在线观看| 国产日韩av一区二区| 日韩精品91亚洲二区在线观看 | 欧美一级一区二区| 中文字幕在线观看不卡视频| 精一区二区三区| 91福利资源站| 国产精品久久三区| 国产一区啦啦啦在线观看| 欧美色综合网站| 亚洲素人一区二区| 大尺度一区二区| 欧美一区二区三区不卡| 伊人婷婷欧美激情| 暴力调教一区二区三区| 精品蜜桃在线看| 免费看黄色91| 欧美日韩免费在线视频| 亚洲色欲色欲www| 99久久99久久久精品齐齐| 2019国产精品| 精品一区二区三区欧美| 911精品国产一区二区在线| 尤物在线观看一区| 色婷婷久久一区二区三区麻豆| 国产精品久久久久婷婷| 国产69精品一区二区亚洲孕妇| 欧美电影免费观看高清完整版在线观看 | 亚洲精品一卡二卡| 波波电影院一区二区三区| 欧美激情一区二区在线| 丁香婷婷综合网| 中文字幕亚洲一区二区va在线| 成人性视频网站| 国产精品国产精品国产专区不片 | 亚洲一区二区欧美日韩| 色婷婷狠狠综合| 亚洲一区二区在线播放相泽| 在线欧美一区二区| 一区二区三区在线观看欧美| 99视频精品全部免费在线| 亚洲另类色综合网站| 在线精品视频小说1| 亚洲成人av一区二区三区| 欧美一区二区视频在线观看2020 | 国产成人精品一区二区三区四区| 国产午夜精品一区二区| 成人a区在线观看| 玉足女爽爽91| 欧美精品电影在线播放| 久久精品国产成人一区二区三区| 精品久久久久久久久久久久包黑料| 国产福利一区二区三区| 中文字幕一区日韩精品欧美| 欧美在线小视频| 蜜桃久久精品一区二区| 国产亚洲va综合人人澡精品| 成人黄色综合网站| 亚洲一区在线观看免费观看电影高清 | 欧美婷婷六月丁香综合色| 人人超碰91尤物精品国产| 国产日韩三级在线| 在线亚洲一区二区| 蜜桃精品视频在线观看| 国产精品电影一区二区| 91精品国产综合久久久久久久| 精彩视频一区二区三区| 亚洲视频免费在线观看| 欧美一级精品在线| 99re在线精品| 国产一区二区三区四| 亚洲精品高清视频在线观看| 亚洲精品一区二区三区香蕉| 91丨porny丨户外露出| 秋霞电影一区二区| 亚洲精品第1页| 国产日韩高清在线| 日韩一区和二区| 在线观看91视频| 国产成人免费网站| 日本欧美一区二区在线观看| 最新热久久免费视频| 久久婷婷成人综合色| 欧美日韩精品一区二区三区| 福利电影一区二区三区| 久久精品国产精品亚洲综合| 一区二区欧美视频| 国产精品欧美精品| 久久综合久久鬼色中文字| 欧美性视频一区二区三区| 成人免费毛片aaaaa**| 青青草伊人久久| 午夜精品久久久久久久99水蜜桃| 1区2区3区国产精品| 国产日本亚洲高清| 91成人看片片| 性做久久久久久久免费看| 国产精品美女久久久久久| 精品免费一区二区三区| 欧美精品tushy高清| 欧美性三三影院| 99国产欧美另类久久久精品| 精彩视频一区二区| 久久国产精品露脸对白| 日韩精品欧美精品| 天天操天天干天天综合网| 亚洲亚洲精品在线观看| 亚洲精品免费看| 亚洲综合在线视频| 亚洲宅男天堂在线观看无病毒| 一区二区三区在线视频播放| 亚洲啪啪综合av一区二区三区| 亚洲私人影院在线观看| 国产精品美女久久久久久2018| 欧美国产在线观看| 国产精品高潮呻吟| 亚洲色图.com| 亚洲午夜在线视频| 天堂资源在线中文精品| 美女一区二区三区在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 另类中文字幕网| 国产成人精品免费| 91影视在线播放| 欧美午夜不卡视频| 欧美成人高清电影在线| 久久久精品综合| 中文字幕日韩一区| 亚洲国产精品久久不卡毛片| 免费观看在线综合| 国产白丝精品91爽爽久久| 91丨porny丨中文| 欧美一区二区三区四区高清| 精品国产91九色蝌蚪| 亚洲图片欧美激情| 日韩av中文字幕一区二区 | 国产精品美女久久久久aⅴ国产馆| 国产精品美女一区二区三区 | 亚洲午夜久久久久久久久电影网 | 国产白丝网站精品污在线入口| 色呦呦网站一区| 欧美精品在欧美一区二区少妇| 欧美va天堂va视频va在线| 欧美激情一区二区三区全黄| 一区二区三区国产豹纹内裤在线 | 国产精品区一区二区三| 亚洲亚洲精品在线观看| 国产综合久久久久影院| 91亚洲精品一区二区乱码| 日韩精品在线网站| 日韩毛片高清在线播放| 九一九一国产精品| 欧美三级蜜桃2在线观看| 日本一区二区动态图| 秋霞成人午夜伦在线观看| 96av麻豆蜜桃一区二区| 久久伊99综合婷婷久久伊| 亚洲高清不卡在线| 成人a级免费电影|