flash.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef __FLASH_H__
  2. #define __FLASH_H__
  3. #include "stdio.h"
  4. #include "stdint.h"
  5. #define FLASH_SIZE 256 //所选AT32F4xx的FLASH容量大小(单位为K)
  6. #define FLASH_WREN 1 //使能FLASH写入(0,不是能;1,使能)
  7. #if defined (AT32F403xx) || defined (AT32F403Axx) || defined (AT32F407xx)
  8. #define SRAM_SIZE 224
  9. #elif defined AT32F413xx
  10. #define SRAM_SIZE 64
  11. #elif defined AT32F415xx
  12. #define SRAM_SIZE 32
  13. #elif defined AT32F421xx
  14. #define SRAM_SIZE 16
  15. #endif
  16. uint16_t FLASH_ReadHalfWord(uint32_t faddr); //读出半字
  17. void FLASH_WriteLenByte(uint32_t WriteAddr,uint32_t DataToWrite,uint16_t Len); //指定地址开始写入指定长度的数据
  18. uint16_t FLASH_ReadLenByte(uint32_t ReadAddr,uint16_t Len); //指定地址开始读取指定长度数据
  19. void FLASH_Write(uint32_t WriteAddr,uint16_t *pBuffer,uint16_t NumToWrite); //从指定地址开始写入指定长度的数据
  20. void FLASH_Read(uint32_t ReadAddr,uint16_t *pBuffer,uint16_t NumToRead); //从指定地址开始读出指定长度的数据
  21. void FLASH_Write_2KB(uint32_t WriteAddr, uint8_t *pBuffer);
  22. #endif