#ifndef _OTA_UPDATE_H #define _OTA_UPDATE_H #include "board.h" #include "sysinfo.h" typedef enum { UPFILE_TYPE_LDR, UPFILE_TYPE_APP, UPFILE_TYPE_ANIMATION, UPFILE_TYPE_ROM, UPFILE_TYPE_MCU_IMAGE, UPFILE_TYPE_MCU_FB, UPFILE_TYPE_NUM, } eUpfileType; extern const char *g_upfilename[UPFILE_TYPE_NUM]; #define SF_MOUNT_PATH "/sf" #define SDMMC_MOUNT_PATH "/emmc" #if DEVICE_TYPE_SELECT == EMMC_FLASH #define OTA_MOUNT_PATH SDMMC_MOUNT_PATH #else #define OTA_MOUNT_PATH SF_MOUNT_PATH #endif #if DEVICE_TYPE_SELECT == SPI_NAND_FLASH #define OTA_RW_SIZE 0x20000 #else #define OTA_RW_SIZE 0x10000 #endif #define UPFILE_APP_MAGIC 0xe59ff030 #define APPLDR_CHECKSUM_OFFSET 20 #define MKTAG(a,b,c,d) ((a) | ((b) << 8) | ((c) << 16) | ((unsigned)(d) << 24)) void empty_chip_update_demo(void); uint8_t get_update_status(void); int check_upfile_and_save(int filetype, size_t filesize, size_t fileoffset); int update_from_media(char *mpath, int filetype); uint32_t get_upfile_checksum(int filetype, size_t filesize, int checkmode); unsigned int get_upfile_maxsize(int filetype); unsigned int get_upfile_offset(int filetype, int toburn); unsigned int get_upfile_size(int filetype); #endif