1.Flash类型定义(两个结构体)
typedef enum
{
FLASH_PROC_NONE = 0,
FLASH_PROC_PAGEERASE = 1,
FLASH_PROC_MASSERASE = 2,
FLASH_PROC_PROGRAMHALFWORD = 3,
FLASH_PROC_PROC_PROGRAMWORD = 4,
FLASH_PROC_PROGRAMDOUBLEWORD = 5
}FLASH_RrocedureTypeDef;
typedef struct
{
_IO FLASH_ProcessTypeDef ProcedureOnGoing;
_IO uint32_t DataRemaining;
_TO uint32_t Address;
_IO uint64_t Data;
HAL_LockTypeDef Lock;
_IO uint32_t ErrorCode;
}FLASH_ProcessTypeDef;
2.Flash常量定义(3种)
3.Flash函数(31个,FLASH分为两个区,一个是普通的存储空间,一个是选项字节OB,函数名里带OB的就是对选项字节空间的操作)
序号 | 函数名 | 功能描述 |
---|
1 | FLASH_PageErase | 删除指定的Flash存储页 |
2 | FLASH_Program_HalfWord | 在指定的地址编程(写入)半字 |
3 | FLASH_SetErrorCode | 置位指定的Flash错误标志位 |
4 | FLASH_WaitForLastOperation | 等待一个Flash操作结束 |
5 | HAL_FLASH_EndofOperationCallback | Flash操作结束中断回调函数 |
6 | HAL_FLASH_IRQHandler | 处理中断请求函数 |
7 | HAL_FALSH_OperationErrorCallback | Flash操作错误中断回调函数 |
8 | HAL_FLASH_Program | 在指定的地址以半字、字或双字编程 |
9 | HAL_FLASH_Program_IT | 在指定的地址以半字、字或双字编程,并使能中断 |
10 | HAL_FLASH_Lock | 锁定Flash控制寄存器访问 |
11 | HAL_FLASH_OB_Launch | 启动选项字节的装载 |
12 | HAL_FLASH_OB_Lock | 解锁Flash控制寄存器访问 |
13 | HAL_FLASH_OB_Unlock | 解锁Flash控制寄存器访问 |
14 | HAL_FLASH_Unlock | 解锁Flash控制寄存器访问 |
15 | HAL_FLASH_GetError | 获取特定的Flash错误标志位 |
16 | FLASH_MaseErase | 全部擦除Flash存储器组 |
17 | FLASH_OB_DisableWRP | 禁用目标页面写保护 |
18 | FLASH_OB_EnableWRP | 对目标页面使能写保护 |
19 | FLASH_OB_GetRDP | 返回Flash写保护级别 |
20 | FLASH_OB_GetUser | 返回Flash用户选项字节的值 |
21 | FLASH_OB_GetWRP | 返回Flash写保护选项字节的值 |
22 | FLASH_OB_ProgramData | 对指定的选项字节数据地址使用半字节编程 |
23 | FLASH_OB_RDP_LevelConfig | 设置读保护级别 |
24 | FLASH_OB_UserConfig | 编程Flash用户选项字节 |
25 | FLASH_PageErase | 删除指定的Flash存储器页面 |
26 | HAL_FLASHEx_Erase | 执行块擦除或擦除指定的Flash存储器页面 |
27 | HAL_FLASHEx_Erase_IT | 执行块擦除或擦除指定的Flash存储器页面并使能中断 |
28 | HAL_FLASHEx_OBErase | 删除Flash选项字节 |
29 | HAL_FLASHEx_OBGetConfig | 获取选项字节配置 |
30 | HAL_FLASHEx_OBGetUserData | 获取选项字节用户数据 |
31 | HAL_FLAHEx_OBProgram | 编程选项字节 |