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

📄 download.h

📁 MTK手机平台下载工具FLASHTOOL源码
💻 H
📖 第 1 页 / 共 2 页
字号:
 * 
 *    Rev 1.0   Apr 03 2002 22:38:50   mtk00288
 * Initial revision.
 *
 *******************************************************************************/
#ifndef _DOWNLOAD_H_
#define _DOWNLOAD_H_

/* DA Version */
#define DA_MAJOR_VER			0x02
#define DA_MINOR_VER			0x07

/* Max Number of Load Sections */
#define MAX_LOAD_SECTIONS		10

// Max Die Number of MCP 
#define MAX_DIE_IN_MCP			2

/* RETURN VALUE */
#define SOC_OK					0xC1
#define SOC_FAIL				0xCF
#define SYNC_CHAR				0xc0
#define CONT_CHAR				0x69
#define STOP_CHAR				0x96
#define ACK						0x5a
#define NACK					0xa5
#define UNKNOWN_CMD				0xbb

/* FLASH OPERATION STATUS */
typedef enum {
	 S_DONE = 0
	,S_PGM_FAILED
	,S_ERASE_FAILED
	,S_TIMEOUT
	,S_IN_PROGRESS
	,S_CMD_ERR
	,S_BLOCK_LOCKED_ERR
	,S_BLOCK_UNSTABLE
	,S_VPP_RANGE_ERR
	,S_INVALID_BEGIN_ADDR
	,S_INVALID_RANGE
	,S_PGM_AT_ODD_ADDR
	,S_PGM_WITH_ODD_LENGTH
	,S_BUFPGM_NO_SUPPORT
	,S_UNKNOWN_ERR
	,S_BAD_BLOCK
	,S_ECC_1BIT_CORRECT
	,S_ECC_2BITS_ERR
	,S_SPARE_CHKSUM_ERR
	,S_HW_COPYBACK_ERR
	,S_INVALID_PAGE_INDEX
	,S_NFI_NOT_SUPPORT
	,S_NFI_CS1_NOT_SUPPORT
	,S_NFI_16BITS_IO_NOT_SUPPORT
	,S_NO_GOOD_BLOCK_FOUND
	,S_SETUP_PLL_ERR
	,S_MOBILE_RAM_NOT_SUPPORT
	,S_RAM_FLOARTING
	,S_RAM_UNACCESSABLE
	,S_RAM_ERROR
	,S_DEVICE_NOT_FOUND
	,S_REACH_END_ADDR
	,S_BLOADER_IS_TOO_LARGE
	,S_SIBLEY_REWRITE_OBJ_MODE_REGION
	,S_SIBLEY_WRITE_B_HALF_IN_CTRL_MODE_REGION
	,S_SIBLEY_ILLEGAL_CMD
	,S_SIBLEY_PGM_AT_THE_SAME_REGIONS
	,STATUS_END
} STATUS_E;

/* COMMANDS */
#define DA_SPEED_CMD				0xD2
#define DA_MEM_CMD					0xD3
#define DA_FORMAT_CMD				0xD4
#define DA_WRITE_CMD				0xD5
#define DA_READ_CMD					0xD6
#define DA_WRITE_REG16_CMD			0xD7
#define DA_READ_REG16_CMD			0xD8
#define DA_FINISH_CMD				0xD9
#define DA_GET_DSP_VER_CMD			0xDA
#define DA_ENABLE_WATCHDOG_CMD		0xDB
#define DA_NFB_WRITE_BLOADER_CMD	0xDC
#define DA_NAND_IMAGE_LIST_CMD		0xDD
#define DA_NFB_WRITE_IMAGE_CMD		0xDE
#define DA_NAND_READPAGE_CMD		0xDF

/* SPEED_PARA */
typedef enum {
	UART_BAUD_921600	= 0x01,
	UART_BAUD_460800	= 0x02,
	UART_BAUD_230400	= 0x03,
	UART_BAUD_115200	= 0x04,
	UART_BAUD_57600		= 0x05,
	UART_BAUD_38400		= 0x06,
	UART_BAUD_19200		= 0x07,
	UART_BAUD_9600		= 0x08,
	UART_BAUD_4800		= 0x09,
	UART_BAUD_2400		= 0x0a,
	UART_BAUD_1200		= 0x0b,
	UART_BAUD_300		= 0x0c,
	UART_BAUD_110		= 0x0d
}UART_BAUDRATE;

typedef enum
{
	TIMEOUT_DATA = 0,
	CKSUM_ERROR,
	RX_BUFFER_FULL,
	TIMEOUT_CKSUM_LSB,
	TIMEOUT_CKSUM_MSB,
	ERASE_TIMEOUT,
	PROGRAM_TIMEOUT,
	RECOVERY_BUFFER_FULL,
	SB_AREA_ERROR,
	UNKNOWN_ERROR
}eRX_error;

typedef enum {
	 CS0 = 0
	,CS1
	,CS2
	,CS3
	,CS4
	,CS5
	,CS6
	,CS7
	,CS_WITH_DECODER
	,MAX_CS = CS_WITH_DECODER
	,HW_CHIP_SELECT_END
} HW_ChipSelect_E;

typedef enum {
	 HW_STORAGE_NOR = 0
	,HW_STORAGE_NAND
	,HW_STORAGE_TYPE_END
} HW_StorageType_E;

typedef enum {
	 HW_RAM_UNKNOWN = 0
	,HW_RAM_SRAM
	,HW_RAM_DRAM
	,HW_RAM_TYPE_END
} HW_RAMType_E;

typedef enum {
	 NUTL_READ_PAGE_SPARE = 0
	,NUTL_READ_PAGE_ONLY
	,NUTL_READ_SPARE_ONLY
	,NUTL_READ_PAGE_WITH_ECC
	,NUTL_VERIFY_AFTER_PROGRAM
	,NUTL_READ_FLAG_END
} NUTL_ReadFlag_E;

typedef enum {
	 NUTL_ERASE = 0
	,NUTL_FORCE_ERASE
	,NUTL_MARK_BAD_BLOCK
	,NUTL_ERASE_FLAG_END
} NUTL_EraseFlag_E;

// NOR flash device id 
typedef enum {
	 NOR_AM29DL323D = 0
	,NOR_AM29DL640D
	,NOR_ST_M29DW640D
	,NOR_AM29DL322GT
	,NOR_MB84VD23280FA
	,NOR_AM29PDL128G
	,NOR_MB84VD22280FE
	,NOR_MB84VP24491HK
	,NOR_AM50DL128CG
	,NOR_AM49DL3208GB
	,NOR_ST_M74DW66500B
	,NOR_INTEL_28F128L30_B
	,NOR_K5A3280YT
	,NOR_TH50VPF6782AASB
	,NOR_TH50VPF6783AASB
	,NOR_TV00578002AABD
	,NOR_TV00578003AABD
	,NOR_MB84VP24581HK
	,NOR_INTEL_28F640W30_B
	,NOR_AM49PDL127BH
	,NOR_AM49PDL129BH
	,NOR_M6MGD13BW66CDG
	,NOR_W19B322TM
	,NOR_W19B323TM
	,NOR_KAD060300B
	,NOR_K5J6316CTM
	,NOR_TH50VPF5682CDSB
	,NOR_TH50VPF5683CDSB
	,NOR_IS75V16F128GS32
	,NOR_M6MGT64BM34CDG
	,NOR_ST_M30L0T7000T0
	,NOR_ST_M30L0T7000B0
	,NOR_SHARP_LRS1862
	,NOR_SHARP_LRS1806A
	,NOR_AM49DL3208GT
	,NOR_S29PL032J
	,NOR_SHARP_LRS1828C
	,NOR_M6MGB64BM34CDG
	,NOR_SHARP_LRS18B0
	,NOR_SHARP_LRS1863
	,NOR_S71AL016D_T
	,NOR_S71AL016D_B
	,NOR_SHARP_LRS18C8A
	,NOR_INTEL_28F640L18_T
	,NOR_INTEL_28F128L18_T
	,NOR_INTEL_28F256L18_T
	,NOR_INTEL_28F640L18_B
	,NOR_INTEL_28F128L18_B
	,NOR_INTEL_28F256L18_B
	,NOR_INTEL_28F640L30_T
	,NOR_INTEL_28F128L30_T
	,NOR_INTEL_28F256L30_T
	,NOR_INTEL_28F640L30_B
	,NOR_INTEL_28F256L30_B
	,NOR_INTEL_28F320W30_T
	,NOR_INTEL_28F320W30_B
	,NOR_INTEL_28F640W30_T
	,NOR_INTEL_28F128W30_T
	,NOR_INTEL_28F128W30_B
	,NOR_INTEL_28F320W18_T
	,NOR_INTEL_28F320W18_B
	,NOR_INTEL_28F640W18_T
	,NOR_INTEL_28F640W18_B
	,NOR_INTEL_28F128W18_T
	,NOR_INTEL_28F128W18_B
	,NOR_M6MGD15BM34CDG
	,NOR_S71PL254J
	,NOR_TV0057A002AABD
	,NOR_TV0057A003AABD
	,NOR_W19B320ATB
	,NOR_W19B320ATT
	,NOR_S7_SV7E160XT
	,NOR_S7_SV7E160XB
	,NOR_S7_SV7E320XT
	,NOR_S7_SV7E320XB
	,NOR_S71GL032R3_T
	,NOR_S71GL032R4_B
	,NOR_S71GL032R1R2
	,NOR_TV00569002BABD
	,NOR_TV00569003BABD
	,NOR_TV00569002AABD
	,NOR_TV00569003AABD
	,NOR_INTEL_38F1010C0ZBL0
	,NOR_INTEL_28F1602C3BD70
	,NOR_TY0068B012APGG
	,NOR_TY0068B013APGG
	,NOR_S71PL127N
	,NOR_S7_SV6D2832UTA
	,NOR_S7_SV6D2832UBA
	,NOR_S7_SV6C2832UTA
	,NOR_S7_SV6C2832UBA
	,NOR_SHARP_LH28F16
    ,NOR_TV00578002DABD
    ,NOR_TV00578003DABD
    ,NOR_S71PL256N
    ,NOR_S71PL129N
    ,NOR_INTEL_PF48F50xxM0x0xx
    ,NOR_INTEL_PF48F50xxM0x1xx
    ,NOR_INTEL_PF48F40xxM0x0xx
    ,NOR_INTEL_PF48F40xxM0x1xx
	,NOR_LAST
	,NOR_UNKNOWN = 0xFFFF		// Unknown Device 
} NOR_DeviceID_E;

