30 #define FLASH_BURST_PRG_BIT 0x03
33 #define FLASH_PROGRAM_ERROR FLCTL_IFG_PRG_ERR
34 #define FLASH_BENCHMARK_INT FLCTL_IFG_BMRK
35 #define FLASH_ERASE_COMPLETE FLCTL_IFG_ERASE
36 #define FLASH_BRSTPRGM_COMPLETE FLCTL_IFG_PRGB
37 #define FLASH_WRDPRGM_COMPLETE FLCTL_IFG_PRG
38 #define FLASH_POSTVERIFY_FAILED FLCTL_IFG_AVPST
39 #define FLASH_PREVERIFY_FAILED FLCTL_IFG_AVPRE
40 #define FLASH_BRSTRDCMP_COMPLETE FLCTL_IFG_RDBRST
42 #define FLASH_NORMAL_READ_MODE FLCTL_BANK0_RDCTL_RD_MODE_0
43 #define FLASH_MARGIN0_READ_MODE FLCTL_BANK0_RDCTL_RD_MODE_1
44 #define FLASH_MARGIN1_READ_MODE FLCTL_BANK0_RDCTL_RD_MODE_2
45 #define FLASH_PROGRAM_VERIFY_READ_MODE FLCTL_BANK0_RDCTL_RD_MODE_3
46 #define FLASH_ERASE_VERIFY_READ_MODE FLCTL_BANK0_RDCTL_RD_MODE_4
47 #define FLASH_LEAKAGE_VERIFY_READ_MODE FLCTL_BANK0_RDCTL_RD_MODE_5
48 #define FLASH_MARGIN0B_READ_MODE FLCTL_BANK0_RDCTL_RD_MODE_9
49 #define FLASH_MARGIN1B_READ_MODE FLCTL_BANK0_RDCTL_RD_MODE_10
51 #define FLASH_PRGBRSTCTLSTAT_BURSTSTATUS_COMPLETE FLCTL_PRGBRST_CTLSTAT_BURST_STATUS_7
53 #define FLASH_BANK0 0x00
54 #define FLASH_BANK1 0x01
55 #define FLASH_DATA_READ 0x00
56 #define FLASH_INSTRUCTION_FETCH 0x01
58 #define FLASH_MAIN_MEMORY_SPACE_BANK0 0x01
59 #define FLASH_MAIN_MEMORY_SPACE_BANK1 0x02
60 #define FLASH_INFO_MEMORY_SPACE_BANK0 0x03
61 #define FLASH_INFO_MEMORY_SPACE_BANK1 0x04
63 #define FLASH_MAIN_SPACE FLCTL_RDBRST_CTLSTAT_MEM_TYPE_0
64 #define FLASH_INFO_SPACE FLCTL_RDBRST_CTLSTAT_MEM_TYPE_1
65 #define FLASH_1_PATTERN FLCTL_RDBRST_CTLSTAT_DATA_CMP
66 #define FLASH_0_PATTERN 0x00
68 #define FLASH_SECTOR0 FLCTL_BANK0_MAIN_WEPROT_PROT0
69 #define FLASH_SECTOR1 FLCTL_BANK0_MAIN_WEPROT_PROT1
70 #define FLASH_SECTOR2 FLCTL_BANK0_MAIN_WEPROT_PROT2
71 #define FLASH_SECTOR3 FLCTL_BANK0_MAIN_WEPROT_PROT3
72 #define FLASH_SECTOR4 FLCTL_BANK0_MAIN_WEPROT_PROT4
73 #define FLASH_SECTOR5 FLCTL_BANK0_MAIN_WEPROT_PROT5
74 #define FLASH_SECTOR6 FLCTL_BANK0_MAIN_WEPROT_PROT6
75 #define FLASH_SECTOR7 FLCTL_BANK0_MAIN_WEPROT_PROT7
76 #define FLASH_SECTOR8 FLCTL_BANK0_MAIN_WEPROT_PROT8
77 #define FLASH_SECTOR9 FLCTL_BANK0_MAIN_WEPROT_PROT9
78 #define FLASH_SECTOR10 FLCTL_BANK0_MAIN_WEPROT_PROT10
79 #define FLASH_SECTOR11 FLCTL_BANK0_MAIN_WEPROT_PROT11
80 #define FLASH_SECTOR12 FLCTL_BANK0_MAIN_WEPROT_PROT12
81 #define FLASH_SECTOR13 FLCTL_BANK0_MAIN_WEPROT_PROT13
82 #define FLASH_SECTOR14 FLCTL_BANK0_MAIN_WEPROT_PROT14
83 #define FLASH_SECTOR15 FLCTL_BANK0_MAIN_WEPROT_PROT15
84 #define FLASH_SECTOR16 FLCTL_BANK0_MAIN_WEPROT_PROT16
85 #define FLASH_SECTOR17 FLCTL_BANK0_MAIN_WEPROT_PROT17
86 #define FLASH_SECTOR18 FLCTL_BANK0_MAIN_WEPROT_PROT18
87 #define FLASH_SECTOR19 FLCTL_BANK0_MAIN_WEPROT_PROT19
88 #define FLASH_SECTOR20 FLCTL_BANK0_MAIN_WEPROT_PROT20
89 #define FLASH_SECTOR21 FLCTL_BANK0_MAIN_WEPROT_PROT21
90 #define FLASH_SECTOR22 FLCTL_BANK0_MAIN_WEPROT_PROT22
91 #define FLASH_SECTOR23 FLCTL_BANK0_MAIN_WEPROT_PROT23
92 #define FLASH_SECTOR24 FLCTL_BANK0_MAIN_WEPROT_PROT24
93 #define FLASH_SECTOR25 FLCTL_BANK0_MAIN_WEPROT_PROT25
94 #define FLASH_SECTOR26 FLCTL_BANK0_MAIN_WEPROT_PROT26
95 #define FLASH_SECTOR27 FLCTL_BANK0_MAIN_WEPROT_PROT27
96 #define FLASH_SECTOR28 FLCTL_BANK0_MAIN_WEPROT_PROT28
97 #define FLASH_SECTOR29 FLCTL_BANK0_MAIN_WEPROT_PROT29
98 #define FLASH_SECTOR30 FLCTL_BANK0_MAIN_WEPROT_PROT30
99 #define FLASH_SECTOR31 FLCTL_BANK0_MAIN_WEPROT_PROT31
101 #define FLASH_NOVER 0
102 #define FLASH_BURSTPOST FLCTL_PRGBRST_CTLSTAT_AUTO_PST
103 #define FLASH_BURSTPRE FLCTL_PRGBRST_CTLSTAT_AUTO_PRE
104 #define FLASH_REGPRE FLCTL_PRG_CTLSTAT_VER_PRE
105 #define FLASH_REGPOST FLCTL_PRG_CTLSTAT_VER_PST
106 #define FLASH_FULLVER (FLCTL_PRGBRST_CTLSTAT_AUTO_PST | \
107 FLCTL_PRGBRST_CTLSTAT_AUTO_PRE | FLCTL_PRG_CTLSTAT_VER_PRE \
108 | FLCTL_PRG_CTLSTAT_VER_PST)
110 #define FLASH_COLLATED_WRITE_MODE 0x01
111 #define FLASH_IMMEDIATE_WRITE_MODE 0x02
113 #define __INFO_FLASH_TECH_START__ 0x00200000
114 #define __INFO_FLASH_TECH_MIDDLE__ 0x00202000
166 uint_fast8_t accessMethod);
186 uint_fast8_t accessMethod);
248 uint32_t sectorMask);
310 uint32_t sectorMask);
411 uint_fast8_t pattern);
907 #endif // __FLASH_H__
uint32_t FlashCtl_getInterruptStatus(void)
Definition: flash.c:1195
uint32_t FlashCtl_getReadMode(uint32_t flashBank)
Definition: flash.c:708
bool FlashCtl_performMassErase(void)
Definition: flash.c:733
bool FlashCtl_setReadMode(uint32_t flashBank, uint32_t readMode)
Definition: flash.c:679
void FlashCtl_getMemoryInfo(uint32_t addr, uint32_t *sectorNum, uint32_t *bankNum)
Definition: flash.c:106
void FlashCtl_setProgramVerification(uint32_t verificationSetting)
Definition: flash.c:1089
uint32_t FlashCtl_isWordProgrammingEnabled(void)
Definition: flash.c:1143
void FlashCtl_enableWordProgramming(uint32_t mode)
Definition: flash.c:1124
uint32_t FlashCtl_getWaitState(uint32_t bank)
Definition: flash.c:1170
void FlashCtl_registerInterrupt(void(*intHandler)(void))
Definition: flash.c:1210
void FlashCtl_enableReadBuffering(uint_fast8_t memoryBank, uint_fast8_t accessMethod)
Definition: flash.c:388
void FlashCtl_initiateSectorErase(uint32_t addr)
Definition: flash.c:931
uint32_t FlashCtl_getEnabledInterruptStatus(void)
Definition: flash.c:1200
void FlashCtl_enableInterrupt(uint32_t flags)
Definition: flash.c:1185
bool FlashCtl_verifyMemory(void *verifyAddr, uint32_t length, uint_fast8_t pattern)
Definition: flash.c:495
void FlashCtl_unregisterInterrupt(void)
Definition: flash.c:1223
void FlashCtl_clearProgramVerification(uint32_t verificationSetting)
Definition: flash.c:1106
bool FlashCtl_programMemory(void *src, void *dest, uint32_t length)
Definition: flash.c:971
bool FlashCtl_unprotectSector(uint_fast8_t memorySpace, uint32_t sectorMask)
Definition: flash.c:422
void FlashCtl_initiateMassErase(void)
Definition: flash.c:723
uint32_t __FlashCtl_remaskData32Pre(uint32_t data, uint32_t addr)
Definition: flash.c:1358
bool FlashCtl_protectSector(uint_fast8_t memorySpace, uint32_t sectorMask)
Definition: flash.c:449
void FlashCtl_clearInterruptFlag(uint32_t flags)
Definition: flash.c:1205
bool FlashCtl_isSectorProtected(uint_fast8_t memorySpace, uint32_t sector)
Definition: flash.c:476
void FlashCtl_setWaitState(uint32_t bank, uint32_t waitState)
Definition: flash.c:1154
uint32_t __FlashCtl_remaskData32Post(uint32_t data, uint32_t addr)
Definition: flash.c:1310
void __FlashCtl_remaskBurstDataPost(uint32_t addr, uint32_t size)
Definition: flash.c:1471
bool FlashCtl_eraseSector(uint32_t addr)
Definition: flash.c:830
void __FlashCtl_remaskBurstDataPre(uint32_t addr, uint32_t size)
Definition: flash.c:1406
uint8_t __FlashCtl_remaskData8Pre(uint8_t data, uint32_t addr)
Definition: flash.c:1273
void FlashCtl_disableInterrupt(uint32_t flags)
Definition: flash.c:1190
uint8_t __FlashCtl_remaskData8Post(uint8_t data, uint32_t addr)
Definition: flash.c:1236
void FlashCtl_disableWordProgramming(void)
Definition: flash.c:1138
void FlashCtl_disableReadBuffering(uint_fast8_t memoryBank, uint_fast8_t accessMethod)
Definition: flash.c:405