/******************************************************************************** * File Name: ProductPara.h * Function Describe: Header file for ProductPara.c * Explain: * Writer: ShiLiangWen * Date: 2015-7-6 *******************************************************************************/ #ifndef __PRODUCT_PARA_H #define __PRODUCT_PARA_H /*=============================================================================*/ #define STM32_FLASH_BASE 0x08000000 //STM32 FLASH的起始地址 #define STM32_FLASH_SIZE 64 //单位KB //产品相关 #define PRODUCT_MARK 0x12345601 #define PRODUCT_NAME "RT501" //产品型号名,字符串长度不能大于8个字符 #define PRODUCT_VERSION 114 //DeviceConfi相关 #define DEVICE_CONFIG_MARK 0x12345603 #define DEVICE_NET_MODE 3 //网络模式配置 1--4G only 2--LAN only 3--4G+Lan 4--Lan+4G //外部FLASH 存储空间定义 #define EXFLASH_DEVICE_CONFIG_ADDR 0x00000000 #define EXFLASH_FILE_DATA_ADDR 0x00001000 #define DEVICE_CONFIG_ADDR EXFLASH_DEVICE_CONFIG_ADDR //设备配置参数存储地址 2K 允许运行中修改 存储在外部FLASH中 //内部FLASH #define PRODUCT_PARA_ADDR 0x08003C00 //设备配置参数存储地址 1K 不允许运行中修改,只能串口修改 #define AUTH_PARA_ADDR 0x0800FC00 //鉴权参数保持地址 1K 不允许运行中修改,只能串口修改 //使能空中升级 #define FOTA_ENABLE //通讯模块相关 enum {MODEM_TYPE_NONE=0,MODEM_TYPE_ME3630}; #define MODEM_ENABLE #define MODEM_DEBUG_EN 0 //调试信息打印 #define SLW_DEBUG #define SERVER_IP "192.168.0.103" //{192,168,1,100} #define SERVER_PORT 9900 #define WIFI_ID "HGS" #define WIFI_PWD "1892643560828" //---------------------------------------------------------- //产品配置 这里的参数只有通过串口才能修改,为最重要的参数。程序运行过程中禁止自动修改,避免参数丢失 typedef struct SUT_PRODUCT_PARA { unsigned long Mark; //用于重置默认参数 char ProductName[8];//项目名 unsigned short ProductVersion; //版本号 //unsigned char ModemType; //Modem类型:预留 unsigned long PSN; //终端编码 unsigned long AKEY; //根据MCU ID计算获得。 unsigned char Wifi_ID[20]; unsigned char Wifi_Pwd[20]; unsigned char SIP[40]; //目标服务器IP unsigned short Port; //目标服务器port unsigned char addr; unsigned char MAC[6]; unsigned char ConnectType; //连接方式 unsigned char Debug; //开启log unsigned char dummy;//用来确定是偶数用的 }__attribute__((packed)) SUT_PRODUCT_PARA; extern SUT_PRODUCT_PARA sutProductPara; //设备配置 这里的参数允许程序运行过程中自动修改,丢失会重置 typedef struct SUT_DEVICE_CONFIG { unsigned long Mark;//用于初始化 char FoTaMark[4]; //FOTA标志 "FoTa"--空中升级,IAP需要从外部FLASH搬运代码到MCU中。搬运完成后需要修改为"FTOK" unsigned char MD5[16];//APP MD5 unsigned long AppExAddr;//APP下载到的外部FLASH地址 unsigned long AppLen;//APP 长度 unsigned char DebugPrintEn;//打印调试是能 unsigned char NetMode; //网络模式 1--4G only 2--LAN only 3--4G+LAN 4--LAN+4G char IMEI[16];//IMEI or MEID char CCID[22]; }__attribute__((packed)) SUT_DEVICE_CONFIG; extern SUT_DEVICE_CONFIG sutDeviceConfig; void getNetMacByPSN(unsigned char *MAC,unsigned long PSN); void ReadProductParaFromFlash(void); void SaveProductParaToFlash(void); void ReadDeviceConfigFromFlash(void); void SaveDeviceConfigToFlash(void); /*=============================================================================*/ #endif /************************************file begin*******************************/