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

📄 flashprg.h

📁 boot loader示范程序
💻 H
字号:
/*******************************************************************************

File Name    : flashprg.h

Description  : header file for Flash Programming functions

(C)Copyright ST Microelectronics 1998

Reference to the origin of this file within the build system repository
\5500ref\flash\burner\flashprg.h

References to related design specifications, tools, required header files etc.

Date        Modification                                          Initials
----        ------------                                          --------
29-Oct-98   Creation                                                  RO
*******************************************************************************/

/* Define to prevent recursive inclusion */
#ifndef FLASHPRG_H
#define FLASHPRG_H

/* Includes ----------------------------------------------------------------- */

#include <debug.h>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>

/* standard typedefs */
typedef unsigned char       UBYTE;      /* Unsigned  8 bit quantity  */
typedef   signed char        BYTE;      /* Signed    8 bit quantity  */
typedef unsigned long  int  ULONG;      /* Unsigned 32 bit quantity  */
typedef   signed long  int   LONG;      /* Signed   32 bit quantity  */
typedef unsigned short     UINT16;      /* Unsigned 16 bit quantity  */
typedef unsigned long  int UINT32;      /* Unsigned 32 bit quantity  */







/* Type defs for filenames and parameters */
typedef enum romtool_mode   {NULL_MODE, ERROR_MODE, ERASE, PROGRAM, VERIFY, DUMP} ROMTOOL_MODE;
typedef enum romtool_report {NULL_REPORT, ERROR_REPORT, FULL, REDUCED, NONE} ROMTOOL_REPORT;
typedef enum romtool_board  {EVAL5500, STB3} ROMTOOL_BOARD;

#define MAX_FILENAME_LENGTH     100
typedef char FILE_STRING[MAX_FILENAME_LENGTH];
typedef enum bool {FALSE, TRUE} BOOL;

#define MAX_PRINTF_BUFFER       512
#define EXIT_FAILURE            1

extern  ROMTOOL_REPORT  rom_report ;       /* reporting level              */
void    compactSprintf( char* buf, char* format, ...) ;
extern  char    outputBuffer[MAX_PRINTF_BUFFER] ;
extern  char*   printBuf ;

#define RomClearup() (rom_board==STB3)?RomClearupSTB3():RomClearup5500()
#define EraseFlash() (rom_board==STB3)?EraseFlashSTB3():EraseFlash5500()
#define ProgramFlash(p) (rom_board==STB3)?ProgramFlashSTB3 p :ProgramFlash5500 p
#define VerifyFlash(p) (rom_board==STB3)?VerifyFlashSTB3 p :VerifyFlash5500 p

void RomClearup5500(void);
int  EraseFlash5500(void);
int  ProgramFlash5500(UINT32 flash_addr, UBYTE * source_data_p, ULONG length ) ;
int  VerifyFlash5500(UINT32 flash_addr, UBYTE * source_data_p, ULONG length ) ;

void RomClearupSTB3(void);
int  EraseFlashSTB3(void);
int  ProgramFlashSTB3(UINT32 flash_addr, UBYTE *  source_data_p, ULONG length ) ;
int  VerifyFlashSTB3(UINT32 flash_addr, UBYTE *  source_data_p, ULONG length ) ;

#undef COMPACT_BUILD
#ifdef COMPACT_BUILD
  #define mySprintf
  #define FULL_REP_MSG( m) ;
  #define REDUCED_REP_MSG(m) ;
  #define ESSENTIAL_REP_MSG(m) ;
#else
  /* #define mySprintf compactSprintf */
  #define mySprintf sprintf
  #define FULL_REP_MSG( m) if (rom_report == FULL) { \
          mySprintf m ; \
          debugmessage( printBuf ) ; }
  #define REDUCED_REP_MSG(m) if (rom_report != NONE) { \
          debugmessage( m ) ; }
  #define ESSENTIAL_REP_MSG(m) debugmessage( m )
#endif

extern void vpp_on(void);

#define START_ADDR_1M 	0x7FF00000
#define START_ADDR_2M 	0x7Fe00000
#endif /* FLASHPRG_H */

⌨️ 快捷键说明

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