77 lines
1.5 KiB
C
77 lines
1.5 KiB
C
|
|
|
|||
|
|
#ifndef __STAPP_H__
|
|||
|
|
#define __STAPP_H__
|
|||
|
|
|
|||
|
|
#include "config.h"
|
|||
|
|
|
|||
|
|
//-----------------------------------------------------
|
|||
|
|
|
|||
|
|
#define APP_SAVE_NONE 0
|
|||
|
|
#define APP_SAVE_NORFLASH 1 // <20>ⲿnorflash<73><68>
|
|||
|
|
#define APP_SAVE_EXRAM 2 // <20>ⲿRAM<41><4D>
|
|||
|
|
#define APP_SAVE_INFLASH 3 // ֱ<><D6B1><EFBFBD><EFBFBD>FLASH<53><48><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Cortex-M4<4D><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹʹ<D6B9>ø÷<C3B8>ʽ)
|
|||
|
|
|
|||
|
|
#ifndef APP_SAVE_TO
|
|||
|
|
#define APP_SAVE_TO APP_SAVE_NONE //
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//-----------------------------------------------------
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ͷ
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
// 0x00
|
|||
|
|
char fileName[32]; // <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// 0x20
|
|||
|
|
u32 dataSize; // <20><><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
|||
|
|
u32 dataChecksum; // <20><><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
// 0x28
|
|||
|
|
u8 reserved1[0x30-0x28]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
|
|||
|
|
|
|||
|
|
// 0x30
|
|||
|
|
u8 reserved2[0x64-0x30]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2
|
|||
|
|
|
|||
|
|
// 0x64
|
|||
|
|
u8 reserved3[0x80-0x64]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3
|
|||
|
|
|
|||
|
|
// 0x80
|
|||
|
|
u8 reserved4[0x100-0x80]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4
|
|||
|
|
}__attribute__ ((packed)) AppFileHead;
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ƽṹ
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
int enflag; // <20>ļ<EFBFBD><C4BC><EFBFBD>Ч<EFBFBD><D0A7>־
|
|||
|
|
AppFileHead fileHead; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
u8 pAppBuff[1024]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ洢<DDB4><E6B4A2>ַ
|
|||
|
|
|
|||
|
|
}AppFileCtrl;
|
|||
|
|
|
|||
|
|
//-----------------------------------------------------
|
|||
|
|
|
|||
|
|
#ifdef _IN_STAPP_C
|
|||
|
|
AppFileCtrl g_appFile;
|
|||
|
|
#else
|
|||
|
|
extern AppFileCtrl g_appFile;
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
//-----------------------------------------------------
|
|||
|
|
|
|||
|
|
// ֧<>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define SUPPORT_LEN_1 128 // for xmodem
|
|||
|
|
#define SUPPORT_LEN_2 1024 // for xmodem or ethernet
|
|||
|
|
|
|||
|
|
void InitSaveApp(void);
|
|||
|
|
int SaveAppData(int idx, u8 * pBuf, int len, u32 ofst);
|
|||
|
|
int IsAppReceiveDone(void);
|
|||
|
|
int IsSaveDataCorrect(void);
|
|||
|
|
void StartAppUpdate(int reboot);
|
|||
|
|
u32 GetAppSaveDataCrc(u32 addr, u32 size);
|
|||
|
|
|
|||
|
|
//-----------------------------------------------------
|
|||
|
|
|
|||
|
|
#endif
|