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

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

?? dumpimage.c

?? S3C2450BSP開(kāi)發(fā)包,里面有很多資料??梢蕴峁┐蠹覅⒖枷?。有什么需要解決問(wèn)題??梢月?lián)系我QQ:314661
?? C
字號(hào):
// testapp.cpp : Defines the entry point for the application.
//

#pragma optimize("", off)

#include <windows.h>
#include <nkintr.h>
#include <stdio.h>
#include <s3c2450.h>
#include "VFLBuffer.h"
#include "WMRTypes.h"
#include "VFL.h"
#include "HALWrapper.h"

#define DUMPOS
#define DUMPFS

#define K9G8G08
//#define K9LAG08
//#define K9GAG08
//#define K9HAG08

#ifdef K9G8G08
	#define PAGESIZE2K				1
	#define SPECIAL_AREA_START_L 	10
	#define SPECIAL_AREA_SIZE_L 	100
	#define FTL_AREA_START_L		216
	#define FTL_AREA_SIZE_L			1832
	#define PAGES_PER_SUBLK_L 		128
	
	#define SECTORS_PER_PAGE_L 		4
	#define BYTES_PER_SECTOR_L		512
	#define BYTES_PER_SPARE_L		16
	#define BYTES_PER_SPARE_PAGE_L	128
	
	#define USE2PLANE_L
#endif

#ifdef K9LAG08
	#define PAGESIZE2K				1
	#define SPECIAL_AREA_START_L 	10
	#define SPECIAL_AREA_SIZE_L 	50
	#define FTL_AREA_START_L		166
	#define FTL_AREA_SIZE_L			1882
	#define PAGES_PER_SUBLK_L 		256
	
	#define SECTORS_PER_PAGE_L 		4
	#define BYTES_PER_SECTOR_L		512
	#define BYTES_PER_SPARE_L		16
	#define BYTES_PER_SPARE_PAGE_L	128
	
	#define USE2PLANE_L
#endif

#ifdef K9HAG08
	#define PAGESIZE2K				1
	#define SPECIAL_AREA_START_L 	10
	#define SPECIAL_AREA_SIZE_L 	25
	#define FTL_AREA_START_L		90
	#define FTL_AREA_SIZE_L			934
	#define PAGES_PER_SUBLK_L 		512
	
	#define SECTORS_PER_PAGE_L 		4
	#define BYTES_PER_SECTOR_L		512
	#define BYTES_PER_SPARE_L		16
	#define BYTES_PER_SPARE_PAGE_L	128
	
	#define USE2PLANE_L
#endif

#ifdef K9GAG08
	#define PAGESIZE4K				1
	#define SPECIAL_AREA_START_L 	10
	#define SPECIAL_AREA_SIZE_L 	100
	#define FTL_AREA_START_L		216
	#define FTL_AREA_SIZE_L			1832
	#define PAGES_PER_SUBLK_L 		128
	
	#define SECTORS_PER_PAGE_L 		8
	#define BYTES_PER_SECTOR_L		512
	#define BYTES_PER_SPARE_L		16
	#define BYTES_PER_SPARE_PAGE_L	128
	
	#define USE2PLANE_L
#endif

