52 lines
1.7 KiB
C
52 lines
1.7 KiB
C
#pragma once
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
/* Includes ----------------------------------------------------------------- */
|
||
#include <stdint.h>
|
||
|
||
#include "bsp/bsp.h"
|
||
|
||
/* USER INCLUDE BEGIN */
|
||
|
||
/* USER INCLUDE END */
|
||
|
||
/* Exported constants ------------------------------------------------------- */
|
||
/* Exported macro ----------------------------------------------------------- */
|
||
/* USER DEFINE BEGIN */
|
||
|
||
/* USER DEFINE END */
|
||
|
||
/* Exported types ----------------------------------------------------------- */
|
||
/* Exported functions prototypes -------------------------------------------- */
|
||
|
||
#include "main.h"
|
||
|
||
//=========================用户根据自己的需要设置
|
||
#define STM32_FLASH_SIZE 64 //所选STM32的FLASH容量大小(单位为K)
|
||
#if STM32_FLASH_SIZE < 256 //设置扇区大小
|
||
#define STM_SECTOR_SIZE 1024 //1K字节
|
||
#else
|
||
#define STM_SECTOR_SIZE 2048 //2K字节
|
||
#endif
|
||
#define STM32_FLASH_BASE 0x08000000 //STM32 FLASH的起始地址
|
||
#define FLASH_SAVE_ADDR STM32_FLASH_BASE+STM_SECTOR_SIZE*56 //写Flash的地址,这里从倒数第二页开始
|
||
#define STM32_FLASH_WREN 1 //使能FLASH写入(0,不使能;1,使能)
|
||
#define FLASH_WAITETIME 50000 //FLASH等待超时时间
|
||
|
||
|
||
uint16_t STMFLASH_ReadHalfWord(uint32_t faddr); //读出半字
|
||
void STMFLASH_Write(uint32_t WriteAddr,uint16_t *pBuffer,uint16_t NumToWrite); //从指定地址开始写入指定长度的数据
|
||
void STMFLASH_Read(uint32_t ReadAddr,uint16_t *pBuffer,uint16_t NumToRead); //从指定地址开始读出指定长度的数据
|
||
void Flash_PageErase(uint32_t PageAddress); //扇区擦除
|
||
|
||
/* USER FUNCTION BEGIN */
|
||
|
||
/* USER FUNCTION END */
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|