1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #ifndef _SOFT_FLASH_
- #define _SOFT_FLASH_
- #include "stm32f1xx_hal.h"
- #include "stdbool.h"
- extern bool write_vol_information;
- extern bool write_uav_information;
- extern bool write_serial_information;
- struct date_vol // 电压校准信息
- {
- short _vol_flag;
- short cal_vol; // 0.1v
- };
- extern struct date_vol volinf;
- extern short set_cali_voltage;
- extern uint32_t set_pmu_serail;
- struct pmu_serial // 电压校准信息
- {
- short _flag;
- uint32_t num;
- };
- extern struct pmu_serial serial;
- typedef enum
- {
- R_Default = 0,
- R_NRST = 1, // 引脚复位
- R_POWER = 2, // 上电掉电复位
- R_SOFT = 3, // 软件复位
- R_IWD = 4, // 独立看门狗复位
- R_WWD = 5, // 窗口看门狗复位
- R_LOPWER = 6, // 低功耗复位
- } Reset;
- struct uav_type // 电压校准信息
- {
- short _uavtype_flag;
- short uavtype; // 机型 用于管脚初始化
- short abnormal_outage_flag; // 异常断电标志
- short reset_reason; // 重启原因
- };
- extern struct uav_type uavinf;
- // bootloader flag在120kb
- // 现在每个参数用了1kb,应该初始化两个结构体参数,整合到一起,PMU要改版,先不改了
- // 125kb
- #define FLASH_SERIAL_IFO (uint32_t)0x801F400
- // 126kb
- #define FLASH_VOL_IFO (uint32_t)0x801F800
- // 127kb
- #define FLASH_UAV_IFO (uint32_t)0x801FC00
- // 128kb
- #define FLSH_MAX_SIZE (uint32_t)0x801FFFF
- void ReadFlashNBtye(uint32_t ReadAddress, uint8_t *pdata, uint16_t size);
- HAL_StatusTypeDef WriteFlashNBtye(uint32_t ReadAddress, uint8_t *pdata, uint16_t size);
- short check_flash_par_normal(short par, short min_par, short max_par, uint8_t par_or_zero);
- void write_flash_function(void);
- void read_flash_function(void);
- void flash_read_funcktion(void);
- #endif
|