// NAND flash device id 
typedef enum {
	 NAND_K9F5608Q0C = 0
	,NAND_K9F5608X0C
	,NAND_K9F5616Q0C
	,NAND_K9F5616X0C
	,NAND_K9K1208X0C
	,NAND_K9K1G08X0A
	,NAND_K9F1G08Q0M
	,NAND_K9F1G08X0M
	,NAND_K9F1G16Q0M
	,NAND_K9F1G16X0M
	,NAND_K9F2G08X0M
	,NAND_K9F2G16X0M
	,NAND_K9K4G08Q0M
	,NAND_K9K4G08U0M
	,NAND_K9K4G16Q0M
	,NAND_K9K4G16U0M
	,NAND_TC58DVM82A1FT
	,NAND_TC58DVM92A1FT
	,NAND_TC58DVG02A1FT
	,NAND_TC58NVG0S3AFT
	,NAND_TH58NVG1S3AFT
	,NAND_HY27XS08561M
	,NAND_HY27XS08121M
	,NAND_HY27XA081G1M
	,NAND_HY27XA161G1M
	,NAND_ST128W3A
	,NAND_ST128W4A
	,NAND_ST256W3A
	,NAND_ST256W4A
	,NAND_ST512W3A
	,NAND_ST512W4A
	,NAND_ST01GW3A
	,NAND_ST01GW4A
	,NAND_ST512R3B
	,NAND_ST512W3B
	,NAND_ST512R4B
	,NAND_ST512W4B
	,NAND_ST01GR3B
	,NAND_ST01GW3B
	,NAND_ST01GR4B
	,NAND_ST01GW4B
	,NAND_ST02GR3B
	,NAND_ST02GW3B
	,NAND_ST02GR4B
	,NAND_ST02GW4B
	,NAND_ST04GR3B
	,NAND_ST04GW3B
	,NAND_ST04GR4B
	,NAND_ST04GW4B
	,NAND_ST08GR3B
	,NAND_ST08GW3B
	,NAND_ST08GR4B
	,NAND_ST08GW4B
	,NAND_K9F2808U0C
	,NAND_K9K8G08U0M
	,NAND_TH58NVG2D4BFT
	,NAND_HY27UF081G2M
	,NAND_TH58NVG1S8BFT
	,NAND_MT29F2G08AAC
	,NAND_MT29F4G08BAB
	,NAND_SUPERAND51208
	,NAND_SUPERAND51216
	,NAND_HYF33DS51280
	,NAND_HYF33DS1G80
	,NAND_HYF33DS1G16
	,NAND_LAST
	,NAND_UNKNOWN = 0xFFFF		// Unknown Device 
} NAND_DeviceID_E;

#endif

⌨️ 快捷键说明

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