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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ata.c

?? pl2200 zfc 開(kāi)發(fā)全部文檔,源碼,
?? C
字號(hào):
/****************************************Copyright (c)**************************************************
**                               廣州周立功單片機(jī)發(fā)展有限公司
**                                     研    究    所
**                                        ARM開(kāi)發(fā)組
**
**                                 http://www.zlgmcu.com
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: flash.c
**創(chuàng)   建   人: 陳明計(jì)
**最后修改日期:  2003年9月3日
**描        述: FAT文件系統(tǒng)在PC上編譯的軟盤(pán)驅(qū)動(dòng)程序(底層驅(qū)動(dòng))
**              
**--------------歷史版本信息----------------------------------------------------------------------------
** 創(chuàng)建人: 陳明計(jì)
** 版  本: V1.0
** 日 期: 2003年9月3日
** 描 述: 原始版本
**
**--------------當(dāng)前版本修訂------------------------------------------------------------------------------
** 修改人: 
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

#define IN_FLOPPY
#include "config.h"



uint32 GetVolumeFirstSect(uint8 Device)
{
	uint8 buffer[512];
	uint32 RelaStaSect;
	ATA_ReadSector(Device,(uint16 *)buffer,0,1);
	if((buffer[510]==0x55)&&(buffer[511]==0xAA))
	{
		if(((buffer[0]==0xEB)&&(buffer[2]==0x90))||(buffer[0] == 0xE9))/**/
		{
			RelaStaSect = 0;
		}
		else
		{
			RelaStaSect = buffer[454]+ 
					 	  buffer[455]*0x100 + 
					 	  buffer[456]*0x10000 + 
					 	  buffer[457]*0x1000000;

		}
	}
	return RelaStaSect;	
}

/*********************************************************************************************************
** 函數(shù)名稱: CFCammand
** 功能描述: 底層驅(qū)動(dòng)程序與上層的接口程序
**
** 輸 入: Cammand:DISK_INIT:驅(qū)動(dòng)程序初始化
**                 DISK_CLOSE:關(guān)閉驅(qū)動(dòng)器(移除驅(qū)動(dòng)程序)                 
**                 DISK_CREATE_BOOT_SECTOR:重建引導(dǎo)扇區(qū)
**                 DISK_READ_SECTOR:讀扇區(qū)
**                 DISK_WRITE_SECTOR:寫(xiě)扇區(qū)
**        Parameter:剩余參數(shù)
** 輸 出: DISK_READ_OK:讀扇區(qū)完成
**        DISK_READ_NOT_OK:讀扇區(qū)失敗
**        DISK_WRITE_OK:寫(xiě)扇區(qū)完成
**        DISK_WRITE_NOT_OK:寫(xiě)扇區(qū)失敗
**        DISK_INIT_OK:初始化完成
**        DISK_INIT_NOT_OK:初始化失敗
**        BAD_DISK_COMMAND:無(wú)效的命令
** 全局變量: 無(wú)
** 調(diào)用模塊: 無(wú)
**
** 作 者: 陳明計(jì)
** 日 期: 2003年9月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint16 CFCammand(uint8 Cammand, void *Parameter)
{
    uint16 rt;
    Disk_RW_Parameter * Dp;
    Disk_Info *DiskInfo;
    
    Dp = (Disk_RW_Parameter *)Parameter;

    switch (Cammand)
    {
        case DISK_INIT:			/*設(shè)備初始化*/
            rt = DISK_INIT_NOT_OK;
            if(ATA[0].ATAIsOK == TRUE)				/*主設(shè)備(設(shè)備0)可用*/
			{
            	DiskInfo = GetEmptyDiskInfoAddr();
            	if (DiskInfo != NULL)
            	{
                	DiskInfo->DiakCommand = CFCammand;
                	DiskInfo->RsvdForLow = GetVolumeFirstSect(0);/*獲取卷首扇區(qū)*/
                	rt = DISK_INIT_OK;
            	}
	        }
            break;
        case DISK_CLOSE:		
            rt = RETURN_OK;
            break;
        case DISK_READ_SECTOR:	/*讀扇區(qū)*/
            rt = DISK_READ_NOT_OK;
            if(ATA_ReadSector(0,(uint16*)Dp->Buf, Dp->SectorIndex + Dp->RsvdForLow,1))
            {
                rt = DISK_READ_OK;
            }
            break;
        case DISK_WRITE_SECTOR:	/*寫(xiě)扇區(qū)*/
            rt = DISK_WRITE_NOT_OK;
            if(ATA_WriteSector(0,(uint16*)Dp->Buf, Dp->SectorIndex + Dp->RsvdForLow,1))
            {
               rt = DISK_WRITE_OK;
            }

            break;
        default:
            rt = BAD_DISK_COMMAND;
            break;
    }
    return rt;
}


