📄 tidtv_flashmem.h
字号:
/*******************************************************************************
* @ModuleName :: TiDTV_FlashMem.h
*
* @Copyright :: Copyright 2005- Texas Instruments, Inc.
*
* @Description :: Constants and definitions for Flash Memory Programmer
*
* @History ::
*---------------------------------------
* 08-05-2005 W.Shi Created
*******************************************************************************/
#ifndef _TI_DTV_FLASH_MEM_H_
#define _TI_DTV_FLASH_MEM_H_
// FLASH STATUS BIT
#define TI_DTV_FLASH_DQ7 (1 << 7)
#define TI_DTV_FLASH_DQ6 (1 << 6)
#define TI_DTV_FLASH_DQ5 (1 << 5)
#define TI_DTV_FLASH_DQ4 (1 << 4)
#define TI_DTV_FLASH_DQ3 (1 << 3)
#define TI_DTV_FLASH_DQ2 (1 << 2)
#define TI_DTV_FLASH_DQ1 (1 << 1)
#define TI_DTV_FLASH_DQ0 (1)
#define TI_DTV_FLASH_DQE (TI_DTV_FLASH_DQ6 | TI_DTV_FLASH_DQ2)
// Word mode
#define TiDTV_FlashCmdReg555 (volatile USHORT *) (TI_DTV_FLASH_BASE_ADDR + (0x555 << 1))
#define TiDTV_FlashCmdReg2AA (volatile USHORT *) (TI_DTV_FLASH_BASE_ADDR + (0x2aa << 1))
#define TiDTV_FlashMemBaseAddr (volatile USHORT *) TI_DTV_FLASH_BASE_ADDR
#define TiDTV_FlashMemEndAddr (volatile USHORT *) (TI_DTV_FLASH_BASE_ADDR + (TI_DTV_FLASH_MEM_BYTE_SIZE / 2))
#define TiDTV_FlashMemReg(n) (volatile USHORT *) (TI_DTV_FLASH_BASE_ADDR + (n << 1))
#define TI_DTV_FLASH_CMD_55 0x55
#define TI_DTV_FLASH_CMD_AA 0xAA
#define TI_DTV_FLASH_CMD_80 0x80
#define TI_DTV_FLASH_CMD_BLOCK_PROTECT 0x9A
#define TI_DTV_FLASH_CMD_ERASE_CHIP 0x10
#define TI_DTV_FLASH_CMD_ERASE_BLOCK 0x30
#define TI_DTV_FLASH_CMD_RESET 0xF0
#define TI_DTV_FLASH_CMD_READ_ID 0x90
#define TI_DTV_FLASH_CMD_AUTO_PROGRAM 0xA0
#define TI_DTV_FLASH_CMD_ERASE_SUSPEND 0xB0
#define TI_DTV_FLASH_CMD_ERASE_RESUME 0x30
#define TI_DTV_FLASH_ERASE_DELAY_COUNT 0x8000
#define TI_DTV_FLASH_INTEL_HEX_START ':'
#define TI_DTV_FLASH_INTEL_HEX_DATA 0x00 // Data type
#define TI_DTV_FLASH_INTEL_HEX_EXTEND 0x04 // Extend type
#define TI_DTV_FLASH_MOTORLA_SFMT_START 0x53 // Start "S"
#define TI_DTV_FLASH_MOTORLA_SFMT_S1 0x31 // 16 bit address
#define TI_DTV_FLASH_MOTORLA_SFMT_S2 0x32 // 24 bit address
#define TI_DTV_FLASH_MOTORLA_SFMT_S3 0x33 // 32 bit address
#define TI_DTV_FLASH_MOTORLA_SFMT_S7 0x37 // S3 end
#define TI_DTV_FLASH_MOTORLA_SFMT_S8 0x38 // S2 end
#define TI_DTV_FLASH_MOTORLA_SFMT_S9 0x39 // S1 end
//----------------------------------------------------------
// Defined in 'TiDTV_FlashMem.c'
//
void TiDTV_FlashMemSoftReset(void);
void TiDTV_FlashMemGetDeviceID(USHORT *pMakerID, USHORT *pDeviceID);
int TiDTV_FlashMemProgramWord(USHORT *pAddr, USHORT Data);
int TiDTV_FlashMemProgram(USHORT *pDest, USHORT *pSource, int ByteCount);
int TiDTV_FlashMemEraseChip(void);
int TiDTV_FlashMemEraseBlock(USHORT *pBlockAddr);
int TiDTV_FlashMemErase(USHORT *pBaseAddr, int ByteCount);
#endif /* _TI_DTV_FLASH_MEM_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -