1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #ifndef __DRV_FLASH_H
- #define __DRV_FLASH_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifdef __DRV_FLASH_H_GLOBAL
- #define __DRV_FLASH_H_EXTERN
- #else
- #define __DRV_FLASH_H_EXTERN extern
- #endif
- /************************************************************************************************
- * Version *
- ************************************************************************************************/
- /************************************************************************************************
- * How to use *
- ************************************************************************************************/
- /************************************************************************************************
- * Enable config *
- ************************************************************************************************/
- /************************************************************************************************
- * Includes *
- ************************************************************************************************/
- #include <stdint.h>
- /************************************************************************************************
- * Defines *
- ************************************************************************************************/
- #define FMC_PAGE_SIZE ((uint16_t)0x800)
- #define FMC_PAGE_SIZE_U16 ((uint16_t)0x400)
- #define FMC_FLASH_BASE ((uint32_t)0x08000000)
- #define FMC_PAGE_SIZE_16K ((uint32_t)0x4000)
- #define FMC_PAGE_SIZE_32K ((uint32_t)0x8000)
- #define FMC_PAGE_SIZE_64K ((uint32_t)0x10000)
- #define FMC_PAGE_SIZE_128K ((uint32_t)0x20000)
- /************************************************************************************************
- * Defines *
- ************************************************************************************************/
- void fmc_clear_flag_star(void);
- void fmc_clear_flag_end(void);
- uint8_t fmc_read_byte(uint32_t read_addr);
- uint16_t fmc_read_half_word(uint32_t read_addr);
- uint8_t fmc_read_n_half_word(uint32_t read_addr, uint16_t *buff, uint16_t count);
- uint8_t fmc_read_one_page(uint32_t read_addr, uint16_t *buff);
- uint8_t fmc_erase_pages(uint32_t erase_addr, uint16_t len);
- uint8_t fmc_write_n_half_word(uint32_t write_addr, uint16_t *buff, uint16_t len);
- uint16_t firmware_crc16_ccitt_false(uint16_t init_value, uint8_t *pbuff, uint32_t len);
- #ifdef __cplusplus
- };
- #endif
- #endif // __DRV_FLASH_H
|