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

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

?? ata.c

?? 詳細介紹CF卡和IDE硬盤及相應軟件模塊CF的設計思想及實現過程。
?? C
字號:
/****************************************Copyright (c)**************************************************
**                               廣州周立功單片機發展有限公司
**                                     研    究    所
**                                        ARM開發組
**
**                                 http://www.zlgmcu.com
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: flash.c
**創   建   人: 陳明計
**最后修改日期:  2003年9月3日
**描        述: FAT文件系統在PC上編譯的軟盤驅動程序(底層驅動)
**              
**--------------歷史版本信息----------------------------------------------------------------------------
** 創建人: 陳明計
** 版  本: V1.0
** 日 期: 2003年9月3日
** 描 述: 原始版本
**
**--------------當前版本修訂------------------------------------------------------------------------------
** 修改人: 
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

#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;	
}

/*********************************************************************************************************
** 函數名稱: CFCammand
** 功能描述: 底層驅動程序與上層的接口程序
**
** 輸 入: Cammand:DISK_INIT:驅動程序初始化
**                 DISK_CLOSE:關閉驅動器(移除驅動程序)                 
**                 DISK_CREATE_BOOT_SECTOR:重建引導扇區
**                 DISK_READ_SECTOR:讀扇區
**                 DISK_WRITE_SECTOR:寫扇區
**        Parameter:剩余參數
** 輸 出: DISK_READ_OK:讀扇區完成
**        DISK_READ_NOT_OK:讀扇區失敗
**        DISK_WRITE_OK:寫扇區完成
**        DISK_WRITE_NOT_OK:寫扇區失敗
**        DISK_INIT_OK:初始化完成
**        DISK_INIT_NOT_OK:初始化失敗
**        BAD_DISK_COMMAND:無效的命令
** 全局變量: 無
** 調用模塊: 無
**
** 作 者: 陳明計
** 日 期: 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:			/*設備初始化*/
            rt = DISK_INIT_NOT_OK;
            if(ATA[0].ATAIsOK == TRUE)				/*主設備(設備0)可用*/
			{
            	DiskInfo = GetEmptyDiskInfoAddr();
            	if (DiskInfo != NULL)
            	{
                	DiskInfo->DiakCommand = CFCammand;
                	DiskInfo->RsvdForLow = GetVolumeFirstSect(0);/*獲取卷首扇區*/
                	rt = DISK_INIT_OK;
            	}
	        }
            break;
        case DISK_CLOSE:		
            rt = RETURN_OK;
            break;
        case DISK_READ_SECTOR:	/*讀扇區*/
            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:	/*寫扇區*/
            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;
}


/*********************************************************************************************************
** 函數名稱: IDECammand
** 功能描述: 底層驅動程序與上層的接口程序
**
** 輸 入: Cammand:DISK_INIT:驅動程序初始化
**                 DISK_CLOSE:關閉驅動器(移除驅動程序)                 
**                 DISK_CREATE_BOOT_SECTOR:重建引導扇區
**                 DISK_READ_SECTOR:讀扇區
**                 DISK_WRITE_SECTOR:寫扇區
**        Parameter:剩余參數
** 輸 出: DISK_READ_OK:讀扇區完成
**        DISK_READ_NOT_OK:讀扇區失敗
**        DISK_WRITE_OK:寫扇區完成
**        DISK_WRITE_NOT_OK:寫扇區失敗
**        DISK_INIT_OK:初始化完成
**        DISK_INIT_NOT_OK:初始化失敗
**        BAD_DISK_COMMAND:無效的命令
** 全局變量: 無
** 調用模塊: 無
**
** 作 者: 陳明計
** 日 期: 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:			/*設備初始化*/
            rt = DISK_INIT_NOT_OK;
            if(ATA[1].ATAIsOK == TRUE)					/*從設備(設備1)可用*/
			{
            	DiskInfo = GetEmptyDiskInfoAddr();;
            	if (DiskInfo != NULL)
            	{
                	DiskInfo->DiakCommand = IDECammand;
                	DiskInfo->RsvdForLow = GetVolumeFirstSect(1);/*獲取卷首扇區*/
                	rt = DISK_INIT_OK;
            	}
            }
            break;
        case DISK_CLOSE:		
            rt = RETURN_OK;
            break;
        case DISK_READ_SECTOR:	/*讀扇區*/
            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:	/*寫扇區*/
            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
