lib_flashiap.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /***************************************************************
  2. *Copyright (C), 2017, Shanghai Eastsoft Microelectronics Co., Ltd.
  3. *文件名: lib_flashiap.h
  4. *作 者: Liut
  5. *版 本: V1.00
  6. *日 期: 2017/07/14
  7. *描 述: flash读写库函数头文件
  8. *备 注: 适用于 ES8P508x芯片
  9. 本软件仅供学习和演示使用,对用户直接引用代码所带来的风险或后果不承担任何法律责任。
  10. ***************************************************************/
  11. #ifndef __LIBIAP_H__
  12. #define __LIBIAP_H__
  13. #include "ES8P508x.h"
  14. #include "type.h"
  15. /*************IAP模块宏定义************/
  16. /* 寄存器解锁 */
  17. #define FlashIAP_RegUnLock() (IAP->UL.UL = 0x49415055)
  18. #define FlashIAP_RegLock() (IAP->UL.UL = 0x00000000)
  19. /* 使能IAP */
  20. #define FlashIAP_Enable() (IAP->CON.EN = 0x1)
  21. #define FlashIAP_Disable() (IAP->CON.EN = 0x0)
  22. /* 访问IAP请求 */
  23. #define FlashIAP_REQ() (IAP->CON.FLASH_REQ = 0x1)
  24. /************Flash模块函数声明***********/
  25. ErrorStatus FlashIap_Close_WPROT(uint8_t Page);
  26. ErrorStatus FlashIap_Open_WPROT(uint8_t Page);
  27. ErrorStatus FlashIap_CloseAll_WPROT(void);
  28. ErrorStatus FlashIap_OpenAll_WPROT(void);
  29. ErrorStatus FlashIap_Unlock(void);
  30. ErrorStatus FlashIap_WriteEnd(void);
  31. ErrorStatus FlashIap_ErasePage(uint8_t Page_Addr);
  32. ErrorStatus FlashIap_WriteCont(uint8_t Unit_addr, uint8_t Page_addr, uint32_t Data32);
  33. ErrorStatus FlashIap_WriteWord(uint8_t Unit_addr, uint8_t Page_addr, uint32_t Data32);
  34. ErrorStatus Flash_Read(uint32_t * Ram_Addr, uint32_t Flash_Addr, uint8_t Len);
  35. #endif
  36. /*************************END OF FILE**********************/