bsp.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #ifndef __BSP_H__
  2. #define __BSP_H__
  3. #include "gd32f10x.h"
  4. #ifdef TY_0901
  5. #define SOFTWARE_VERSION_BOOT 0X09011002
  6. #elif defined TY_0902
  7. #define SOFTWARE_VERSION_BOOT 0X09021002
  8. #elif defined TY_0904
  9. #define SOFTWARE_VERSION_BOOT 0X09041001
  10. #endif
  11. //升级标记
  12. #define UPDATA_FLAG 0x81
  13. #define BACKOFF_FLAG 0x82
  14. #define BACKOFF_OVER 0x83
  15. #define DEVICE_PUBLIC_INFO_ADDR 0x00 //公共信息存储地址
  16. #define DEVICE_VERSION_INFO_ADDR 0x100 //软件版本存储地址
  17. #define DEVICE_RESET_ADDR 0x140 //复位次数存储
  18. #define FRAM_MQTT_MSG 0x4C0 //mqtt信息存储地址
  19. //#define IMEI_ADDR 0x40
  20. //设备存储信息
  21. //公共信息
  22. typedef struct _device_public_info_t
  23. {
  24. uint16_t eeprom_first_flag; //是否第一次上电
  25. uint8_t eeprom_ver; //eeprom版本
  26. uint8_t config_flag; //是否配置的标记
  27. uint32_t device_sn; //设备sn
  28. uint16_t device_type; //设备类型
  29. // uint16_t device_type2; //设备类型
  30. uint16_t manufactures; //产品制造商
  31. uint16_t batch_number; //批次号
  32. uint32_t production_data; //出厂日期
  33. uint8_t pcb_ver; //PCB版本
  34. }__attribute__((packed)) device_public_info_t;
  35. //单片机信息
  36. typedef struct _device_mcu_info_t
  37. {
  38. uint32_t bootloader_ver; //bootloader版本
  39. uint32_t pt_ver; //产测版本
  40. uint32_t app1_ver; //app1版本
  41. uint32_t app2_ver; //app2版本
  42. uint32_t app3_ver; //app3版本
  43. // uint32_t reset_total_cnt; //复位次数
  44. // uint16_t updata_state; //升级状态
  45. // uint16_t lora_index; //Lora索引
  46. }__attribute__((packed)) device_mcu_info_t;
  47. /* mqtt IP地址 端口号*/
  48. typedef struct _MQTT_IP_PORT_{
  49. uint8_t flag;
  50. char port[6]; // 端口号
  51. char ip[32]; //IP地址
  52. char admin[8]; // 用户名
  53. char password[16]; // 密码
  54. }__attribute__((packed)) MqttIdPort;
  55. extern device_public_info_t device_public_info;
  56. extern device_mcu_info_t device_mcu_info;
  57. extern MqttIdPort mqttidport;
  58. extern uint32_t Reset_cnt;
  59. void RCC_Configuration(void);
  60. void IWDG_Config(void);
  61. void eeprom_init_handle(void);
  62. void eeprom_info_updata(void);
  63. uint16_t set_flag_not(uint16_t data);
  64. uint8_t flag_not_cmp(uint16_t data);
  65. uint8_t app_check(uint32_t addr, uint32_t len, uint32_t *checkdata);
  66. #endif