********************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美精品一区| 美女被吸乳得到大胸91| 丝袜美腿亚洲综合| 国内精品久久久久影院一蜜桃| 日韩一区二区免费电影| 五月婷婷另类国产| 久久婷婷国产综合精品青草| 午夜精品福利久久久| 亚洲国产精品麻豆| 精品三级在线观看| 色网综合在线观看| 一区二区三区美女视频| 欧美色视频一区| 韩国女主播成人在线观看| 麻豆成人在线观看| 国产很黄免费观看久久| 一级日本不卡的影视| 一区二区三区中文免费| 亚洲国产精品一区二区尤物区| 亚洲一卡二卡三卡四卡| 久久夜色精品一区| 中文字幕一区二区在线观看 | 精品国产乱码久久久久久影片| 成人永久免费视频| 亚洲成人av资源| 色综合久久天天综合网| 欧美性猛片xxxx免费看久爱| 国产经典欧美精品| 91色在线porny| 舔着乳尖日韩一区| 精品中文av资源站在线观看| 亚洲午夜精品网| 久久精品国产网站| 国产免费观看久久| 亚洲国产综合在线| 国产精品影视在线| 国产麻豆成人传媒免费观看| 一区二区三区在线播| 午夜精品视频一区| 成人激情动漫在线观看| 久久99精品国产.久久久久| 国产成人av电影免费在线观看| 亚洲国产欧美在线| 国产一区激情在线| 欧美在线观看你懂的| 在线免费观看日本一区| 日韩精品一区二区三区中文精品| 欧美剧情电影在线观看完整版免费励志电影| 美女mm1313爽爽久久久蜜臀| 91亚洲男人天堂| 日韩久久精品一区| 亚洲视频一区二区在线| 国产精品剧情在线亚洲| 亚洲午夜久久久久久久久久久| 亚洲成人自拍一区| 91蝌蚪porny九色| 久久精品人人做人人综合| 久久久久亚洲综合| 久久人人超碰精品| 首页欧美精品中文字幕| 91老师国产黑色丝袜在线| 国产亚洲一二三区| 久久国产福利国产秒拍| 欧美一区二区三区白人| 99精品视频一区二区三区| 成人18视频日本| 久久久精品tv| 国产一区二区伦理片| 欧美xfplay| 蜜桃久久久久久久| 欧美久久久久中文字幕| 午夜欧美一区二区三区在线播放| 91在线视频观看| 中文字幕在线观看一区二区| 国产成a人无v码亚洲福利| 欧美一二三区精品| 日本不卡高清视频| 国产在线播放一区三区四| 欧美一区二区三区公司| 青青国产91久久久久久| 欧美一卡二卡在线| 蜜桃视频免费观看一区| 久久一区二区三区四区| 国产一区二区毛片| 国产精品天天看| 亚洲黄网站在线观看| 久久99久久精品欧美| 51精品国自产在线| 1区2区3区欧美| 91免费观看在线| 一区二区三区在线视频播放| 色欧美片视频在线观看在线视频| 亚洲色图制服诱惑| 欧美日高清视频| 中文字幕不卡在线| 日韩主播视频在线| 欧美一区二区三区免费视频| 韩国理伦片一区二区三区在线播放 | 琪琪久久久久日韩精品| 日韩欧美高清dvd碟片| 国产一区二区中文字幕| 亚洲欧美日韩在线不卡| 国产精品一级片| 国产精品激情偷乱一区二区∴| 色国产精品一区在线观看| 国产日韩欧美在线一区| 99久久伊人精品| 日韩在线一区二区三区| 久久久亚洲精华液精华液精华液 | 亚洲乱码精品一二三四区日韩在线| 91麻豆国产在线观看| 亚洲成av人片在线观看无码| 久久久精品影视| 在线观看国产91| 另类欧美日韩国产在线| 最好看的中文字幕久久| 这里只有精品视频在线观看| 成人午夜激情视频| 爽好久久久欧美精品| 亚洲图片激情小说| 久久婷婷一区二区三区| 色一情一伦一子一伦一区| 久久er99热精品一区二区| 亚洲人成亚洲人成在线观看图片 | 91伊人久久大香线蕉| 麻豆一区二区三| 亚洲黄色小说网站| 久久精子c满五个校花| 欧美高清你懂得| 99精品国产99久久久久久白柏| 国产专区综合网| 免费精品视频在线| 亚洲线精品一区二区三区八戒| 欧美激情一区二区三区蜜桃视频| 日韩欧美资源站| 欧美三级韩国三级日本三斤| 东方欧美亚洲色图在线| 激情av综合网| 久久国产精品72免费观看| 婷婷国产v国产偷v亚洲高清| 亚洲精品高清在线| 中文字幕精品一区二区精品绿巨人| 欧美大肚乱孕交hd孕妇| 欧美一区二区二区| 在线不卡免费欧美| 欧美在线色视频| 在线免费观看日韩欧美| 色综合天天综合网天天狠天天 | 久久国产剧场电影| 性感美女极品91精品| 悠悠色在线精品| 亚洲自拍偷拍九九九| 亚洲欧美国产77777| 亚洲色欲色欲www| 亚洲日本va在线观看| 日韩一区中文字幕| 樱花草国产18久久久久| 中文字幕亚洲精品在线观看 | 欧美女孩性生活视频| 欧洲一区在线观看| 在线视频国内自拍亚洲视频| 日本国产一区二区| 欧美久久免费观看| 精品99一区二区三区| 国产香蕉久久精品综合网| 欧美国产日本韩| 亚洲精品v日韩精品| 亚洲午夜一二三区视频| 日本三级亚洲精品| 成人免费在线观看入口| 亚洲精品国久久99热| 亚洲在线一区二区三区| 奇米影视7777精品一区二区| 韩国女主播成人在线观看| 丁香激情综合国产| 日本精品一级二级| 日韩一区二区三区在线| 国产日韩欧美麻豆| 亚洲人成网站在线| 天堂va蜜桃一区二区三区漫画版| 麻豆成人久久精品二区三区红| 韩国v欧美v日本v亚洲v| 91免费看`日韩一区二区| 欧美日韩一区二区三区四区| 欧美电视剧在线观看完整版| 国产精品乱子久久久久| 五月激情综合网| 国产很黄免费观看久久| 欧美日韩一本到| 国产欧美日韩精品在线| 一区二区三区美女视频| 另类综合日韩欧美亚洲| 成人免费看的视频| 91精品国产品国语在线不卡| 国产精品久久午夜| 久久草av在线| 欧美午夜精品一区二区蜜桃| 久久久久国产成人精品亚洲午夜| 亚洲国产色一区| 成人亚洲精品久久久久软件|