📄 binload.h
字号:
//
#ifndef BINLOAD_H
#define BINLOAD_H
/////////////////////////////////////////////////////////////////////////////
struct _RingBuffer {
BYTE* abData;
BYTE cbData;
BYTE bWriteIndex;
BYTE bReadIndex;
BYTE bSize;
};
typedef struct tagBINFILEHEADERSTRUCT {
WORD Flag; //new mode correctFLASH:Flag=0,invalid FLASH:Flag=0xffff;
WORD ReservedFlag;
DWORD StartAddress;
DWORD StopAddress;
DWORD Size;
WORD SectorStartAddress[112]; //0x10-0xef, unused fill with 0xffff;
WORD Reserved[7];
WORD WriteMode; //default: 0
}BINFILEHEADERSTRUCT;
typedef union tagBINFILEHEADER
{
BINFILEHEADERSTRUCT Struct;
BYTE abBINHeader[256]; /*/ BINFile的Header的保存Buffer/*/
}BINFILEHEADER;
typedef struct _RingBuffer RINGBUFF;
typedef RINGBUFF * PRINGBUFF;
/////////////////////////////////////////////////////////////////////////////
void main(void);
BYTE ReadUART(BYTE* buffer, BYTE size);
BYTE WriteUART(BYTE far * buffer, BYTE size);
void FlashUART(void);
BOOL PushRingBuffer(PRINGBUFF buffer, BYTE data);
BOOL PopRingBuffer(PRINGBUFF buffer, BYTE* data);
void UARTTxOn(void);
void OnUARTTxEnd(void);
void OnUARTRxEnd(void);
BYTE OnRxXModem(void);
BOOL StartProgram(BYTE* info);
BOOL WritePage(BYTE* src);
void StopProgram(void);
char Hextoc(BYTE hex);
BOOL DetectFlashType(void);
/////////////////////////////////////////////////////////////////////////////
#define SOH 0x01 //
#define ACK 0x06 //
#define NAK 0x15 //
#define EOT 0x04 //
#define CAN 0x18 //
#define CR 0x0D // CR
#define ESC 0x1B // ESC,
#define FUJITSU 0x04 //Flash Device Code
#define AMD 0x01
#define TOSHIBA 0x98
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -