ucloud-iot-device-sdk-c/platform/os/nos/HAL_Flash_Platform.h

74 lines
1.6 KiB
C

#ifndef _HAL_FLASH_H_
#define _HAL_FLASH_H_
#if defined(__cplusplus)
extern "C" {
#endif
#include "stm32f7xx_hal.h"
#include "uiot_import.h"
#define CURRENT_VERSION_START_ADDR 0x08018000
#define DOWNLOAD_FINISH_FLG_ADDR 0x08018018
#define DOWNLOAD_START_ADDR 0x08100000
#define DOWNLOAD_SUCESS 0X00
#define DOWNLOAD_FAILED 0X01
#define VERSION_BYTE_NUM 24
/**
* @brief 向FLASH地址中写入一个字节的数据
*
* @param addr FLASH地址
* @param data 要写入的一个字节的数据
* @return 0-success 其他-fail
*/
int HAL_FLASH_Write_Byte(_IN_ uint32_t addr,_IN_ uint32_t data);
/**
* @brief 擦除FLASH地址的sector
*
* @param addr FLASH sector
* @return 0-success 其他-fail
*/
int HAL_FLASH_Erase_Sector(_IN_ uint8_t sector, _IN_ uint32_t sector_num);
/**
* @brief 读FLASH地址的一个字节数据
*
* @param addr FLASH地址
* @return 当前传入地址的一个字节的数据
*/
uint8_t HAL_FLASH_Read_Byte(_IN_ uint8_t addr);
/**
* @brief 给FLASH地址上锁
*
* @param addr 无
* @return 无
*/
void HAL_FLASH_Locked(void);
/**
* @brief 给FLASH地址解锁
*
* @param addr 无
* @return 无
*/
void HAL_FLASH_Unlocked(void);
/**
* @brief 获得版本信息
*
* @param 指向版本号字符串的char型指针
* @return 无
*/
//void version_get(char * verptr);
#if defined(__cplusplus)
}
#endif
#endif /* _HAL_FLASH_H_ */