void ReadPage(DWORD nVpn, unsigned char * pData, unsigned char * pSpare)
{
	Buffer 		pBuf;
	VFLPacket   stPacket;
	UINT32      nResult;

#ifdef PAGESIZE4K
	#ifdef USE2PLANE_L    
		pBuf.nBitmap = 0xFFFF;
	#else
		pBuf.nBitmap = 0xFF;
	#endif
#else
	#ifdef USE2PLANE_L    
		pBuf.nBitmap = 0xFF;
	#else
		pBuf.nBitmap = 0xF;
	#endif
#endif

	pBuf.eStatus = BUF_AUX;
	pBuf.nBank = 0;

	// Read Main Data Area
	pBuf.pData = pData;
	pBuf.pSpare = NULL;
	
	do {
	    /* VFL_Read */
	    stPacket.nCtrlCode  = PM_HAL_VFL_READ;
	    stPacket.nVbn       = 0;            // Not used
	    stPacket.nVpn       = nVpn;
	    stPacket.pBuf       = &pBuf;
	    stPacket.nSrcVpn    = 0;
	    stPacket.nDesVpn    = 0;
	    stPacket.bCleanCheck= FALSE32;
	
	    KernelIoControl(IOCTL_POCKETSTOREII_CMD,  /* IO Control Code */
	                    &stPacket,                /* Input buffer (Additional Control Code) */
	                    sizeof(VFLPacket),        /* Size of Input buffer */
	                    NULL,                     /* Output buffer */
	                    0,                        /* Size of Output buffer */
	                    &nResult);                /* Error Return */
	                    
	    if (nResult != VFL_SUCCESS)
	    {
	        RETAILMSG(1, ((TEXT("[VFLP:ERR]  VFL_Read() failure. ERR Code=%x\r\n"), nResult)));
	        break;
	    }

	} while(0);

	// Read Spare Area
	pBuf.pData = NULL;
	pBuf.pSpare = pSpare;

	do {
	    /* VFL_Read */
	    stPacket.nCtrlCode  = PM_HAL_VFL_READ;
	    stPacket.nVbn       = 0;            // Not used
	    stPacket.nVpn       = nVpn;
	    stPacket.pBuf       = &pBuf;
	    stPacket.nSrcVpn    = 0;
	    stPacket.nDesVpn    = 0;
	    stPacket.bCleanCheck= FALSE32;
	
	    KernelIoControl(IOCTL_POCKETSTOREII_CMD,  /* IO Control Code */
	                    &stPacket,                /* Input buffer (Additional Control Code) */
	                    sizeof(VFLPacket),        /* Size of Input buffer */
	                    NULL,                     /* Output buffer */
	                    0,                        /* Size of Output buffer */
	                    &nResult);                /* Error Return */
	                    
	    if (nResult != VFL_SUCCESS)
	    {
	        RETAILMSG(1, ((TEXT("[VFLP:ERR]  VFL_Read() failure. ERR Code=%x\r\n"), nResult)));
	        break;
	    }

	} while(0);
}

BOOL32 CheckAllFF( unsigned char * pMBuf, DWORD size )
{
	DWORD i;

	for ( i = 0; i < size; i++ )
	{
		if ( *(pMBuf + i) == 0xFF )
		{
			continue;
		}
		else
		{
			return FALSE32;
		}
	}
	return TRUE32;
}

