Infineon MOTIX™ MCU TLE987x Device Family SDK
bootrom.h
Go to the documentation of this file.
1 /*
2  ***********************************************************************************************************************
3  *
4  * Copyright (c) Infineon Technologies AG
5  * All rights reserved.
6  *
7  * The applicable license agreement can be found at this pack's installation directory in the file
8  * license/IFX_SW_Licence_MOTIX_LITIX.txt
9  *
10  **********************************************************************************************************************/
20 /*******************************************************************************
21 ** Author(s) Identity **
22 ********************************************************************************
23 ** Initials Name **
24 ** ---------------------------------------------------------------------------**
25 ** DM Daniel Mysliwitz **
26 ** TA Thomas Albersinger **
27 ** BG Blandine Guillot **
28 ** JO Julia Ott **
29 ** VO Vanessa Ongaro **
30 *******************************************************************************/
31 
32 /*******************************************************************************
33 ** Revision Control History **
34 ********************************************************************************
35 ** V0.1.0: 2012-08-31, DM: Initial version **
36 ** V0.1.1: 2012-11-30, DM: Implementation of all BOOTROM functions **
37 ** described in the TLE986x AA-Step BootROM UM V0.9 **
38 ** V0.1.2: 2012-12-03, DM: Defining the function pointers to be const **
39 ** to save unnecessary RAM usage **
40 ** BootROM_Init() function removed **
41 ** V0.1.3: 2013-11-20, DM: handle WDT1 and Interrupts in ProgramPage() **
42 ** function, **
43 ** GetCustomerID() function added **
44 ** V0.1.4: 2014-05-14, DM: Add NVM protect/unprotect functions (BB-step) **
45 ** V0.1.5: 2014-05-18, DM: Provide a union/struct for the encoding of the **
46 ** Customer ID **
47 ** V0.1.6: 2014-06-27, TA: Changed to type definitions from Types.h **
48 ** V0.1.7: 2014-09-22, DM: USER_ECC_CHECK modified, parameter added **
49 ** ProgramPage: interrupts disabled over the entire **
50 ** NVM programming flow, to prevent from nested **
51 ** NVM operations during assembly buffer filling **
52 ** V0.1.8: 2015-06-03, DM: BootROM entry point defines moved into bootrom.h **
53 ** V0.1.9: 2015-07-03, DM: BE-Step compatible **
54 ** USER_MAPRAM_INIT function added **
55 ** V0.2.0: 2015-07-22, DM: typedef unions added for various return values **
56 ** V0.2.1: 2016-04-14, DM: BF-Step BootROM API extension added **
57 ** V0.2.2: 2017-09-29, DM: BootROM functions return values corrected **
58 ** GetCustomerID() parameter changed **
59 ** MISRA 2012 compliance, the following PC-Lint **
60 ** rules are globally deactivated: **
61 ** - Info 793: ANSI/ISO limit of 6 'significant **
62 ** characters in an external identifier **
63 ** - Info 835: A zero has been given as right **
64 ** argument to operator **
65 ** - Info 845: The left argument to operator '&' **
66 ** is certain to be 0 **
67 ** The following rules are locally deactivated: **
68 ** - Note 19: Suppressing MISRA 2012 Error 19: **
69 ** Useless Declaration **
70 ** - Note 970: Suppressing MISRA 2012 MISRA 2012 **
71 ** Directive 4.6 **
72 ** - Note 923: cast from unsigned int to pointer **
73 ** [MISRA Rule 45] **
74 ** V0.2.3: 2018-03-12, DM: The following rules are locally deactivated: **
75 ** - Note 929: cast from pointer to pointer **
76 ** [MISRA 2012 Rule 11.3, required], [MISRA 2012 **
77 ** Rule 11.5, advisory] **
78 ** - Note 9018: declaration of symbol 'CustID' **
79 ** with union based type 'const TCustomerID *' **
80 ** [MISRA 2012 Rule 19.2, advisory] **
81 ** The following rules are activated: **
82 ** - Note 970: Suppressing MISRA 2012 MISRA 2012 **
83 ** Directive 4.6 **
84 ** V0.2.4: 2018-11-27, JO: Doxygen update **
85 ** Move revision history from bootrom.c to bootrom.h**
86 ** V0.2.5: 2019-02-11, DM: Entry points definition reworked to remove **
87 ** MISRA error **
88 ** V0.2.6: 2019-09-10, JO: Enable interrupts in ProgramPage in case of a **
89 ** NVM error **
90 ** V0.2.7: 2020-04-15, BG: Updated revision history format **
91 ** V0.2.8: 2020-07-15, BG: Corrected example code **
92 ** V0.2.9: 2020-07-14, JO: EP-431: remove ARMCC v6 Compiler warnings **
93 ** - Added const to parameter CustID in call of **
94 ** function USER_READ_100TP **
95 ** V0.3.0: 2020-07-21, BG: EP-439: Formatted .h/.c files **
96 ** V0.3.1: 2022-02-25, JO: EP-1040: Corrected usage of CMSIS_Irq_Dis() **
97 ** V0.3.2: 2022-02-28, JO: EP-936: Updated copyright and branding **
98 ** V0.3.3: 2022-10-18, VO: EP-1252: Updated enums, unions and structs **
99 ** V0.3.4: 2025-01-02, JO: EP-1493: Updated license **
100 *******************************************************************************/
101 
102 #ifndef _BOOTROM_H
103 #define _BOOTROM_H
104 
105 /*******************************************************************************
106 ** Includes **
107 *******************************************************************************/
108 #include "types.h"
109 #include "RTE_Components.h"
110 
111 /*******************************************************************************
112 ** Global Macro Definitions **
113 *******************************************************************************/
114 #define FlashPageSize (128U)
115 #define FlashSectorSize (4096U)
116 
117 /*******************************************************************************
118 ** Entry points into the BootROM **
119 *******************************************************************************/
120 #define addr_USER_CFLASH_WR_PROT_EN (0x3925u)
121 #define addr_USER_CFLASH_WR_PROT_DIS (0x391Du)
122 #define addr_USER_CFLASH_RD_PROT_EN (0x3915u)
123 #define addr_USER_CFLASH_RD_PROT_DIS (0x390Du)
124 #define addr_USER_DFLASH_WR_PROT_EN (0x3905u)
125 #define addr_USER_DFLASH_WR_PROT_DIS (0x38FDu)
126 #define addr_USER_DFLASH_RD_PROT_EN (0x38F5u)
127 #define addr_USER_DFLASH_RD_PROT_DIS (0x38EDu)
128 #define addr_USER_OPENAB (0x38E5u)
129 #define addr_USER_PROG (0x38DDu)
130 #define addr_USER_ERASEPG (0x38D5u)
131 #define addr_USER_ABORTPROG (0x38CDu)
132 #define addr_USER_NVMRDY (0x38C5u)
133 #define addr_USER_READ_CAL (0x38BDu)
134 #define addr_USER_NVM_CONFIG (0x38B5u)
135 #define addr_USER_NVM_ECC2ADDR (0x38ADu)
136 #define addr_USER_MAPRAM_INIT (0x389Du)
137 #define addr_USER_READ_100TP (0x3875u)
138 #define addr_USER_100TP_PROG (0x386Du)
139 #define addr_USER_ERASE_SECTOR (0x3865u)
140 #define addr_USER_RAM_MBIST_START (0x384Du)
141 #define addr_USER_NVM_ECC_CHECK (0x3845u)
142 #define addr_USER_ECC_CHECK (0x383Du)
143 /* BF-Step BootROM API extension */
144 #ifdef RTE_DEVICE_BF_STEP
145  #define addr_USER_ERASEPG_VERIFY (0x3885u)
146  #define addr_USER_ERASE_SECTOR_VERIFY (0x388Du)
147  #define addr_USER_VERIFY_PAGE (0x3895u)
148 #endif /* RTE_DEVICE_BF_STEP */
149 
150 /*******************************************************************************
151 ** Customer ID struct **
152 *******************************************************************************/
156 typedef union CustomerID
157 {
159  struct
160  {
161  uint32 : 8;
162  uint32 Step : 8;
163  uint32 Clock : 2;
167  } bit;
169 
170 /*******************************************************************************
171 ** USER_100TP_PROG input struct **
172 *******************************************************************************/
176 typedef struct Data
177 {
181 
182 typedef struct l00TP_Data
183 {
185  TData data[127];
187 
188 /*******************************************************************************
189 ** Function USER_100TP_PROG: return value decoding **
190 *******************************************************************************/
194 typedef union User_100TP_Prog
195 {
197  struct
198  {
202  uint8 : 4;
204  } bit;
206 
207 /*******************************************************************************
208 ** Function USER_PROG: type definition of the parameter PROG_FLAG **
209 *******************************************************************************/
213 typedef union ProgFlag
214 {
216  struct
217  {
220  } bit;
222 
223 /*******************************************************************************
224 ** Function USER_PROG: return value decoding **
225 *******************************************************************************/
229 typedef union User_Prog
230 {
232  struct
233  {
235  uint8 : 3;
240  } bit;
242 
243 /*******************************************************************************
244 ** Function USER_OpenAB: return value decoding **
245 *******************************************************************************/
249 typedef union User_OpenAB
250 {
252  struct
253  {
254  uint8 ABFail : 1;
255  uint8 : 6;
257  } bit;
259 
260 /*******************************************************************************
261 ** Function USER_MAPRAM_INIT: return value decoding **
262 *******************************************************************************/
266 typedef union User_MAPRAM_Init
267 {
269  struct
270  {
272  uint8 : 4;
276  } bit;
278 
279 /*******************************************************************************
280 ** Function USER_NVM_ECC_CHECK: return value decoding **
281 *******************************************************************************/
285 typedef union User_NVM_ECC_Check
286 {
288  struct
289  {
290  uint8 SBE : 1;
291  uint8 DBE : 1;
292  uint8 : 5;
294  } bit;
296 
297 /*******************************************************************************
298 ** Function USER_ECC_CHECK: return value decoding **
299 *******************************************************************************/
303 typedef union User_ECC_Check
304 {
306  struct
307  {
308  uint8 SBE : 1;
309  uint8 DBE : 1;
310  uint8 : 5;
312  } bit;
314 
315 /*******************************************************************************
316 ** Function USER_ERASE_SECTOR_VERIFY: return value decoding **
317 *******************************************************************************/
322 {
324  struct
325  {
328  uint8 : 4;
331  } bit;
333 
334 /*******************************************************************************
335 ** Function USER_ERASEPG_VERIFY: return value decoding **
336 *******************************************************************************/
340 typedef union User_ERASEPG_VERIFY
341 {
343  struct
344  {
347  uint8 : 4;
350  } bit;
352 
353 /*******************************************************************************
354 ** Function USER_VERIFY_PAGE: return value decoding **
355 *******************************************************************************/
359 typedef union User_VERIFY_PAGE
360 {
362  struct
363  {
367  uint8 : 4;
369  } bit;
371 
372 /********************************************************************************
373 ** Global Function Definitions **
374 ********************************************************************************/
375 
376 /* In case of unit testing, these functions are stubbed.
377  * Unit test is performed with Tessy; tessy doesn't interpret the function definitions
378  * which include the pointers to bootROM as functions,
379  * so the function definitions are added here for unit testing only */
380 #ifdef UNIT_TESTING_LV2
381  extern bool USER_CFLASH_WR_PROT_EN (uint16 cflash_pw);
382  extern bool USER_CFLASH_WR_PROT_DIS (uint16 cflash_pw);
383  extern bool USER_CFLASH_RD_PROT_EN (uint16 cflash_pw);
384  extern bool USER_CFLASH_RD_PROT_DIS (uint16 cflash_pw);
385  extern bool USER_DFLASH_WR_PROT_EN (uint16 dflash_pw);
386  extern bool USER_DFLASH_WR_PROT_DIS (uint16 dflash_pw);
387  extern bool USER_DFLASH_RD_PROT_EN (uint16 dflash_pw);
388  extern bool USER_DFLASH_RD_PROT_DIS (uint16 dflash_pw);
389  extern uint8 USER_OPENAB (const uint32 NVMPAGEAddr);
390  extern uint8 USER_PROG (const uint8 PROG_FLAG);
391  extern uint8 USER_ERASEPG (const uint32 *NVMPageAddr, const uint8 XRAM_RTNE_BRNCHNG);
392  extern bool USER_ABORTPROG (void);
393  extern bool USER_NVMRDY (void);
394  extern uint8 USER_READ_CAL (const uint8 NumOfBytes, const uint8 CSAddr, const uint16 RAMAddr);
395  extern bool USER_NVM_CONFIG (const uint8 *NVMSize, const uint8 *MapRAMSize);
396  extern uint8 USER_NVM_ECC2ADDR (const uint16 *ecc2addr);
397  extern uint8 USER_MAPRAM_INIT (void);
398  extern bool USER_READ_100TP (const uint8 OTP_Page_Sel, const uint8 DataOffset, const uint32 *HundredTPData);
399  extern uint8 USER_100TP_PROG (const uint8 OTP_Page_Sel);
400  extern uint8 USER_ERASE_SECTOR (const uint32 NVMSectorAddr);
401  extern uint8 USER_RAM_MBIST_START (const uint16 RAM_MBIST_Stop_Addr, const uint16 RAM_MBIST_Start_addr);
402  extern uint8 USER_NVM_ECC_CHECK (void);
403  extern uint8 USER_ECC_CHECK (const uint32 *ecc2addr);
404  extern uint8 USER_ERASE_SECTOR_VERIFY (const uint32 sector_addr);
405  extern uint8 USER_ERASEPG_VERIFY (const uint32 page_addr);
406  extern uint8 USER_VERIFY_PAGE (const uint32 page_addr);
407 #else
408 
438  extern bool (*const USER_CFLASH_WR_PROT_EN) (uint16 cflash_pw);
439 
469  extern bool (*const USER_CFLASH_WR_PROT_DIS) (uint16 cflash_pw);
470 
500  extern bool (*const USER_CFLASH_RD_PROT_EN) (uint16 cflash_pw);
501 
531  extern bool (*const USER_CFLASH_RD_PROT_DIS) (uint16 cflash_pw);
532 
561  extern bool (*const USER_DFLASH_WR_PROT_EN) (uint16 dflash_pw);
562 
591  extern bool (*const USER_DFLASH_WR_PROT_DIS) (uint16 dflash_pw);
592 
621  extern bool (*const USER_DFLASH_RD_PROT_EN) (uint16 dflash_pw);
622 
651  extern bool (*const USER_DFLASH_RD_PROT_DIS) (uint16 dflash_pw);
652 
686  extern uint8 (*const USER_OPENAB) (const uint32 NVMPAGEAddr);
687 
750  extern uint8 (*const USER_PROG) (const uint8 PROG_FLAG);
751 
780  extern uint8 (*const USER_ERASEPG) (const uint32 *NVMPageAddr, const uint8 XRAM_RTNE_BRNCHNG);
781 
819  extern bool (*const USER_ABORTPROG) (void);
820 
844  extern bool (*const USER_NVMRDY) (void);
845 
874  extern uint8 (*const USER_READ_CAL) (const uint8 NumOfBytes, const uint8 CSAddr, const uint16 RAMAddr);
875 
904  extern bool (*const USER_NVM_CONFIG) (const uint8 *NVMSize, const uint8 *MapRAMSize);
905 
936  extern uint8 (*const USER_NVM_ECC2ADDR) (const uint16 *ecc2addr);
937 
992  extern uint8 (*const USER_MAPRAM_INIT) (void);
993 
1023  extern bool (*const USER_READ_100TP) (const uint8 OTP_Page_Sel, const uint8 DataOffset, const uint32 *HundredTPData);
1024 
1077  extern uint8 (*const USER_100TP_PROG) (const uint8 OTP_Page_Sel);
1078 
1113  extern uint8 (*const USER_ERASE_SECTOR) (const uint32 NVMSectorAddr);
1114 
1157  extern uint8 (*const USER_RAM_MBIST_START) (const uint16 RAM_MBIST_Stop_Addr, const uint16 RAM_MBIST_Start_addr);
1158 
1226  extern uint8 (*const USER_NVM_ECC_CHECK) (void);
1227 
1286  extern uint8 (*const USER_ECC_CHECK) (const uint32 *ecc2addr);
1287 
1288  /* BF-Step BootROM API extension */
1289  #ifdef RTE_DEVICE_BF_STEP
1338  extern uint8 (*const USER_ERASE_SECTOR_VERIFY) (const uint32 sector_addr);
1339 
1389  extern uint8 (*const USER_ERASEPG_VERIFY) (const uint32 page_addr);
1390 
1440  extern uint8 (*const USER_VERIFY_PAGE) (const uint32 page_addr);
1441  #endif /* RTE_DEVICE_BF_STEP */
1442 
1443 
1486  uint8 ProgramPage(uint32 addr, const uint8 *buf, uint8 Branch, uint8 Correct, uint8 FailPageErase);
1487 
1507  bool GetCustomerID(const TCustomerID *CustID);
1508 
1509 #endif
1510 #endif
bool(*const USER_NVM_CONFIG)(const uint8 *NVMSize, const uint8 *MapRAMSize)
Reads the total size of code flash and total size of data flash for this device.
uint8(*const USER_ECC_CHECK)(const uint32 *ecc2addr)
This function returns the address of the last ECC fail.
uint8(*const USER_ERASEPG_VERIFY)(const uint32 page_addr)
This function performs a verify on an erased page.
uint8(*const USER_READ_CAL)(const uint8 NumOfBytes, const uint8 CSAddr, const uint16 RAMAddr)
Reads the NVM calibration data.
uint8(*const USER_MAPRAM_INIT)(void)
This function performs a MapRAM reinitialization.
uint8(*const USER_ERASE_SECTOR_VERIFY)(const uint32 sector_addr)
This function performs a verify on an erased sector.
union User_ERASEPG_VERIFY TUser_ERASEPG_VERIFY
uint8(*const USER_PROG)(const uint8 PROG_FLAG)
Writes the assembly buffer content to the flash page addressed by USER_OPENAB.
bool(*const USER_DFLASH_WR_PROT_EN)(uint16 dflash_pw)
Sets the temporary data flash write protection. The password is compared against the.
bool(*const USER_CFLASH_WR_PROT_EN)(uint16 cflash_pw)
Sets the temporary code flash write protection. The password is compared against the.
uint8(*const USER_ERASEPG)(const uint32 *NVMPageAddr, const uint8 XRAM_RTNE_BRNCHNG)
Erases a flash page, for code flash as well as data flash.
bool(*const USER_DFLASH_RD_PROT_DIS)(uint16 dflash_pw)
Removes the temporary data flash read protection. The password is compared against the.
bool(*const USER_CFLASH_WR_PROT_DIS)(uint16 cflash_pw)
Removes the temporary code flash write protection. The password is compared against the.
uint8 ProgramPage(uint32 addr, const uint8 *buf, uint8 Branch, uint8 Correct, uint8 FailPageErase)
Programms a page to NVM.
uint8(*const USER_NVM_ECC2ADDR)(const uint16 *ecc2addr)
This function returns the last NVM address causing a double bit ECC failure.
union User_NVM_ECC_Check TUser_NVM_ECC_Check
union User_100TP_Prog TUser_100TP_Prog
struct l00TP_Data T100TP_Data
uint8(*const USER_OPENAB)(const uint32 NVMPAGEAddr)
Opens the assembly buffer for writing to a flash page, for code flash as well as data flash.
uint8(*const USER_VERIFY_PAGE)(const uint32 page_addr)
This function performs a verify on a programmed page.
bool(*const USER_CFLASH_RD_PROT_EN)(uint16 cflash_pw)
Sets the temporary code flash read protection. The password is compared against the.
union ProgFlag TProgFlag
bool GetCustomerID(const TCustomerID *CustID)
Reads the Customer ID out of the 100TP NVM.
union User_ECC_Check TUser_ECC_Check
union User_ERASE_SECTOR_VERIFY TUser_ERASE_SECTOR_VERIFY
union User_VERIFY_PAGE TUser_VERIFY_PAGE
union User_MAPRAM_Init TUser_MAPRAM_Init
union User_OpenAB TUser_OpenAB
bool(*const USER_READ_100TP)(const uint8 OTP_Page_Sel, const uint8 DataOffset, const uint32 *HundredTPData)
This function reads four bytes from a selected 100TP page.
bool(*const USER_ABORTPROG)(void)
Closes the Assembly Buffer.
bool(*const USER_NVMRDY)(void)
Returns the status of the NVM module.
struct Data TData
uint8(*const USER_NVM_ECC_CHECK)(void)
This function performs a ECC check on the entire NVM by reading the same.
bool(*const USER_CFLASH_RD_PROT_DIS)(uint16 cflash_pw)
Removes the temporary code flash read protection. The password is compared against the.
union User_Prog TUser_Prog
uint8(*const USER_ERASE_SECTOR)(const uint32 NVMSectorAddr)
This function performs a sector erase.
union CustomerID TCustomerID
uint8(*const USER_100TP_PROG)(const uint8 OTP_Page_Sel)
This function writes data to a selected 100TP page.
bool(*const USER_DFLASH_RD_PROT_EN)(uint16 dflash_pw)
Sets the temporary data flash read protection. The password is compared against the.
uint8(*const USER_RAM_MBIST_START)(const uint16 RAM_MBIST_Stop_Addr, const uint16 RAM_MBIST_Start_addr)
This function performs a MBIST on the RAM for a given address range.
bool(*const USER_DFLASH_WR_PROT_DIS)(uint16 dflash_pw)
Removes the temporary data flash write protection. The password is compared against the.
Definition: bootrom.h:177
uint8 date
Definition: bootrom.h:179
uint8 offset
Definition: bootrom.h:178
Definition: bootrom.h:183
uint8 count
Definition: bootrom.h:184
TData data[127]
Definition: bootrom.h:185
General type declarations.
uint8_t uint8
8 bit unsigned value
Definition: types.h:137
#define bool
Boolean definitions.
Definition: types.h:95
uint16_t uint16
16 bit unsigned value
Definition: types.h:138
uint32_t uint32
32 bit unsigned value
Definition: types.h:139
Definition: bootrom.h:157
uint32 Family
Definition: bootrom.h:166
uint32 Step
Definition: bootrom.h:162
struct CustomerID::@714 bit
uint32 SalesCode
Definition: bootrom.h:165
uint32 Clock
Definition: bootrom.h:163
uint32 Package
Definition: bootrom.h:164
uint32 reg
Definition: bootrom.h:158
Definition: bootrom.h:214
uint8 reg
Definition: bootrom.h:215
uint8 RAM_Branch
Definition: bootrom.h:218
struct ProgFlag::@716 bit
uint8 CorrAct
Definition: bootrom.h:219
This union defines the return parameter of GetCustomerID.
Definition: bootrom.h:195
uint8 reg
Definition: bootrom.h:196
struct User_100TP_Prog::@715 bit
uint8 GlobFail
Definition: bootrom.h:199
uint8 CustIDFail
Definition: bootrom.h:201
uint8 OffsetFail
Definition: bootrom.h:200
uint8 ExecFail
Definition: bootrom.h:203
Definition: bootrom.h:304
uint8 reg
Definition: bootrom.h:305
struct User_ECC_Check::@721 bit
uint8 DBE
Definition: bootrom.h:309
uint8 SBE
Definition: bootrom.h:308
uint8 ExecFail
Definition: bootrom.h:311
Definition: bootrom.h:322
struct User_ERASE_SECTOR_VERIFY::@722 bit
uint8 VerifyFail
Definition: bootrom.h:327
uint8 reg
Definition: bootrom.h:323
uint8 GlobFail
Definition: bootrom.h:326
uint8 MapRAMFail
Definition: bootrom.h:329
uint8 ExecFail
Definition: bootrom.h:330
Definition: bootrom.h:341
uint8 VerifyFail
Definition: bootrom.h:346
uint8 reg
Definition: bootrom.h:342
uint8 GlobFail
Definition: bootrom.h:345
struct User_ERASEPG_VERIFY::@723 bit
uint8 MapRAMFail
Definition: bootrom.h:348
uint8 ExecFail
Definition: bootrom.h:349
Definition: bootrom.h:267
uint8 reg
Definition: bootrom.h:268
uint8 GlobFail
Definition: bootrom.h:271
uint8 DoubleMapping
Definition: bootrom.h:273
struct User_MAPRAM_Init::@719 bit
uint8 FaultyPage
Definition: bootrom.h:274
uint8 ExecFail
Definition: bootrom.h:275
Definition: bootrom.h:286
uint8 reg
Definition: bootrom.h:287
uint8 DBE
Definition: bootrom.h:291
uint8 SBE
Definition: bootrom.h:290
uint8 ExecFail
Definition: bootrom.h:293
struct User_NVM_ECC_Check::@720 bit
Definition: bootrom.h:250
uint8 reg
Definition: bootrom.h:251
struct User_OpenAB::@718 bit
uint8 ABFail
Definition: bootrom.h:254
uint8 ExecFail
Definition: bootrom.h:256
Definition: bootrom.h:230
struct User_Prog::@717 bit
uint8 VerifyFail
Definition: bootrom.h:236
uint8 reg
Definition: bootrom.h:231
uint8 GlobFail
Definition: bootrom.h:234
uint8 EmergExit
Definition: bootrom.h:237
uint8 SparePgFail
Definition: bootrom.h:238
uint8 ExecFail
Definition: bootrom.h:239
Definition: bootrom.h:360
uint8 reg
Definition: bootrom.h:361
uint8 GlobFail
Definition: bootrom.h:364
struct User_VERIFY_PAGE::@724 bit
uint8 VerifyEraseFail
Definition: bootrom.h:365
uint8 VerifyProgFail
Definition: bootrom.h:366
uint8 ExecFail
Definition: bootrom.h:368