ProductPara.h 3.4 KB

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