int WINAPI WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR     lpCmdLine,
                     int       nCmdShow)
{
	register int nVpn;

	FILE *pFileOutPtr = NULL;

	int nFileLength;

	char *cBuffer = NULL;

	#ifdef USE2PLANE_L    
    UINT8	pData[(SECTORS_PER_PAGE_L*BYTES_PER_SECTOR_L)*2];
    UINT8	pSpare[(SECTORS_PER_PAGE_L*BYTES_PER_SPARE_L)*2];
	#else
    UINT8	pData[(SECTORS_PER_PAGE_L*BYTES_PER_SECTOR_L)];
    UINT8	pSpare[(SECTORS_PER_PAGE_L*BYTES_PER_SPARE_L)];
	#endif

	DWORD	dwOSStartPage;
	DWORD	dwOSEndPage;
	DWORD	dwFTLStartPage;
	DWORD	dwFTLEndPage;

#ifdef DUMPOS
	// Extract OS Image routine...

	RETAILMSG(1,(TEXT("Dump OS Image\r\n")));

	pFileOutPtr = fopen("Temp/OSIMG.IMG", "wb");
	if (!pFileOutPtr)
	{
		RETAILMSG(1,(TEXT("Storage Card/OSIMG.IMG file is not opened.!!!\r\n")));
		goto Fail;
	}

	fseek(pFileOutPtr, 0, SEEK_SET);

	dwOSStartPage = SPECIAL_AREA_START_L * PAGES_PER_SUBLK_L;
	dwOSEndPage = (SPECIAL_AREA_START_L+SPECIAL_AREA_SIZE_L) * PAGES_PER_SUBLK_L - 1;

	RETAILMSG(1,(TEXT("OS Area is from %d to %d\r\n"), dwOSStartPage, dwOSEndPage));
	RETAILMSG(1,(TEXT("Scanning...\r\n")));
	// Scan All FF area
	for ( nVpn = dwOSEndPage; nVpn > dwOSStartPage; nVpn-- )
	{
		memset(pData, 0xFF, sizeof(pData));
		memset(pSpare, 0xFF, sizeof(pSpare));
		ReadPage( nVpn, pData, pSpare );
		if ( CheckAllFF(pData, sizeof(pData)) == TRUE32 && CheckAllFF(pSpare, sizeof(pSpare)) ) // TRUE32 means All FF
		{
			continue;
		}
		else
		{
			break;
		}
	}
	dwOSEndPage = nVpn + 1;

	RETAILMSG(1,(TEXT("Read Sector from %d to %d\r\n"), dwOSStartPage, dwOSEndPage));

	for( nVpn=dwOSStartPage; nVpn<dwOSEndPage; nVpn++ )
	{
//		RETAILMSG(1,(TEXT("Read Page %d\r\n"), nVpn));
		RETAILMSG(1,(TEXT(" %02d Percent Completed"), ((nVpn - dwOSStartPage)*100)/(dwOSEndPage - dwOSStartPage)));
		
		memset(pData, 0xFF, sizeof(pData));
		memset(pSpare, 0xFF, sizeof(pSpare));

		ReadPage( nVpn, pData, pSpare );
		
#ifdef USE2PLANE_L    
		// Write First plane
//		RETAILMSG(1,(TEXT("Write First plane : page number (%d) mem (0x%x)\r\n"), nVpn*2, (nVpn-dwOSStartPage)*(2048+64)));
		fwrite(pData, sizeof(char), (SECTORS_PER_PAGE_L*BYTES_PER_SECTOR_L), pFileOutPtr);
		fwrite(pSpare, sizeof(char), (SECTORS_PER_PAGE_L*BYTES_PER_SPARE_L), pFileOutPtr);

		// Write Second plane
//		RETAILMSG(1,(TEXT("Write Second plane : page number (%d) mem (0x%x)\r\n"), nVpn*2+128, (nVpn-dwOSStartPage+128)*(2048+64)));
		fwrite(pData+(SECTORS_PER_PAGE_L*BYTES_PER_SECTOR_L), sizeof(char), (SECTORS_PER_PAGE_L*BYTES_PER_SECTOR_L), pFileOutPtr);
		fwrite(pSpare+(SECTORS_PER_PAGE_L*BYTES_PER_SPARE_L), sizeof(char), (SECTORS_PER_PAGE_L*BYTES_PER_SPARE_L), pFileOutPtr);
#else
		// Write First plane
//		RETAILMSG(1,(TEXT("Write First plane : page number (%d) mem (0x%x)\r\n"), nVpn*2, (nVpn-dwOSStartPage)*(2048+64)));
		fwrite(pData, sizeof(char), (SECTORS_PER_PAGE_L*BYTES_PER_SECTOR_L), pFileOutPtr);
		fwrite(pSpare, sizeof(char), (SECTORS_PER_PAGE_L*BYTES_PER_SPARE_L), pFileOutPtr);
#endif
		RETAILMSG(1,(TEXT("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b")));
	}

	if (pFileOutPtr) fclose(pFileOutPtr);
	
	RETAILMSG(1,(TEXT("Dump OS Image Finished\r\n")));

#endif

#ifdef DUMPFS
	// Extract FileSystem Image routine...

	RETAILMSG(1,(TEXT("Dump FTL Image\r\n")));

	pFileOutPtr = fopen("Temp/FTLIMG.IMG", "wb");
	if (!pFileOutPtr)
	{
		RETAILMSG(1,(TEXT("Storage Card/FTLIMG.IMG file is not opened.!!!\r\n")));
		goto Fail;
	}
	
	fseek(pFileOutPtr, 0, SEEK_SET);

	dwFTLStartPage = FTL_AREA_START_L * PAGES_PER_SUBLK_L;
	dwFTLEndPage = (FTL_AREA_START_L+FTL_AREA_SIZE_L) * PAGES_PER_SUBLK_L - 1;

	RETAILMSG(1,(TEXT("FTL Area is from %d to %d\r\n"), dwFTLStartPage, dwFTLEndPage));
	RETAILMSG(1,(TEXT("Scanning...\r\n")));
	// Scan All FF area
	for ( nVpn = dwFTLEndPage; nVpn > dwFTLStartPage; nVpn-- )
	{
		memset(pData, 0xFF, sizeof(pData));
		memset(pSpare, 0xFF, sizeof(pSpare));
		ReadPage( nVpn, pData, pSpare );
		if ( CheckAllFF(pData, sizeof(pData)) == TRUE32 && CheckAllFF(pSpare, sizeof(pSpare)) ) // TRUE32 means All FF
		{
			continue;
		}
		else
		{
			break;
		}
	}
	dwFTLEndPage = nVpn + 1;

	RETAILMSG(1,(TEXT("Read Sector from %d to %d\r\n"), dwFTLStartPage, dwFTLEndPage));
	
	for( nVpn=dwFTLStartPage; nVpn<dwFTLEndPage; nVpn++ )
	{
//		RETAILMSG(1,(TEXT("Read Page %d\r\n"), nVpn));
		RETAILMSG(1,(TEXT(" %02d Percent Completed"), ((nVpn - dwFTLStartPage)*100)/(dwFTLEndPage - dwFTLStartPage)));
		
		memset(pData, 0xFF, sizeof(pData));
		memset(pSpare, 0xFF, sizeof(pSpare));

		ReadPage( nVpn, pData, pSpare );

#ifdef USE2PLANE_L    
		// Write First plane
//		RETAILMSG(1,(TEXT("Write First plane : page number (%d) mem (0x%x)\r\n"), nVpn*2, (nVpn-dwOSStartPage)*(2048+64)));
		fwrite(pData, sizeof(char), (SECTORS_PER_PAGE_L*BYTES_PER_SECTOR_L), pFileOutPtr);
		fwrite(pSpare, sizeof(char), (SECTORS_PER_PAGE_L*BYTES_PER_SPARE_L), pFileOutPtr);

		// Write Second plane
//		RETAILMSG(1,(TEXT("Write Second plane : page number (%d) mem (0x%x)\r\n"), nVpn*2+128, (nVpn-dwOSStartPage+128)*(2048+64)));
		fwrite(pData+(SECTORS_PER_PAGE_L*BYTES_PER_SECTOR_L), sizeof(char), (SECTORS_PER_PAGE_L*BYTES_PER_SECTOR_L), pFileOutPtr);
		fwrite(pSpare+(SECTORS_PER_PAGE_L*BYTES_PER_SPARE_L), sizeof(char), (SECTORS_PER_PAGE_L*BYTES_PER_SPARE_L), pFileOutPtr);
#else
		// Write First plane
//		RETAILMSG(1,(TEXT("Write First plane : page number (%d) mem (0x%x)\r\n"), nVpn*2, (nVpn-dwOSStartPage)*(2048+64)));
		fwrite(pData, sizeof(char), (SECTORS_PER_PAGE_L*BYTES_PER_SECTOR_L), pFileOutPtr);
		fwrite(pSpare, sizeof(char), (SECTORS_PER_PAGE_L*BYTES_PER_SPARE_L), pFileOutPtr);
#endif
		RETAILMSG(1,(TEXT("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b")));
	}

	if (pFileOutPtr) fclose(pFileOutPtr);
	
	RETAILMSG(1,(TEXT("Dump FTL Image Finished\r\n")));
#endif

	return 0;


Fail:
	RETAILMSG(1,(TEXT("WMR_RW_test is failed.!!\r\n")));
	if (pFileOutPtr) fclose(pFileOutPtr);
	return 0;

}



#pragma optimize("", on)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩黄色小视频| 欧美三级乱人伦电影| 国模一区二区三区白浆| 老司机免费视频一区二区| 亚洲1区2区3区视频| 亚洲国产欧美另类丝袜| 亚洲国产日韩精品| 日一区二区三区| 日韩av在线免费观看不卡| 视频一区国产视频| 日本成人在线电影网| 老司机精品视频在线| 激情综合色综合久久综合| 国产原创一区二区三区| 国产成人在线视频网站| 成人黄色一级视频| 色综合天天做天天爱| 精品视频一区二区三区免费| 91精品国产综合久久蜜臀| 欧美成va人片在线观看| 久久久青草青青国产亚洲免观| 国产欧美综合在线观看第十页 | 亚洲欧美日韩久久| 亚洲美女在线一区| 视频一区视频二区在线观看| 极品销魂美女一区二区三区| 成人免费毛片aaaaa**| 91精品福利视频| 在线播放中文字幕一区| 国产亚洲综合av| 国产麻豆91精品| 99久久精品情趣| 欧美日韩成人综合在线一区二区| 欧美一区二区精美| 久久亚洲一区二区三区四区| 亚洲视频 欧洲视频| 亚洲第一久久影院| 国内精品久久久久影院薰衣草| 9l国产精品久久久久麻豆| 欧美久久久影院| 国产精品系列在线| 亚洲bdsm女犯bdsm网站| 国产又粗又猛又爽又黄91精品| 99re热这里只有精品视频| 337p亚洲精品色噜噜噜| 国产精品视频在线看| 日韩综合小视频| 成人黄动漫网站免费app| 欧美一区永久视频免费观看| 中文字幕精品一区| 日本视频在线一区| 91丝袜美腿高跟国产极品老师 | 国产在线麻豆精品观看| 91污在线观看| 精品福利一区二区三区| 亚洲欧洲制服丝袜| 国产精品资源在线| 欧美丰满美乳xxx高潮www| 国产情人综合久久777777| 日韩影视精彩在线| av一二三不卡影片| 欧美精品一区视频| 丝袜亚洲精品中文字幕一区| 波多野结衣亚洲| 久久久久久久免费视频了| 丝袜美腿亚洲一区| 色综合久久久久网| 国产视频一区在线观看| 水蜜桃久久夜色精品一区的特点| 成人涩涩免费视频| 精品国产露脸精彩对白| 日韩成人午夜电影| 欧美伊人久久大香线蕉综合69| 中文字幕乱码久久午夜不卡| 久久精品国产**网站演员| 欧美日韩黄色一区二区| 综合久久久久久| 成人毛片在线观看| 久久综合色综合88| 久久99国产乱子伦精品免费| 欧美男同性恋视频网站| 一区二区日韩电影| av在线播放一区二区三区| 国产欧美日韩中文久久| 久久99久久99| 精品国产不卡一区二区三区| 日本不卡一二三| 欧美精品久久天天躁| 亚洲国产精品视频| 在线观看中文字幕不卡| 亚洲天堂免费在线观看视频| 成人高清视频在线观看| 国产精品美女www爽爽爽| 高清国产一区二区| 欧美激情一区不卡| 成人白浆超碰人人人人| 日本一区二区三区四区在线视频 | 波多野结衣亚洲一区| 国产欧美一区视频| 国产成人精品免费一区二区| 久久免费看少妇高潮| 国产馆精品极品| 国产片一区二区| 不卡一区二区三区四区| 亚洲图片激情小说| 日本久久一区二区三区| 亚洲第一精品在线| 日韩一区国产二区欧美三区| 日本一不卡视频| 日韩片之四级片| 精品在线播放免费| 国产欧美日韩中文久久| 99re视频这里只有精品| 亚洲在线免费播放| 4438成人网| 精品一区二区三区免费毛片爱| 久久这里只有精品视频网| 国产河南妇女毛片精品久久久 | 久久精品国产色蜜蜜麻豆| 精品国产麻豆免费人成网站| 国产宾馆实践打屁股91| 日韩毛片高清在线播放| 欧美偷拍一区二区| 另类欧美日韩国产在线| 欧美激情一区二区三区在线| 色屁屁一区二区| 日韩av一级电影| 久久众筹精品私拍模特| 91影院在线观看| 午夜精品久久一牛影视| 精品国产一区久久| 99国产精品一区| 日韩高清一级片| 国产三级一区二区| 日本精品一区二区三区四区的功能| 手机精品视频在线观看| 精品国产91乱码一区二区三区| 成人免费三级在线| 亚洲午夜一区二区| 久久久久久免费毛片精品| 一本久道久久综合中文字幕| 日韩不卡一二三区| 国产精品传媒在线| 欧美精品免费视频| 成人动漫视频在线| 日韩电影在线免费观看| 中文字幕第一区二区| 欧美精品日韩一区| jiyouzz国产精品久久| 日本午夜精品一区二区三区电影| 欧美激情一区二区三区不卡 | 久久精品亚洲精品国产欧美kt∨| 91农村精品一区二区在线| 日韩精品电影一区亚洲| 国产精品久久久久婷婷| 欧美一卡2卡三卡4卡5免费| 不卡在线观看av| 精品综合久久久久久8888| 一区二区三区波多野结衣在线观看| wwww国产精品欧美| 欧美嫩在线观看| 91小视频免费看| 国产原创一区二区三区| 午夜精品久久久久久久久久| 日本一区二区三区dvd视频在线| 亚洲午夜在线电影| 国产精品女同互慰在线看| 欧美刺激脚交jootjob| 欧美视频在线观看一区二区| 成人激情文学综合网| 麻豆国产一区二区| 亚洲午夜电影在线观看| **性色生活片久久毛片| 久久久久久黄色| 欧美一区二视频| 欧美手机在线视频| 99国产精品久久久久| 风流少妇一区二区| 久久66热偷产精品| 日韩精品免费专区| 亚洲一区av在线| 亚洲免费观看高清| 亚洲欧洲日韩一区二区三区| 国产欧美日韩激情| 精品久久久久久最新网址| 91精品国产综合久久久久久久久久| 在线观看国产精品网站| 91蜜桃婷婷狠狠久久综合9色| 国产精品影视在线观看| 国产一区欧美二区| 久草这里只有精品视频| 看片的网站亚洲| 免费精品视频最新在线| 日韩经典一区二区| 午夜成人在线视频| 亚洲一区av在线| 亚欧色一区w666天堂| 亚洲1区2区3区视频| 日日夜夜一区二区| 免费在线观看日韩欧美|