⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 image.h

📁 M-System DOC(Disk on a Chip) Flash芯片映像读写工具, 可以进行二片Flash芯片的内容互相拷贝, 提高烧录程序的效率.
💻 H
字号:
#ifndef __IMAGE__H__
#define __IMAGE__H__

#define EX_MAIN_SIZE	0x2000

#define EXE_LAST_TFFS	0x100
#define EXE_DATA_EMPTY	(EX_EXTRA_ERROR+1)
#define EXE_USAGE		(EX_EXTRA_ERROR+2)
#define EXE_END_OF_DATA	(EX_EXTRA_ERROR+3)
#define EXE_IMAGE		(EX_EXTRA_ERROR+4)
#define EXE_NOT_COMPATIBLE	(EX_EXTRA_ERROR+5)

#define MEDIA_HEADER_SIZE		64
#define PARTITION_HEADER_SIZE	64
#define UNIT_DATA_SIZE			16

#define MAX_FLOORS				4
#define MAX_PARTS				4

typedef struct
{
EXWORD		wFlashType;		/* Flash type */
EXDWORD		dwMediaSize;	/* Media size */
EXDWORD		dwOsakver;		/* Osak version */
EXBYTE		bFloors;		/* Number of floors */
EXBYTE		bMediaType;		/* Media type */
EXBYTE		bPercentUsed;	/* Percent capacity used */
EXBYTE		bBdtls;			/* Number of BDTL partitions */
EXBYTE		bBdks;			/* Number of BDK partitions */
}MediaHeader;

typedef struct
{
	EXDWORD	dwSize;			/* Partition size, in bytes */
	EXDWORD dwSpares;		/* No of spare units */
	EXDWORD dwFlags;		/* formatting flags */
	EXTEXT pProtKey[8];		/* Protection key */
	EXBYTE bProtType;		/* Protection type */
	EXWORD wSectorPerUnit;	/* logical unit length / 512 */
	EXDWORD dwMTDFlags;		/* MTD read/write flags */
}PartitionHeader;

typedef enum
{
	DT_FORMAT=1,	/* media header */
	DT_OTP,			/* OTP */
	DT_IPL,			/* IPL */
	DT_IPL_XL,		/* IPL with XL bit */
	DT_IPL_SA,		/* IPL with XL bit */
	DT_BDK,			/* sector of BDK partition */
	DT_BDTL,		/* sector of BDTL partition */
	DT_LAST=0xfe,		/* EOF */
	DT_INIT			/* doesn't written to image, used for initialization of PutImage */
}DataType;

typedef struct
{
	EXDWORD dwUnit;
	EXDWORD dwSector;
	EXWORD wDataLen;
	DataType dataType;
	EXBYTE bFloor;
	EXBYTE bPart;
}DataHeader;

typedef struct
{
	EXBYTE bPartType;	/* 0 - BDK, 1 - BDTL, 2 - empty */
	EXBYTE bPart;
	EXTEXT pPassword[8];
}Passwd;

typedef struct
{
	Passwd
#ifndef PUTIMAGE
		srcPass[2],
#endif
		tarPass[2],chPass[2];
	EXBYTE bSocketSrc,bSocketTar;	/* ==SOCKETS if not DOC */
	EXDWORD dwBusConfig;
	ExDevice imageDevSrc
#ifndef PUTIMAGE
		,imageDevTar
#endif
		;
#ifndef NO_SINGLE
	EXBYTE bSingle;					/* ==0xff if no single floor */
#endif
	EXBYTE bVerify;
}Params;

ExStatus EXAPI ImageSaftl();

/* Patch until ExSprintf will be added to X files */
#ifndef ExSprintf
#define ExSprintf sprintf
#endif /* ExSprintf */

#endif	/* __IMAGE__H__ */

⌨️ 快捷键说明

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