/*********************************************************************************************************
** 函數(shù)名稱: IDECammand
** 功能描述: 底層驅(qū)動(dòng)程序與上層的接口程序
**
** 輸 入: Cammand:DISK_INIT:驅(qū)動(dòng)程序初始化
**                 DISK_CLOSE:關(guān)閉驅(qū)動(dòng)器(移除驅(qū)動(dòng)程序)                 
**                 DISK_CREATE_BOOT_SECTOR:重建引導(dǎo)扇區(qū)
**                 DISK_READ_SECTOR:讀扇區(qū)
**                 DISK_WRITE_SECTOR:寫(xiě)扇區(qū)
**        Parameter:剩余參數(shù)
** 輸 出: DISK_READ_OK:讀扇區(qū)完成
**        DISK_READ_NOT_OK:讀扇區(qū)失敗
**        DISK_WRITE_OK:寫(xiě)扇區(qū)完成
**        DISK_WRITE_NOT_OK:寫(xiě)扇區(qū)失敗
**        DISK_INIT_OK:初始化完成
**        DISK_INIT_NOT_OK:初始化失敗
**        BAD_DISK_COMMAND:無(wú)效的命令
** 全局變量: 無(wú)
** 調(diào)用模塊: 無(wú)
**
** 作 者: 陳明計(jì)
** 日 期: 2003年9月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

        uint16 IDECammand(uint8 Cammand, void *Parameter)
{
    uint16 rt;
    Disk_RW_Parameter * Dp;
    Disk_Info *DiskInfo;
    
    Dp = (Disk_RW_Parameter *)Parameter;

    switch (Cammand)
    {
        case DISK_INIT:			/*設(shè)備初始化*/
            rt = DISK_INIT_NOT_OK;
            if(ATA[1].ATAIsOK == TRUE)					/*從設(shè)備(設(shè)備1)可用*/
			{
            	DiskInfo = GetEmptyDiskInfoAddr();;
            	if (DiskInfo != NULL)
            	{
                	DiskInfo->DiakCommand = IDECammand;
                	DiskInfo->RsvdForLow = GetVolumeFirstSect(1);/*獲取卷首扇區(qū)*/
                	rt = DISK_INIT_OK;
            	}
            }
            break;
        case DISK_CLOSE:		
            rt = RETURN_OK;
            break;
        case DISK_READ_SECTOR:	/*讀扇區(qū)*/
            rt = DISK_READ_NOT_OK;
            if(ATA_ReadSector(0,(uint16*)Dp->Buf, Dp->SectorIndex + Dp->RsvdForLow,1))
            {
                rt = DISK_READ_OK;
            }
            break;
        case DISK_WRITE_SECTOR:	/*寫(xiě)扇區(qū)*/
            rt = DISK_WRITE_NOT_OK;
            if(ATA_WriteSector(0,(uint16*)Dp->Buf, Dp->SectorIndex + Dp->RsvdForLow,1))
            {
               rt = DISK_WRITE_OK;
            }

            break;
        default:
            rt = BAD_DISK_COMMAND;
            break;
    }
    return rt;
}

