📄 update.h
字号:
#ifndef __UPDATE_H__
#define __UPDATE_H__
#ifdef __cplusplus
extern "C" {
#endif
#define __UPDATE_DEBUG__
/*******************************************************
* Part FTP_UPDATE
*******************************************************/
#define FTP_CTRL_PORT 21
#define FTP_DATA_PORT 20
#define FTP_REQ_LENGTH 32
#define FTP_BLOCK_SIZE 1024
/*******************************************************
* Part TFTP_UPDATE
*******************************************************/
#define TFTP_SERVER_PORT 69
#define TFTP_OP_RRQ 1
#define TFTP_OP_WRQ 2
#define TFTP_OP_DATA 3
#define TFTP_OP_ACK 4
#define TFTP_OP_ERROR 5
#define TFTP_ERROR_UNKNOWN 0
#define TFTP_ERROR_FILE 1
#define TFTP_ERROR_ACCESS 2
#define TFTP_ERROR_OP 4
#define TFTP_ERROR_TID 5
#define TFTP_BLOCK_SIZE 512
#define TFTP_TIMEOUT 5
#define TFTP_TMP_LENGTH 32
typedef struct
{
unsigned short op;
unsigned short index;
unsigned char fileblock[TFTP_BLOCK_SIZE];
} s_tftp_data;
typedef struct
{
unsigned char data[TFTP_TMP_LENGTH];
int length;
} s_lastdata;
/*******************************************************
* Part UPDATE_COMMON
*******************************************************/
#define UPDATE_BUFFER 1024
typedef struct s_updateblock
{
unsigned char * fileblock;
int length;
struct s_updateblock * next;
} s_updateblock;
/**
* 升级函数的返回状态
*/
#define UPDATE_OK 0 /* 升级文件下载成功 */
#define UPDATE_CONN_ERROR -1 /* 网络连接错误 */
#define UPDATE_PASSWD_ERROR -2 /* 用户名或者密码错误 */
#define UPDATE_FILE_NOTEXIST -3 /* 文件不存在 */
#define UPDATE_NO_SPACE -4 /* 空间不足 */
#define UPDATE_WRITE_ERROR -5 /* 写Flash错误*/
#define UPDATE_INVALID_FILE -6 /* 无效文件*/
#define UPDATE_TOO_LONG -7
#define UPDATE_ERROR_UNKNOWN -8 /* 未知错误 */
#define UPDATE_BUSY -9 /*FTP服务器无法打开数据连接*/
#define BOORROMSIZE 400 * 1024
#define APPSIZE 1300 * 1024
/*******************************************************
* 升级函数
*******************************************************/
extern int Update();
extern void ClearUpdateBlock(s_updateblock * ptr_updatefile);
extern int UpdateFlashRom(s_updateblock * ptr_updatefile, int count, int fileT);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -