hardwareadaptationlayer.h

来自「NAND FLASH FAT文件系统建立范例」· C头文件 代码 · 共 55 行

H
55
字号


#ifndef _HARDWAREADAPTATIONLAYER_H_
#define _HARDWAREADAPTATIONLAYER_H_


#include "Common.h"
#include "HalUserDirective.h"
#define CHUNK_SIZE 528
#define CHUNK_DATA_SIZE 512
#define CHUNK_SPARE_SIZE 16


//typedef INT8 NFTL_Return;

//struct used to store device details
//**********************************************
typedef struct Device_Architecture
{
	UINT32 blockSize;
	UINT8 pagesInBlock;
	UINT8 manCode;
	UINT8 devCode;
	UINT16 numOfBlocks;
	UINT16 mainSize;
	UINT16 spareSize;
	UINT16 pageSize;
	UINT8 planNumber;
	UINT16 deviceFamily;
	UINT8 devicesNumber;
	UINT8 busWidth;
}DeviceArchitecture;
//******************************************************************/




NFTL_Return ReadPage(UINT16 BlockNumber, UINT8 PageNumber, UINT8 *buffer);
NFTL_Return WritePage(UINT16 BlockNumber, UINT8 PageNumber, UINT8 *buffer);
NFTL_Return CopyPage(UINT16 SourceBlockNumber, UINT8 SourcePageNumber,
	UINT32 DestinationBlockNumber, UINT8 DestinationPageNumber);
NFTL_Return GetPageStatus(UINT16 BlockNumber, UINT8 PageNumber, UINT8 *buffer);
NFTL_Return SetPageStatus(UINT16 BlockNumber, UINT8 PageNumber, UINT8 *buffer);
NFTL_Return BlockErase(UINT16 BlockNumber);
DeviceArchitecture GetDeviceArchitecture(void);
NFTL_Return RecognizeDevice(void);
 void CalculateAddress(UINT16 blockNumber, UINT8 pageNumber, UINT32 *returnAddress);
NFTL_Return HALInitialization(void);
NFTL_Return Unmount_HAL(void);
NFTL_Return FlushBuffer(void);

#define mCalculateAddress(BlockNumber,PageNumber) (((UINT32)(BlockNumber)<<14)+(((UINT32)(PageNumber))<<9))

#endif //_HARDWAREADAPTATIONLAYER_H_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?