#include "stm32f10x.h"
#include <string.h>
/* STM32 内部 FLASH 配置 */
#define STM32_FLASH_SIZE 512 /* 所选STM32的FLASH容量大小(单位为K) */
#if STM32_FLASH_SIZE < 256
#define STM_SECTOR_SIZE 1024 /* < 256为1K字节页, >=256 为2K页 */
#else
#define STM_SECTOR_SIZE 2048
#endif
/* 应用程序区域 */
#define APP_REGION (0x8000000 + 0x80000 - STM_SECTOR_SIZE)
/* RCC时钟配置 */
void RCC_config()
{
ErrorStatus HSEStartUpStatus;
/* RCC寄存器设置为默认配置 */
RCC_DeInit();
/* 打开外部高速时钟 */
RCC_HSEConfig(RCC_HSE_ON);
/* 等待外部高速时钟稳定 */
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
{
/* 设置HCLK = SYSCLK */
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/* 设置PCLK2 = HCLK */
RCC_PCLK2Config(RCC_HCLK
STM32之内部FLASH例程
最新推荐文章于 2024-08-20 15:30:52 发布
本文详细介绍了STM32微控制器如何进行内部Flash的读写操作,包括擦除、编程和验证步骤。通过实例代码展示了如何实现这些功能,同时讨论了相关注意事项,如保护机制和错误处理,为读者提供了一套完整的STM32内部Flash操作指南。
摘要由CSDN通过智能技术生成