wts_flash.h
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:6k
源码类别:

DVD

开发平台:

C/C++

  1. /*****************************************************************************
  2. File Name   : tt_flash.h
  3. Description : FLASH header
  4.  
  5. Copyright (C) 2004 STMicroelectronics
  6. *****************************************************************************/
  7. /* Define to prevent recursive inclusion */
  8. #ifndef __TT_FLASH_H
  9. #define __TT_FLASH_H
  10. /* Includes ------------------------------------------------------------ */
  11. #include "stflash.h"
  12. /* Exported Types ------------------------------------------------------ */
  13. typedef struct {
  14.     U32  Ident;
  15.     U32  Resvd;
  16.     U32  Size;
  17.     U32  NumPrograms;
  18. } FlashHeader_t;
  19. typedef struct {
  20.     U8  Bank;           /* Bank number */
  21.     U32 Address;        /* Block start address */
  22.     U32 Length;         /* Length of block */
  23. } BlockInfo_t;
  24. typedef struct {
  25.     U8  Block;          /* Block number */
  26.     U32 Address;        /* flash address */
  27.     U32 Offset;         /* offset into readbuffer */
  28.     U32 Size;           /* number of bytes */
  29. } SectionInfo_t;
  30. #ifndef ST_5105
  31. /* Exported Constants -------------------------------------------------- */
  32. /* Temperorily placed here as missing in Device File*/
  33. #ifndef PIO_4_BASE_ADDRESS
  34.     #define PIO_4_BASE_ADDRESS              ST5100_PIO4_BASE_ADDRESS
  35. #endif
  36. #ifndef PIO_5_BASE_ADDRESS
  37.     #define PIO_5_BASE_ADDRESS              ST5100_PIO5_BASE_ADDRESS
  38. #endif
  39. /* Interrupt numbers */
  40. #ifndef PIO_4_INTERRUPT
  41.     #define PIO_4_INTERRUPT                 ST5100_PIO4_INTERRUPT
  42. #endif
  43. #ifndef PIO_5_INTERRUPT
  44.     #define PIO_5_INTERRUPT                 ST5100_PIO5_INTERRUPT
  45. #endif
  46. #endif
  47. /* Exported Variables -------------------------------------------------- */
  48. extern STFLASH_Handle_t FLASHHndl[2];
  49. extern ST_DeviceName_t  FLASHDeviceName[2];
  50. /* Exported Macros ----------------------------------------------------- */
  51. #define BANK0   0
  52. #ifndef ST_5105
  53. #define BANK1   1
  54. #endif
  55. #define FLASH_IDENT     0x12345678
  56. #define rayf
  57. #ifdef rayf
  58. typedef unsigned char       UBYTE;      /* Unsigned  8 bit quantity  */
  59. typedef   signed char        BYTE;      /* Signed    8 bit quantity  */
  60. typedef unsigned long  int  ULONG;      /* Unsigned 32 bit quantity  */
  61. typedef   signed long  int   LONG;      /* Signed   32 bit quantity  */
  62. typedef unsigned short     UINT16;      /* Unsigned 16 bit quantity  */
  63. typedef unsigned long  int UINT32;      /* Unsigned 32 bit quantity  */
  64. /* Type defs for filenames and parameters */
  65. typedef enum romtool_mode   {NULL_MODE, ERROR_MODE, ERASE, PROGRAM, VERIFY, READ, DUMP} ROMTOOL_MODE;
  66. typedef enum romtool_report {NULL_REPORT, ERROR_REPORT, FULL, REDUCED, NONE} ROMTOOL_REPORT;
  67. typedef enum romtool_board  {MiCo, STB3} ROMTOOL_BOARD;
  68. typedef enum romtool_image  {HexCode, BinCode, LNBList,LogoImage,LanguageImage,CHNList,All} ROMTOOL_IMAGE;
  69. typedef enum romtool_erase  {NULL_ERASE,ERASE_ALL,ERALNB,ERALOGO,ERACODE,ERALANGUAGE}ROMTOOL_ERASE;
  70. extern  BOOL report_verbose ;         /* reporting level              */
  71. #define MAX_FILENAME_LENGTH     100
  72. typedef char FILE_STRING[MAX_FILENAME_LENGTH];
  73. BOOL binFile;
  74. #endif
  75. /* Exported Functions -------------------------------------------------- */
  76. extern ST_ErrorCode_t   wts_FLASH_Close( U8 BankNum );
  77. extern ST_ErrorCode_t   wts_FLASH_GetParams( U8 BankNum, STFLASH_Params_t *FLASHParams_p );
  78. extern ST_ErrorCode_t   wts_FLASH_Init( U8 BankNum );
  79. extern ST_ErrorCode_t   wts_FLASH_Open( U8 BankNum );
  80. extern ST_ErrorCode_t   wts_FLASH_Term( BOOL ForceTerminate, U8 BankNum );
  81. extern ST_ErrorCode_t   wts_FLASH_SetupBlockInfo( void );
  82. extern U32              wts_FLASH_ReadFile( char *Filename );
  83. extern BOOL             wts_EraseFlash( BOOL EraseAll );
  84. extern BOOL             wts_ProgramFlash( void );
  85. extern BOOL             wts_VerifyFlash( void );
  86. extern BOOL             wts_EraseCodeFlash( BOOL EraseCode );
  87. extern BOOL             wts_EraseLNBFlash( BOOL Erase );
  88. extern BOOL             wts_EraseLogoFlash( BOOL Erase );
  89. extern BOOL             wts_EraseLanguageFlash( BOOL Erase );
  90. extern BOOL             wts_ProgramLNBFlash( void );
  91. extern BOOL             wts_ProgramAllFlash( void );
  92. extern BOOL             wts_ProgramLogoFlash( void );
  93. extern BOOL wts_ProgramLanguageFlash( char *Filename );
  94. #if 0
  95. extern BOOL             wts_ProgramLanguageFlash( void );
  96. #endif
  97. extern BOOL             wts_VerifyLNBFlash( void );
  98. extern BOOL             wts_VerifyAllFlash( void );
  99. extern BOOL             wts_VerifyLogoFlash( void );
  100. extern BOOL             wts_VerifyLanguageFlash( void );
  101. extern BOOL             wts_FLASH_InitCommand( void );
  102. /* Exported Functions -------------------------------------------------- */
  103. extern ST_ErrorCode_t   FLASH_Close( U8 BankNum );
  104. extern ST_ErrorCode_t   FLASH_GetParams( U8 BankNum, STFLASH_Params_t *FLASHParams_p );
  105. extern ST_ErrorCode_t   FLASH_Init( U8 BankNum );
  106. extern ST_ErrorCode_t   FLASH_Open( U8 BankNum );
  107. extern ST_ErrorCode_t   FLASH_Term( BOOL ForceTerminate, U8 BankNum );
  108. extern ST_ErrorCode_t   FLASH_SetupBlockInfo( void );
  109. extern U32              FLASH_ReadFile( char *Filename );
  110. extern BOOL             EraseFlash( BOOL EraseAll );
  111. extern BOOL             EraseCodeFlash( BOOL EraseAll );
  112. extern BOOL             EraseLNBFlash( BOOL Erasel );
  113. extern BOOL             ProgramFlash( void );
  114. extern BOOL             ProgramLNBFlash( void );
  115. extern BOOL             ProgramAllFlash( void );
  116. extern BOOL             VerifyFlash( void );
  117. extern BOOL             VerifyLNBFlash( void );
  118. extern BOOL             VerifyAllFlash( void );
  119. extern BOOL             FLASH_InitCommand( void );
  120. extern BOOL ReadProgram(char *Filename ,U32 StartAddress ,U32 Length );
  121. extern BOOL ProgramLanguageFlash( void );
  122. extern BOOL ProgramLogoFlash( void );
  123. extern BOOL EraseLanguageFlash( BOOL Erasel );
  124. extern BOOL EraseLogoFlash( BOOL Erasel );
  125. extern BOOL VerifyLogoFlash( void );
  126. extern BOOL VerifyLanguageFlash( void );
  127. #endif
  128. /* EOF --------------------------------------------------------------------- */