#ifndef _CFG_H_ #define _CFG_H_ #include "stdint.h" #define BOOT_LOADER ((uint32_t)(0x08000000)) //boot loadr addr #define BOOT_LOADER_SIZE (20*1024) //boot loade size #define META_DATA ((uint32_t)(0x08005000)) //meta data addr #define META_DATA_SIZE (1*1024) //meta data size #define PROGRAME_APP1 ((uint32_t)(0x08005400)) //App1 Rom Start addr #define PROGRAME_APP1_SIZE (50*1024) //App1 programe Max size #define PROGRAME_APP2 ((uint32_t)(0x08011C00)) //App2 Rom Start addr #define PROGRAME_APP2_SIZE (50*1024) //App2 programe Max size #define VERSION "V1.0.0.0" #define MODBUS_HEAD "GOWONE_UPGRADE" #define PARTITION (1) //upgrade patition #define PAGE_SIZE (1024) #define UPGRADE_FLAG_ADDR (META_DATA ) #define STARTUP_PARTATION (META_DATA + 4 ) //Start area #define STARTUP_ERROR (META_DATA + 8 ) //The most recent error code #define STARTUP_NUMBEAR (META_DATA + 12) //the count of fataly error #define STARTUP_ROM_ADDR (META_DATA + 16) #define STARTUP_LAST_RUNNING_TIME (META_DATA + 20) // #define STARTUP_APP_VERSION (META_DATA + 24) // #define APP1_VERSION (META_DATA + 28) #define APP1_ROM_ADDR (META_DATA + 32) #define APP1_PARTATION (META_DATA + 36) #define APP2_VERSION (META_DATA + 40) #define APP2_ROM_ADDR (META_DATA + 44) #define APP2_PARTATION (META_DATA + 48) #define APP1_MD5 (META_DATA + 52) #define APP2_MD5 (META_DATA + 84) #define APP1_SIZE (META_DATA + 116) #define APP2_SIZE (META_DATA + 120) #define UNIQU_1 0x1FFFF7AC #define UNIQU_2 0x1FFFF7B0 #define UNIQU_3 0x1FFFF7B4 typedef struct { uint32_t operation_flag; // 0 uint32_t partition; // 1 uint32_t errno; // 0 uint32_t error_count; // 0 uint32_t rom_addr; // PROGRAME_APP1 0x08005400 uint32_t recent_running_time; // 0 uint32_t running_app_version; // V1.0.0.0 (1<<24 | 0 << 16 | 0 << 8 | 0) uint32_t app1_version; // V1.0.0.0 (1<<24 | 0 << 16 | 0 << 8 | 0) uint32_t app1_rom_addr; // PROGRAME_APP1 0x08005400 uint32_t app1_partition; // 1 uint32_t app2_version; // V1.0.0.0 (1<<24 | 0 << 16 | 0 << 8 | 0) uint32_t app2_rom_addr; // PROGRAME_APP2 0x0800A400 uint32_t app2_partition; // 2 uint32_t app1_md5[8]; // app1 md5 value uint32_t app2_md5[8]; // app2 md5 value uint32_t app1_size; uint32_t app2_size; }META_DATA_S; typedef struct { uint32_t uniq_ID_64_95; uint32_t uniq_ID_32_63; uint32_t uniq_ID_00_31; int channels; char ver[8]; char date[20]; }information_t; #endif