/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品中文在线观看| 色悠悠亚洲一区二区| 国产精品视频一二| 亚洲综合激情小说| 久久精品一二三| 日韩精品在线看片z| 欧美日本一区二区在线观看| 91亚洲精华国产精华精华液| 亚洲国产经典视频| 国产日产欧美一区二区视频| 国产性色一区二区| 中文字幕国产一区二区| 国产精品全国免费观看高清| 免费亚洲电影在线| 成人教育av在线| 成人午夜视频在线观看| 99re8在线精品视频免费播放| 99国产欧美久久久精品| 91一区二区在线| 欧美视频第二页| 日韩免费视频一区| 国产精品麻豆99久久久久久| 9191久久久久久久久久久| 亚洲小说春色综合另类电影| 亚洲午夜精品在线| 韩国女主播一区| 高清视频一区二区| 成人手机电影网| 91色|porny| 欧美一二三区在线| 国产性天天综合网| 欧美精品一区二区久久久| 国产精品高清亚洲| 午夜精品一区二区三区三上悠亚| 久久精品免费看| 波多野结衣中文字幕一区二区三区 | 91首页免费视频| 欧美美女视频在线观看| 亚洲v中文字幕| 欧美日韩精品一区二区三区四区 | 国产精品自拍三区| 国产高清在线精品| 在线视频你懂得一区二区三区| 日韩精品一区二区在线观看| 国产精品欧美一区二区三区| 日韩精品电影在线观看| 成人av在线影院| 精品久久久久久久久久久久久久久久久 | 精品国产免费一区二区三区四区| 性久久久久久久久| 日韩avvvv在线播放| 国产真实精品久久二三区| 91国在线观看| 国产婷婷一区二区| 久久综合综合久久综合| 欧美调教femdomvk| 中文字幕中文乱码欧美一区二区 | 亚洲国产精品尤物yw在线观看| 国产精品99久久久| 精品福利在线导航| 天天免费综合色| 精品婷婷伊人一区三区三| 一色桃子久久精品亚洲| 国产v日产∨综合v精品视频| 日韩久久久精品| 奇米影视在线99精品| 欧美日韩一区在线观看| 亚洲国产一区视频| 日本韩国欧美一区二区三区| 亚洲丝袜精品丝袜在线| 成人黄色在线看| 国产精品久久久久国产精品日日| 国产aⅴ精品一区二区三区色成熟| 久久综合九色综合97婷婷女人| 久久国产婷婷国产香蕉| 欧美大尺度电影在线| 日本aⅴ亚洲精品中文乱码| 欧美一区二区三区视频| 日韩精品欧美精品| 日韩美女在线视频 | 国产精品亚洲一区二区三区在线| 欧美精品一区二区蜜臀亚洲| 国产精品影视网| 精品精品国产高清a毛片牛牛| 久久国产精品免费| 精品国产免费视频| 国产不卡一区视频| 亚洲精品福利视频网站| 欧美日韩另类一区| 一区二区三区四区在线免费观看| 91麻豆精品在线观看| 亚洲不卡一区二区三区| 日韩午夜电影在线观看| 国产麻豆精品久久一二三| 欧美激情综合在线| 色欧美88888久久久久久影院| 一区二区三区不卡在线观看| 精品视频在线看| 久久精品99国产精品| 欧美国产精品劲爆| 色哟哟精品一区| 蜜乳av一区二区| 国产精品理伦片| 欧美色中文字幕| 激情欧美日韩一区二区| 中文字幕欧美一区| 欧美一区二区在线播放| 丁香婷婷综合五月| 午夜视频久久久久久| 久久精品视频免费观看| 日韩黄色一级片| 国产成人午夜高潮毛片| 色哟哟一区二区| 日韩精品91亚洲二区在线观看| 久久中文字幕电影| 在线欧美日韩精品| 国产一区福利在线| 亚洲福利一区二区| 日韩一区中文字幕| 精品久久久久久久久久久久久久久 | 亚洲精品在线免费播放| av午夜精品一区二区三区| 蜜臀国产一区二区三区在线播放 | 欧美电影免费观看高清完整版在 | 国产精品一区免费视频| 亚洲成人av中文| 国产精品久99| 久久婷婷国产综合精品青草| 欧美日韩一区视频| 91麻豆产精品久久久久久 | 亚洲精品成人精品456| 久久亚洲二区三区| 51久久夜色精品国产麻豆| 色综合中文字幕国产 | 亚洲国产精品欧美一二99| 久久精品人人做人人综合 | 欧美变态凌虐bdsm| 欧美日韩不卡视频| 在线观看日韩av先锋影音电影院| 日本aⅴ精品一区二区三区| 一区二区三区中文在线| 欧美日韩午夜影院| av午夜精品一区二区三区| 国产精品一二二区| 国模无码大尺度一区二区三区| 婷婷中文字幕一区三区| 亚洲va国产va欧美va观看| 夜夜精品视频一区二区| 成人欧美一区二区三区小说| 成人欧美一区二区三区视频网页 | 亚洲一区二区av在线| 亚洲天堂av老司机| 亚洲日本欧美天堂| 亚洲免费视频中文字幕| 亚洲欧美日韩在线不卡| 亚洲精品v日韩精品| 亚洲精品精品亚洲| 亚洲国产精品天堂| 五月激情六月综合| 美女精品一区二区| 精品亚洲porn| 国产成人免费在线观看| 欧美人狂配大交3d怪物一区| 色婷婷综合久色| 中文字幕一区二区三区精华液| 色狠狠一区二区| 欧美日韩一区二区三区高清| 9191精品国产综合久久久久久| 欧美一区二区三区在线观看| 精品国精品国产尤物美女| 久久久久久免费毛片精品| 国产精品欧美精品| 亚洲另类春色校园小说| 日韩综合一区二区| 国产精品综合一区二区三区| 成人sese在线| 欧美日韩成人高清| 精品成人免费观看| 综合久久久久久| 日韩黄色在线观看| 丁香另类激情小说| 欧美午夜一区二区三区| 欧美成人福利视频| 成人欧美一区二区三区小说| 天堂成人免费av电影一区| 国产91精品露脸国语对白| 在线中文字幕一区| 久久久不卡网国产精品一区| 91麻豆精品秘密| 精品国产伦一区二区三区观看体验| 自拍偷拍国产精品| 亚洲国产精品久久久久秋霞影院 | 91成人免费在线视频| 日韩欧美一区在线| 综合久久国产九一剧情麻豆| 欧美aⅴ一区二区三区视频| 成人午夜激情视频| 日韩久久久精品| 亚洲国产一二三| 成人av网站免费|