| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #ifndef __STMFLASH_H__
- #define __STMFLASH_H__
- #include "stm32f10x.h"
- //////////////////////////////////////////////////////////////////////////////////
- //本程序只供学习使用,未经作者许可,不得用于其它任何用途
- //ALIENTEK战舰STM32开发板
- //STM32 FLASH 驱动代码
- //正点原子@ALIENTEK
- //技术论坛:www.openedv.com
- //修改日期:2012/9/13
- //版本:V1.0
- //版权所有,盗版必究。
- //Copyright(C) 广州市星翼电子科技有限公司 2009-2019
- //All rights reserved
- //////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////////////////////////////
- //用户根据自己的需要设置
- #define FLASH_START_ADDR 0x08005000 //应用起始地址
- #define STM32_FLASH_SIZE 128 //所选STM32的FLASH容量大小(单位为K)
- #define STM32_FLASH_WREN 1 //使能FLASH写入(0,不是能;1,使能)
- #define STM32_APP_SIZE 64 //应用大小:64k
- //////////////////////////////////////////////////////////////////////////////////////////////////////
- //FLASH起始地址
- #define STM32_FLASH_BASE 0x08000000 //STM32 FLASH的起始地址
- //FLASH解锁键值
- void STMFLASH_Write_NoCheck ( u32 WriteAddr, u16 *pBuffer, u16 NumToWrite );
- u16 STMFLASH_ReadHalfWord ( u32 faddr ); //读出半字
- void STMFLASH_WriteLenByte ( u32 WriteAddr, u32 DataToWrite, u16 Len ); //指定地址开始写入指定长度的数据
- u32 STMFLASH_ReadLenByte ( u32 ReadAddr, u16 Len ); //指定地址开始读取指定长度数据
- void STMFLASH_Write ( u32 WriteAddr, u16 *pBuffer, u16 NumToWrite ); //从指定地址开始写入指定长度的数据
- void STMFLASH_Read ( u32 ReadAddr, u16 *pBuffer, u16 NumToRead ); //从指定地址开始读出指定长度的数据
- //测试写入
- void Test_Write ( u32 WriteAddr, u16 WriteData );
- #endif
|