| 12345678910111213141516171819202122232425262728293031 |
- #ifndef FMC_H
- #define FMC_H
- #include <stdint.h>
- #define FMC_PAGE_SIZE ((uint16_t)0x400U)
- #define FMC_WRITE_LAST_START_ADDR ((uint32_t)0x0800FC00U)
- #define STORAGE_INFO 0x1FFFF7E0
- #define UNIQUE_ID 0x1FFFF7AC
- #define UNIQUE_ID_0_31 0x1FFFF7AC
- #define UNIQUE_ID_32_63 0x1FFFF7B0
- #define UNIQUE_ID_64_95 0x1FFFF7B4
- #define FMC_DATA_VAILD_FLAG 0xFA
- typedef struct _fmc_data_t
- {
- uint8_t data_valid_flag;
- uint8_t cdata;
- } fmc_data_t;
- void fmc_erase_page(uint8_t page);
- void fmc_program(uint8_t page, uint32_t *data, uint32_t data_len);
- int8_t fmc_load(uint8_t page, uint8_t *data, uint32_t len);
- int8_t fmc_check(fmc_data_t *d, uint32_t len);
- uint8_t fmc_gen_cdata(uint8_t *d, uint32_t len);
- int8_t fmc_check_cdata(uint8_t *d, uint32_t len);
- #endif
|