/* ****************************************************************************** * @file apt32f102_ifc.h * @author APT AE Team * @version V1.08 * @date 2021/06/21 ****************************************************************************** *THIS SOFTWARE WHICH IS FOR ILLUSTRATIVE PURPOSES ONLY WHICH PROVIDES *CUSTOMER WITH CODING INFORMATION REGARDING THEIR PRODUCTS. *APT CHIP SHALL NOT BE HELD RESPONSIBILITY ADN LIABILITY FOR ANY DIRECT, *INDIRECT DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF *SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION *CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.AND APT CHIP RESERVES *THE RIGHT TO MAKE CHANGES IN THE SOFTWARE WITHOUT NOTIFICATION ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef _apt32f102_ifc_H #define _apt32f102_ifc_H /* Includes ------------------------------------------------------------------*/ #include "apt32f102.h" /****************************************************************************** ************************ ifc Registers Definition ************************* ******************************************************************************/ #define IFC_CLK_EN (0x01ul) #define IFC_CLK_DIS (0xfeul) #define EnIFCClk (IFC->CEDR = (IFC_CLK_EN)) #define DisIFCClk (IFC->CEDR = (IFC_CLK_DIS)) #define USER_KEY (0x5A5A5A5Aul) #define SetUserKey (IFC->KR = (USER_KEY)) #define StartOp (0x01ul) #define IFC_CLKEN (0x01ul) //IFC CLKEN #define IFC_SWRST (0x01ul) //IFC SWRST #define HIDM0 ((0x0ul)<<8) //HID0 #define HIDM1 ((0x1ul)<<8) //HID1 #define HIDM2 ((0x2ul)<<8) //HID2 #define HIDM3 ((0x3ul)<<8) //HID3 // IFC Command #define PROGRAM (0x01ul) #define PAGE_ERASE (0x02ul) #define CHIP_ERASE (0x04ul) #define OPTION_ERASE (0x05ul) #define PEP_ENABLE (0x06ul) //预编程设定 #define PAGE_BUF_CLR (0x07ul) //页缓存清除 #define DIS_SWD_SET (0x0Dul) //SWD 禁止重映射 #define EN_SWD_SET (0x0Eul) //SWD 使能重映射 #define USER_OPTION (0x0Ful) //User OPTION操作 #define USER_KEY (0x5A5A5A5Aul) #define CSP_IFC_SET_KR(ifc, val) (ifc->KR = (val)) // #define StartErase (IFC->CR=(StartOp)) #define EnChipErase (IFC->CMR=(CHIP_ERASE|HIDM1)) #define EnPageErase (IFC->CMR=(PAGE_ERASE|HIDM0)) /** * @brief IFC page address */ typedef enum { PROM_PageAdd0 = ((CSP_REGISTER_T)0x00000000), //PROM 每页256BYTE PROM_PageAdd1 = ((CSP_REGISTER_T)0x00000100), PROM_PageAdd2 = ((CSP_REGISTER_T)0x00000200), PROM_PageAdd3 = ((CSP_REGISTER_T)0x00000300), PROM_PageAdd4 = ((CSP_REGISTER_T)0x00000400), PROM_PageAdd5 = ((CSP_REGISTER_T)0x00000500), PROM_PageAdd6 = ((CSP_REGISTER_T)0x00000600), PROM_PageAdd7 = ((CSP_REGISTER_T)0x00000700), PROM_PageAdd8 = ((CSP_REGISTER_T)0x00000800), PROM_PageAdd9 = ((CSP_REGISTER_T)0x00000900), PROM_PageAdd10 = ((CSP_REGISTER_T)0x00000A00), PROM_PageAdd11 = ((CSP_REGISTER_T)0x00000B00), PROM_PageAdd12 = ((CSP_REGISTER_T)0x00000C00), PROM_PageAdd13 = ((CSP_REGISTER_T)0x00000D00), PROM_PageAdd14 = ((CSP_REGISTER_T)0x00000E00), PROM_PageAdd15 = ((CSP_REGISTER_T)0x00000F00), PROM_PageAdd16 = ((CSP_REGISTER_T)0x00001000), PROM_PageAdd17 = ((CSP_REGISTER_T)0x00001100), PROM_PageAdd18 = ((CSP_REGISTER_T)0x00001200), PROM_PageAdd19 = ((CSP_REGISTER_T)0x00001300), PROM_PageAdd20 = ((CSP_REGISTER_T)0x00001400), PROM_PageAdd21 = ((CSP_REGISTER_T)0x00001500), PROM_PageAdd22 = ((CSP_REGISTER_T)0x00001600), PROM_PageAdd23 = ((CSP_REGISTER_T)0x00001700), PROM_PageAdd24 = ((CSP_REGISTER_T)0x00001800), PROM_PageAdd25 = ((CSP_REGISTER_T)0x00001900), PROM_PageAdd26 = ((CSP_REGISTER_T)0x00001A00), PROM_PageAdd27 = ((CSP_REGISTER_T)0x00001B00), PROM_PageAdd28 = ((CSP_REGISTER_T)0x00001C00), PROM_PageAdd29 = ((CSP_REGISTER_T)0x00001D00), PROM_PageAdd30 = ((CSP_REGISTER_T)0x00001E00), PROM_PageAdd31 = ((CSP_REGISTER_T)0x00001F00), PROM_PageAdd32 = ((CSP_REGISTER_T)0x00002000), PROM_PageAdd33 = ((CSP_REGISTER_T)0x00002100), PROM_PageAdd34 = ((CSP_REGISTER_T)0x00002200), PROM_PageAdd35 = ((CSP_REGISTER_T)0x00002300), PROM_PageAdd36 = ((CSP_REGISTER_T)0x00002400), PROM_PageAdd37 = ((CSP_REGISTER_T)0x00002500), PROM_PageAdd38 = ((CSP_REGISTER_T)0x00002600), PROM_PageAdd39 = ((CSP_REGISTER_T)0x00002700), PROM_PageAdd40 = ((CSP_REGISTER_T)0x00002800), PROM_PageAdd41 = ((CSP_REGISTER_T)0x00002900), PROM_PageAdd42 = ((CSP_REGISTER_T)0x00002A00), PROM_PageAdd43 = ((CSP_REGISTER_T)0x00002B00), PROM_PageAdd44 = ((CSP_REGISTER_T)0x00002C00), PROM_PageAdd45 = ((CSP_REGISTER_T)0x00002D00), PROM_PageAdd46 = ((CSP_REGISTER_T)0x00002E00), PROM_PageAdd47 = ((CSP_REGISTER_T)0x00002F00), PROM_PageAdd48 = ((CSP_REGISTER_T)0x00003000), PROM_PageAdd49 = ((CSP_REGISTER_T)0x00003100), PROM_PageAdd50 = ((CSP_REGISTER_T)0x00003200), PROM_PageAdd51 = ((CSP_REGISTER_T)0x00003300), PROM_PageAdd52 = ((CSP_REGISTER_T)0x00003400), PROM_PageAdd53 = ((CSP_REGISTER_T)0x00003500), PROM_PageAdd54 = ((CSP_REGISTER_T)0x00003600), PROM_PageAdd55 = ((CSP_REGISTER_T)0x00003700), PROM_PageAdd56 = ((CSP_REGISTER_T)0x00003800), PROM_PageAdd57 = ((CSP_REGISTER_T)0x00003900), PROM_PageAdd58 = ((CSP_REGISTER_T)0x00003A00), PROM_PageAdd59 = ((CSP_REGISTER_T)0x00003B00), PROM_PageAdd60 = ((CSP_REGISTER_T)0x00003C00), PROM_PageAdd61 = ((CSP_REGISTER_T)0x00003D00), PROM_PageAdd62 = ((CSP_REGISTER_T)0x00003E00), PROM_PageAdd63 = ((CSP_REGISTER_T)0x00003F00), PROM_PageAdd64 = ((CSP_REGISTER_T)0x00004000), PROM_PageAdd65 = ((CSP_REGISTER_T)0x00004100), PROM_PageAdd66 = ((CSP_REGISTER_T)0x00004200), PROM_PageAdd67 = ((CSP_REGISTER_T)0x00004300), PROM_PageAdd68 = ((CSP_REGISTER_T)0x00004400), PROM_PageAdd69 = ((CSP_REGISTER_T)0x00004500), PROM_PageAdd70 = ((CSP_REGISTER_T)0x00004600), PROM_PageAdd71 = ((CSP_REGISTER_T)0x00004700), PROM_PageAdd72 = ((CSP_REGISTER_T)0x00004800), PROM_PageAdd73 = ((CSP_REGISTER_T)0x00004900), PROM_PageAdd74 = ((CSP_REGISTER_T)0x00004A00), PROM_PageAdd75 = ((CSP_REGISTER_T)0x00004B00), PROM_PageAdd76 = ((CSP_REGISTER_T)0x00004C00), PROM_PageAdd77 = ((CSP_REGISTER_T)0x00004D00), PROM_PageAdd78 = ((CSP_REGISTER_T)0x00004E00), PROM_PageAdd79 = ((CSP_REGISTER_T)0x00004F00), PROM_PageAdd80 = ((CSP_REGISTER_T)0x00005000), PROM_PageAdd81 = ((CSP_REGISTER_T)0x00005100), PROM_PageAdd82 = ((CSP_REGISTER_T)0x00005200), PROM_PageAdd83 = ((CSP_REGISTER_T)0x00005300), PROM_PageAdd84 = ((CSP_REGISTER_T)0x00005400), PROM_PageAdd85 = ((CSP_REGISTER_T)0x00005500), PROM_PageAdd86 = ((CSP_REGISTER_T)0x00005600), PROM_PageAdd87 = ((CSP_REGISTER_T)0x00005700), PROM_PageAdd88 = ((CSP_REGISTER_T)0x00005800), PROM_PageAdd89 = ((CSP_REGISTER_T)0x00005900), PROM_PageAdd90 = ((CSP_REGISTER_T)0x00005A00), PROM_PageAdd91 = ((CSP_REGISTER_T)0x00005B00), PROM_PageAdd92 = ((CSP_REGISTER_T)0x00005C00), PROM_PageAdd93 = ((CSP_REGISTER_T)0x00005D00), PROM_PageAdd94 = ((CSP_REGISTER_T)0x00005E00), PROM_PageAdd95 = ((CSP_REGISTER_T)0x00005F00), PROM_PageAdd96 = ((CSP_REGISTER_T)0x00006000), PROM_PageAdd97 = ((CSP_REGISTER_T)0x00006100), PROM_PageAdd98 = ((CSP_REGISTER_T)0x00006200), PROM_PageAdd99 = ((CSP_REGISTER_T)0x00006300), PROM_PageAdd100 = ((CSP_REGISTER_T)0x00006400), PROM_PageAdd101 = ((CSP_REGISTER_T)0x00006500), PROM_PageAdd102 = ((CSP_REGISTER_T)0x00006600), PROM_PageAdd103 = ((CSP_REGISTER_T)0x00006700), PROM_PageAdd104 = ((CSP_REGISTER_T)0x00006800), PROM_PageAdd105 = ((CSP_REGISTER_T)0x00006900), PROM_PageAdd106 = ((CSP_REGISTER_T)0x00006A00), PROM_PageAdd107 = ((CSP_REGISTER_T)0x00006B00), PROM_PageAdd108 = ((CSP_REGISTER_T)0x00006C00), PROM_PageAdd109 = ((CSP_REGISTER_T)0x00006D00), PROM_PageAdd110 = ((CSP_REGISTER_T)0x00006E00), PROM_PageAdd111 = ((CSP_REGISTER_T)0x00006F00), PROM_PageAdd112 = ((CSP_REGISTER_T)0x00007000), PROM_PageAdd113 = ((CSP_REGISTER_T)0x00007100), PROM_PageAdd114 = ((CSP_REGISTER_T)0x00007200), PROM_PageAdd115 = ((CSP_REGISTER_T)0x00007300), PROM_PageAdd116 = ((CSP_REGISTER_T)0x00007400), PROM_PageAdd117 = ((CSP_REGISTER_T)0x00007500), PROM_PageAdd118 = ((CSP_REGISTER_T)0x00007600), PROM_PageAdd119 = ((CSP_REGISTER_T)0x00007700), PROM_PageAdd120 = ((CSP_REGISTER_T)0x00007800), PROM_PageAdd121 = ((CSP_REGISTER_T)0x00007900), PROM_PageAdd122 = ((CSP_REGISTER_T)0x00007A00), PROM_PageAdd123 = ((CSP_REGISTER_T)0x00007B00), PROM_PageAdd124 = ((CSP_REGISTER_T)0x00007C00), PROM_PageAdd125 = ((CSP_REGISTER_T)0x00007D00), PROM_PageAdd126 = ((CSP_REGISTER_T)0x00007E00), PROM_PageAdd127 = ((CSP_REGISTER_T)0x00007F00), PROM_PageAdd128 = ((CSP_REGISTER_T)0x00008000), PROM_PageAdd129 = ((CSP_REGISTER_T)0x00008100), PROM_PageAdd130 = ((CSP_REGISTER_T)0x00008200), PROM_PageAdd131 = ((CSP_REGISTER_T)0x00008300), PROM_PageAdd132 = ((CSP_REGISTER_T)0x00008400), PROM_PageAdd133 = ((CSP_REGISTER_T)0x00008500), PROM_PageAdd134 = ((CSP_REGISTER_T)0x00008600), PROM_PageAdd135 = ((CSP_REGISTER_T)0x00008700), PROM_PageAdd136 = ((CSP_REGISTER_T)0x00008800), PROM_PageAdd137 = ((CSP_REGISTER_T)0x00008900), PROM_PageAdd138 = ((CSP_REGISTER_T)0x00008A00), PROM_PageAdd139 = ((CSP_REGISTER_T)0x00008B00), PROM_PageAdd140 = ((CSP_REGISTER_T)0x00008C00), PROM_PageAdd141 = ((CSP_REGISTER_T)0x00008D00), PROM_PageAdd142 = ((CSP_REGISTER_T)0x00008E00), PROM_PageAdd143 = ((CSP_REGISTER_T)0x00008F00), PROM_PageAdd144 = ((CSP_REGISTER_T)0x00009000), PROM_PageAdd145 = ((CSP_REGISTER_T)0x00009100), PROM_PageAdd146 = ((CSP_REGISTER_T)0x00009200), PROM_PageAdd147 = ((CSP_REGISTER_T)0x00009300), PROM_PageAdd148 = ((CSP_REGISTER_T)0x00009400), PROM_PageAdd149 = ((CSP_REGISTER_T)0x00009500), PROM_PageAdd150 = ((CSP_REGISTER_T)0x00009600), PROM_PageAdd151 = ((CSP_REGISTER_T)0x00009700), PROM_PageAdd152 = ((CSP_REGISTER_T)0x00009800), PROM_PageAdd153 = ((CSP_REGISTER_T)0x00009900), PROM_PageAdd154 = ((CSP_REGISTER_T)0x00009A00), PROM_PageAdd155 = ((CSP_REGISTER_T)0x00009B00), PROM_PageAdd156 = ((CSP_REGISTER_T)0x00009C00), PROM_PageAdd157 = ((CSP_REGISTER_T)0x00009D00), PROM_PageAdd158 = ((CSP_REGISTER_T)0x00009E00), PROM_PageAdd159 = ((CSP_REGISTER_T)0x00009F00), PROM_PageAdd160 = ((CSP_REGISTER_T)0x0000A000), PROM_PageAdd161 = ((CSP_REGISTER_T)0x0000A100), PROM_PageAdd162 = ((CSP_REGISTER_T)0x0000A200), PROM_PageAdd163 = ((CSP_REGISTER_T)0x0000A300), PROM_PageAdd164 = ((CSP_REGISTER_T)0x0000A400), PROM_PageAdd165 = ((CSP_REGISTER_T)0x0000A500), PROM_PageAdd166 = ((CSP_REGISTER_T)0x0000A600), PROM_PageAdd167 = ((CSP_REGISTER_T)0x0000A700), PROM_PageAdd168 = ((CSP_REGISTER_T)0x0000A800), PROM_PageAdd169 = ((CSP_REGISTER_T)0x0000A900), PROM_PageAdd170 = ((CSP_REGISTER_T)0x0000AA00), PROM_PageAdd171 = ((CSP_REGISTER_T)0x0000AB00), PROM_PageAdd172 = ((CSP_REGISTER_T)0x0000AC00), PROM_PageAdd173 = ((CSP_REGISTER_T)0x0000AD00), PROM_PageAdd174 = ((CSP_REGISTER_T)0x0000AE00), PROM_PageAdd175 = ((CSP_REGISTER_T)0x0000AF00), PROM_PageAdd176 = ((CSP_REGISTER_T)0x0000B000), PROM_PageAdd177 = ((CSP_REGISTER_T)0x0000B100), PROM_PageAdd178 = ((CSP_REGISTER_T)0x0000B200), PROM_PageAdd179 = ((CSP_REGISTER_T)0x0000B300), PROM_PageAdd180 = ((CSP_REGISTER_T)0x0000B400), PROM_PageAdd181 = ((CSP_REGISTER_T)0x0000B500), PROM_PageAdd182 = ((CSP_REGISTER_T)0x0000B600), PROM_PageAdd183 = ((CSP_REGISTER_T)0x0000B700), PROM_PageAdd184 = ((CSP_REGISTER_T)0x0000B800), PROM_PageAdd185 = ((CSP_REGISTER_T)0x0000B900), PROM_PageAdd186 = ((CSP_REGISTER_T)0x0000BA00), PROM_PageAdd187 = ((CSP_REGISTER_T)0x0000BB00), PROM_PageAdd188 = ((CSP_REGISTER_T)0x0000BC00), PROM_PageAdd189 = ((CSP_REGISTER_T)0x0000BD00), PROM_PageAdd190 = ((CSP_REGISTER_T)0x0000BE00), PROM_PageAdd191 = ((CSP_REGISTER_T)0x0000BF00), PROM_PageAdd192 = ((CSP_REGISTER_T)0x0000C000), PROM_PageAdd193 = ((CSP_REGISTER_T)0x0000C100), PROM_PageAdd194 = ((CSP_REGISTER_T)0x0000C200), PROM_PageAdd195 = ((CSP_REGISTER_T)0x0000C300), PROM_PageAdd196 = ((CSP_REGISTER_T)0x0000C400), PROM_PageAdd197 = ((CSP_REGISTER_T)0x0000C500), PROM_PageAdd198 = ((CSP_REGISTER_T)0x0000C600), PROM_PageAdd199 = ((CSP_REGISTER_T)0x0000C700), PROM_PageAdd200 = ((CSP_REGISTER_T)0x0000C800), PROM_PageAdd201 = ((CSP_REGISTER_T)0x0000C900), PROM_PageAdd202 = ((CSP_REGISTER_T)0x0000CA00), PROM_PageAdd203 = ((CSP_REGISTER_T)0x0000CB00), PROM_PageAdd204 = ((CSP_REGISTER_T)0x0000CC00), PROM_PageAdd205 = ((CSP_REGISTER_T)0x0000CD00), PROM_PageAdd206 = ((CSP_REGISTER_T)0x0000CE00), PROM_PageAdd207 = ((CSP_REGISTER_T)0x0000CF00), PROM_PageAdd208 = ((CSP_REGISTER_T)0x0000D000), PROM_PageAdd209 = ((CSP_REGISTER_T)0x0000D100), PROM_PageAdd210 = ((CSP_REGISTER_T)0x0000D200), PROM_PageAdd211 = ((CSP_REGISTER_T)0x0000D300), PROM_PageAdd212 = ((CSP_REGISTER_T)0x0000D400), PROM_PageAdd213 = ((CSP_REGISTER_T)0x0000D500), PROM_PageAdd214 = ((CSP_REGISTER_T)0x0000D600), PROM_PageAdd215 = ((CSP_REGISTER_T)0x0000D700), PROM_PageAdd216 = ((CSP_REGISTER_T)0x0000D800), PROM_PageAdd217 = ((CSP_REGISTER_T)0x0000D900), PROM_PageAdd218 = ((CSP_REGISTER_T)0x0000DA00), PROM_PageAdd219 = ((CSP_REGISTER_T)0x0000DB00), PROM_PageAdd220 = ((CSP_REGISTER_T)0x0000DC00), PROM_PageAdd221 = ((CSP_REGISTER_T)0x0000DD00), PROM_PageAdd222 = ((CSP_REGISTER_T)0x0000DE00), PROM_PageAdd223 = ((CSP_REGISTER_T)0x0000DF00), PROM_PageAdd224 = ((CSP_REGISTER_T)0x0000E000), PROM_PageAdd225 = ((CSP_REGISTER_T)0x0000E100), PROM_PageAdd226 = ((CSP_REGISTER_T)0x0000E200), PROM_PageAdd227 = ((CSP_REGISTER_T)0x0000E300), PROM_PageAdd228 = ((CSP_REGISTER_T)0x0000E400), PROM_PageAdd229 = ((CSP_REGISTER_T)0x0000E500), PROM_PageAdd230 = ((CSP_REGISTER_T)0x0000E600), PROM_PageAdd231 = ((CSP_REGISTER_T)0x0000E700), PROM_PageAdd232 = ((CSP_REGISTER_T)0x0000E800), PROM_PageAdd233 = ((CSP_REGISTER_T)0x0000E900), PROM_PageAdd234 = ((CSP_REGISTER_T)0x0000EA00), PROM_PageAdd235 = ((CSP_REGISTER_T)0x0000EB00), PROM_PageAdd236 = ((CSP_REGISTER_T)0x0000EC00), PROM_PageAdd237 = ((CSP_REGISTER_T)0x0000ED00), PROM_PageAdd238 = ((CSP_REGISTER_T)0x0000EE00), PROM_PageAdd239 = ((CSP_REGISTER_T)0x0000EF00), PROM_PageAdd240 = ((CSP_REGISTER_T)0x0000F000), PROM_PageAdd241 = ((CSP_REGISTER_T)0x0000F100), PROM_PageAdd242 = ((CSP_REGISTER_T)0x0000F200), PROM_PageAdd243 = ((CSP_REGISTER_T)0x0000F300), PROM_PageAdd244 = ((CSP_REGISTER_T)0x0000F400), PROM_PageAdd245 = ((CSP_REGISTER_T)0x0000F50), PROM_PageAdd246 = ((CSP_REGISTER_T)0x0000F600), PROM_PageAdd247 = ((CSP_REGISTER_T)0x0000F700), PROM_PageAdd248 = ((CSP_REGISTER_T)0x0000F800), PROM_PageAdd249 = ((CSP_REGISTER_T)0x0000F900), PROM_PageAdd250 = ((CSP_REGISTER_T)0x0000FA00), PROM_PageAdd251 = ((CSP_REGISTER_T)0x0000FB00), PROM_PageAdd252 = ((CSP_REGISTER_T)0x0000FC00), PROM_PageAdd253 = ((CSP_REGISTER_T)0x0000FD00), PROM_PageAdd254 = ((CSP_REGISTER_T)0x0000FE00), PROM_PageAdd255 = ((CSP_REGISTER_T)0x0000FF00), DROM_PageAdd0 = ((CSP_REGISTER_T)0x10000000), //DROM 每页64BYTE DROM_PageAdd1 = ((CSP_REGISTER_T)0x10000040), DROM_PageAdd2 = ((CSP_REGISTER_T)0x10000080), DROM_PageAdd3 = ((CSP_REGISTER_T)0x100000C0), DROM_PageAdd4 = ((CSP_REGISTER_T)0x10000100), DROM_PageAdd5 = ((CSP_REGISTER_T)0x10000140), DROM_PageAdd6 = ((CSP_REGISTER_T)0x10000180), DROM_PageAdd7 = ((CSP_REGISTER_T)0x100001C0), DROM_PageAdd8 = ((CSP_REGISTER_T)0x10000200), DROM_PageAdd9 = ((CSP_REGISTER_T)0x10000240), DROM_PageAdd10 = ((CSP_REGISTER_T)0x10000280), DROM_PageAdd11 = ((CSP_REGISTER_T)0x100002C0), DROM_PageAdd12 = ((CSP_REGISTER_T)0x10000300), DROM_PageAdd13 = ((CSP_REGISTER_T)0x10000340), DROM_PageAdd14 = ((CSP_REGISTER_T)0x10000380), DROM_PageAdd15 = ((CSP_REGISTER_T)0x100003C0), DROM_PageAdd16 = ((CSP_REGISTER_T)0x10000400), DROM_PageAdd17 = ((CSP_REGISTER_T)0x10000440), DROM_PageAdd18 = ((CSP_REGISTER_T)0x10000480), DROM_PageAdd19 = ((CSP_REGISTER_T)0x100004C0), DROM_PageAdd20 = ((CSP_REGISTER_T)0x10000500), DROM_PageAdd21 = ((CSP_REGISTER_T)0x10000540), DROM_PageAdd22 = ((CSP_REGISTER_T)0x10000580), DROM_PageAdd23 = ((CSP_REGISTER_T)0x100005C0), DROM_PageAdd24 = ((CSP_REGISTER_T)0x10000600), DROM_PageAdd25 = ((CSP_REGISTER_T)0x10000640), DROM_PageAdd26 = ((CSP_REGISTER_T)0x10000680), DROM_PageAdd27 = ((CSP_REGISTER_T)0x100006C0), DROM_PageAdd28 = ((CSP_REGISTER_T)0x10000700), DROM_PageAdd29 = ((CSP_REGISTER_T)0x10000740), DROM_PageAdd30 = ((CSP_REGISTER_T)0x10000780), DROM_PageAdd31 = ((CSP_REGISTER_T)0x100007C0) }IFC_ROMSELETED_TypeDef; /** * @brief IFC INT mode */ typedef enum { ERS_END_INT = (0x01ul), RGM_END_INT = ((0x01ul)<<1), PEP_END_INT = ((0x01ul)<<2), PROT_ERR_INT = ((0x01ul)<<12), UDEF_ERR_INT = ((0x01ul)<<13), ADDR_ERR_INT = ((0x01ul)<<14), OVW_ERR_INT = ((0x01ul)<<15) }IFC_INT_TypeDef; extern void ChipErase(void); extern void PageErase(IFC_ROMSELETED_TypeDef XROM_PageAd); extern void IFC_interrupt_CMD(FunctionalStatus NewState ,IFC_INT_TypeDef IFC_INT_x); extern void IFC_Int_Enable(void); extern void IFC_Int_Disable(void); extern void Page_ProgramData(unsigned int FlashAdd,unsigned int DataSize,volatile unsigned char *BufArry); extern void Page_ProgramData_int(unsigned int FlashAdd,unsigned int DataSize,volatile unsigned char *BufArry); extern void ReadDataArry(unsigned int RdStartAdd,unsigned int DataLength,volatile unsigned char *DataArryPoint); extern void ReadDataArry_U8(unsigned int RdStartAdd,unsigned int DataLength,volatile unsigned char *DataArryPoint); extern volatile unsigned int R_INT_FlashAdd; extern volatile unsigned char f_Drom_write_complete; extern volatile unsigned char f_Drom_writing; extern volatile unsigned char ifc_step; extern void Page_ProgramData_U32(unsigned int FlashAdd,unsigned int DataSize,volatile U32_T *BufArry); extern void ReadDataArry_U32(unsigned int RdStartAdd,unsigned int DataLength,volatile U32_T *DataArryPoint); #endif /**< apt32f102_ifc_H */ /******************* (C) COPYRIGHT 2020 APT Chip *****END OF FILE****/