optical/NxFuncs/stiap/stapp.h

77 lines
1.5 KiB
C
Raw Normal View History

2025-09-04 01:45:08 +00:00
#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