| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #ifndef __BSP_H__
- #define __BSP_H__
- #include "gd32f10x.h"
- #ifdef TY_0901
- #define SOFTWARE_VERSION_BOOT 0X09011002
- #elif defined TY_0902
- #define SOFTWARE_VERSION_BOOT 0X09021002
- #elif defined TY_0904
- #define SOFTWARE_VERSION_BOOT 0X09041001
- #endif
- //升级标记
- #define UPDATA_FLAG 0x81
- #define BACKOFF_FLAG 0x82
- #define BACKOFF_OVER 0x83
- #define DEVICE_PUBLIC_INFO_ADDR 0x00 //公共信息存储地址
- #define DEVICE_VERSION_INFO_ADDR 0x100 //软件版本存储地址
- #define DEVICE_RESET_ADDR 0x140 //复位次数存储
- #define FRAM_MQTT_MSG 0x4C0 //mqtt信息存储地址
- //#define IMEI_ADDR 0x40
- //设备存储信息
- //公共信息
- typedef struct _device_public_info_t
- {
- uint16_t eeprom_first_flag; //是否第一次上电
- uint8_t eeprom_ver; //eeprom版本
- uint8_t config_flag; //是否配置的标记
- uint32_t device_sn; //设备sn
- uint16_t device_type; //设备类型
- // uint16_t device_type2; //设备类型
- uint16_t manufactures; //产品制造商
- uint16_t batch_number; //批次号
- uint32_t production_data; //出厂日期
- uint8_t pcb_ver; //PCB版本
- }__attribute__((packed)) device_public_info_t;
- //单片机信息
- typedef struct _device_mcu_info_t
- {
- uint32_t bootloader_ver; //bootloader版本
- uint32_t pt_ver; //产测版本
- uint32_t app1_ver; //app1版本
- uint32_t app2_ver; //app2版本
- uint32_t app3_ver; //app3版本
- // uint32_t reset_total_cnt; //复位次数
- // uint16_t updata_state; //升级状态
- // uint16_t lora_index; //Lora索引
- }__attribute__((packed)) device_mcu_info_t;
- /* mqtt IP地址 端口号*/
- typedef struct _MQTT_IP_PORT_{
- uint8_t flag;
- char port[6]; // 端口号
- char ip[32]; //IP地址
- char admin[8]; // 用户名
- char password[16]; // 密码
- }__attribute__((packed)) MqttIdPort;
- extern device_public_info_t device_public_info;
- extern device_mcu_info_t device_mcu_info;
- extern MqttIdPort mqttidport;
- extern uint32_t Reset_cnt;
- void RCC_Configuration(void);
- void IWDG_Config(void);
- void eeprom_init_handle(void);
- void eeprom_info_updata(void);
- uint16_t set_flag_not(uint16_t data);
- uint8_t flag_not_cmp(uint16_t data);
- uint8_t app_check(uint32_t addr, uint32_t len, uint32_t *checkdata);
- #endif
|