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  * Redistribution and use in source and binary forms, with or without modification,are permitted provided that the
8  * following conditions are met:
9  *
10  * Redistributions of source code must retain the above copyright notice, this list of conditions and the following
11  * disclaimer.
12  *
13  * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
14  * following disclaimer in the documentation and/or other materials provided with the distribution.
15  *
16  * Neither the name of the copyright holders nor the names of its contributors may be used to endorse or promote
17  * products derived from this software without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
20  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24  * WHETHER IN CONTRACT, STRICT LIABILITY,OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
25  * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  *
27  **********************************************************************************************************************/
37 /*******************************************************************************
38 ** Author(s) Identity **
39 ********************************************************************************
40 ** Initials Name **
41 ** ---------------------------------------------------------------------------**
42 ** DM Daniel Mysliwitz **
43 ** TA Thomas Albersinger **
44 ** BG Blandine Guillot **
45 ** JO Julia Ott **
46 ** VO Vanessa Ongaro **
47 *******************************************************************************/
48 
49 /*******************************************************************************
50 ** Revision Control History **
51 ********************************************************************************
52 ** V0.1.0: 2012-08-31, DM: Initial version **
53 ** V0.1.1: 2012-11-30, DM: Implementation of all BOOTROM functions **
54 ** described in the TLE986x AA-Step BootROM UM V0.9 **
55 ** V0.1.2: 2012-12-03, DM: Defining the function pointers to be const **
56 ** to save unnecessary RAM usage **
57 ** BootROM_Init() function removed **
58 ** V0.1.3: 2013-11-20, DM: handle WDT1 and Interrupts in ProgramPage() **
59 ** function, **
60 ** GetCustomerID() function added **
61 ** V0.1.4: 2014-05-14, DM: Add NVM protect/unprotect functions (BB-step) **
62 ** V0.1.5: 2014-05-18, DM: Provide a union/struct for the encoding of the **
63 ** Customer ID **
64 ** V0.1.6: 2014-06-27, TA: Changed to type definitions from Types.h **
65 ** V0.1.7: 2014-09-22, DM: USER_ECC_CHECK modified, parameter added **
66 ** ProgramPage: interrupts disabled over the entire **
67 ** NVM programming flow, to prevent from nested **
68 ** NVM operations during assembly buffer filling **
69 ** V0.1.8: 2015-06-03, DM: BootROM entry point defines moved into bootrom.h **
70 ** V0.1.9: 2015-07-03, DM: BE-Step compatible **
71 ** USER_MAPRAM_INIT function added **
72 ** V0.2.0: 2015-07-22, DM: typedef unions added for various return values **
73 ** V0.2.1: 2016-04-14, DM: BF-Step BootROM API extension added **
74 ** V0.2.2: 2017-09-29, DM: BootROM functions return values corrected **
75 ** GetCustomerID() parameter changed **
76 ** MISRA 2012 compliance, the following PC-Lint **
77 ** rules are globally deactivated: **
78 ** - Info 793: ANSI/ISO limit of 6 'significant **
79 ** characters in an external identifier **
80 ** - Info 835: A zero has been given as right **
81 ** argument to operator **
82 ** - Info 845: The left argument to operator '&' **
83 ** is certain to be 0 **
84 ** The following rules are locally deactivated: **
85 ** - Note 19: Suppressing MISRA 2012 Error 19: **
86 ** Useless Declaration **
87 ** - Note 970: Suppressing MISRA 2012 MISRA 2012 **
88 ** Directive 4.6 **
89 ** - Note 923: cast from unsigned int to pointer **
90 ** [MISRA Rule 45] **
91 ** V0.2.3: 2018-03-12, DM: The following rules are locally deactivated: **
92 ** - Note 929: cast from pointer to pointer **
93 ** [MISRA 2012 Rule 11.3, required], [MISRA 2012 **
94 ** Rule 11.5, advisory] **
95 ** - Note 9018: declaration of symbol 'CustID' **
96 ** with union based type 'const TCustomerID *' **
97 ** [MISRA 2012 Rule 19.2, advisory] **
98 ** The following rules are activated: **
99 ** - Note 970: Suppressing MISRA 2012 MISRA 2012 **
100 ** Directive 4.6 **
101 ** V0.2.4: 2018-11-27, JO: Doxygen update **
102 ** Move revision history from bootrom.c to bootrom.h**
103 ** V0.2.5: 2019-02-11, DM: Entry points definition reworked to remove **
104 ** MISRA error **
105 ** V0.2.6: 2019-09-10, JO: Enable interrupts in ProgramPage in case of a **
106 ** NVM error **
107 ** V0.2.7: 2020-04-15, BG: Updated revision history format **
108 ** V0.2.8: 2020-07-15, BG: Corrected example code **
109 ** V0.2.9: 2020-07-14, JO: EP-431: remove ARMCC v6 Compiler warnings **
110 ** - Added const to parameter CustID in call of **
111 ** function USER_READ_100TP **
112 ** V0.3.0: 2020-07-21, BG: EP-439: Formatted .h/.c files **
113 ** V0.3.1: 2022-02-25, JO: EP-1040: Corrected usage of CMSIS_Irq_Dis() **
114 ** V0.3.2: 2022-02-28, JO: EP-936: Updated copyright and branding **
115 ** V0.3.3: 2022-10-18, VO: EP-1252: Updated enums, unions and structs **
116 *******************************************************************************/
117 
118 #ifndef _BOOTROM_H
119 #define _BOOTROM_H
120 
121 /*******************************************************************************
122 ** Includes **
123 *******************************************************************************/
124 #include "types.h"
125 #include "RTE_Components.h"
126 
127 /*******************************************************************************
128 ** Global Macro Definitions **
129 *******************************************************************************/
130 #define FlashPageSize (128U)
131 #define FlashSectorSize (4096U)
132 
133 /*******************************************************************************
134 ** Entry points into the BootROM **
135 *******************************************************************************/
136 #define addr_USER_CFLASH_WR_PROT_EN (0x3925u)
137 #define addr_USER_CFLASH_WR_PROT_DIS (0x391Du)
138 #define addr_USER_CFLASH_RD_PROT_EN (0x3915u)
139 #define addr_USER_CFLASH_RD_PROT_DIS (0x390Du)
140 #define addr_USER_DFLASH_WR_PROT_EN (0x3905u)
141 #define addr_USER_DFLASH_WR_PROT_DIS (0x38FDu)
142 #define addr_USER_DFLASH_RD_PROT_EN (0x38F5u)
143 #define addr_USER_DFLASH_RD_PROT_DIS (0x38EDu)
144 #define addr_USER_OPENAB (0x38E5u)
145 #define addr_USER_PROG (0x38DDu)
146 #define addr_USER_ERASEPG (0x38D5u)
147 #define addr_USER_ABORTPROG (0x38CDu)
148 #define addr_USER_NVMRDY (0x38C5u)
149 #define addr_USER_READ_CAL (0x38BDu)
150 #define addr_USER_NVM_CONFIG (0x38B5u)
151 #define addr_USER_NVM_ECC2ADDR (0x38ADu)
152 #define addr_USER_MAPRAM_INIT (0x389Du)
153 #define addr_USER_READ_100TP (0x3875u)
154 #define addr_USER_100TP_PROG (0x386Du)
155 #define addr_USER_ERASE_SECTOR (0x3865u)
156 #define addr_USER_RAM_MBIST_START (0x384Du)
157 #define addr_USER_NVM_ECC_CHECK (0x3845u)
158 #define addr_USER_ECC_CHECK (0x383Du)
159 /* BF-Step BootROM API extension */
160 #ifdef RTE_DEVICE_BF_STEP
161  #define addr_USER_ERASEPG_VERIFY (0x3885u)
162  #define addr_USER_ERASE_SECTOR_VERIFY (0x388Du)
163  #define addr_USER_VERIFY_PAGE (0x3895u)
164 #endif /* RTE_DEVICE_BF_STEP */
165 
166 /*******************************************************************************
167 ** Customer ID struct **
168 *******************************************************************************/
172 typedef union CustomerID
173 {
175  struct
176  {
177  uint32 : 8;
178  uint32 Step : 8;
179  uint32 Clock : 2;
183  } bit;
185 
186 /*******************************************************************************
187 ** USER_100TP_PROG input struct **
188 *******************************************************************************/
192 typedef struct Data
193 {
197 
198 typedef struct l00TP_Data
199 {
201  TData data[127];
203 
204 /*******************************************************************************
205 ** Function USER_100TP_PROG: return value decoding **
206 *******************************************************************************/
210 typedef union User_100TP_Prog
211 {
213  struct
214  {
218  uint8 : 4;
220  } bit;
222 
223 /*******************************************************************************
224 ** Function USER_PROG: type definition of the parameter PROG_FLAG **
225 *******************************************************************************/
229 typedef union ProgFlag
230 {
232  struct
233  {
236  } bit;
238 
239 /*******************************************************************************
240 ** Function USER_PROG: return value decoding **
241 *******************************************************************************/
245 typedef union User_Prog
246 {
248  struct
249  {
251  uint8 : 3;
256  } bit;
258 
259 /*******************************************************************************
260 ** Function USER_OpenAB: return value decoding **
261 *******************************************************************************/
265 typedef union User_OpenAB
266 {
268  struct
269  {
270  uint8 ABFail : 1;
271  uint8 : 6;
273  } bit;
275 
276 /*******************************************************************************
277 ** Function USER_MAPRAM_INIT: return value decoding **
278 *******************************************************************************/
282 typedef union User_MAPRAM_Init
283 {
285  struct
286  {
288  uint8 : 4;
292  } bit;
294 
295 /*******************************************************************************
296 ** Function USER_NVM_ECC_CHECK: return value decoding **
297 *******************************************************************************/
301 typedef union User_NVM_ECC_Check
302 {
304  struct
305  {
306  uint8 SBE : 1;
307  uint8 DBE : 1;
308  uint8 : 5;
310  } bit;
312 
313 /*******************************************************************************
314 ** Function USER_ECC_CHECK: return value decoding **
315 *******************************************************************************/
319 typedef union User_ECC_Check
320 {
322  struct
323  {
324  uint8 SBE : 1;
325  uint8 DBE : 1;
326  uint8 : 5;
328  } bit;
330 
331 /*******************************************************************************
332 ** Function USER_ERASE_SECTOR_VERIFY: return value decoding **
333 *******************************************************************************/
338 {
340  struct
341  {
344  uint8 : 4;
347  } bit;
349 
350 /*******************************************************************************
351 ** Function USER_ERASEPG_VERIFY: return value decoding **
352 *******************************************************************************/
356 typedef union User_ERASEPG_VERIFY
357 {
359  struct
360  {
363  uint8 : 4;
366  } bit;
368 
369 /*******************************************************************************
370 ** Function USER_VERIFY_PAGE: return value decoding **
371 *******************************************************************************/
375 typedef union User_VERIFY_PAGE
376 {
378  struct
379  {
383  uint8 : 4;
385  } bit;
387 
388 /********************************************************************************
389 ** Global Function Definitions **
390 ********************************************************************************/
391 
392 /* In case of unit testing, these functions are stubbed.
393  * Unit test is performed with Tessy; tessy doesn't interpret the function definitions
394  * which include the pointers to bootROM as functions,
395  * so the function definitions are added here for unit testing only */
396 #ifdef UNIT_TESTING_LV2
397  extern bool USER_CFLASH_WR_PROT_EN (uint16 cflash_pw);
398  extern bool USER_CFLASH_WR_PROT_DIS (uint16 cflash_pw);
399  extern bool USER_CFLASH_RD_PROT_EN (uint16 cflash_pw);
400  extern bool USER_CFLASH_RD_PROT_DIS (uint16 cflash_pw);
401  extern bool USER_DFLASH_WR_PROT_EN (uint16 dflash_pw);
402  extern bool USER_DFLASH_WR_PROT_DIS (uint16 dflash_pw);
403  extern bool USER_DFLASH_RD_PROT_EN (uint16 dflash_pw);
404  extern bool USER_DFLASH_RD_PROT_DIS (uint16 dflash_pw);
405  extern uint8 USER_OPENAB (const uint32 NVMPAGEAddr);
406  extern uint8 USER_PROG (const uint8 PROG_FLAG);
407  extern uint8 USER_ERASEPG (const uint32 *NVMPageAddr, const uint8 XRAM_RTNE_BRNCHNG);
408  extern bool USER_ABORTPROG (void);
409  extern bool USER_NVMRDY (void);
410  extern uint8 USER_READ_CAL (const uint8 NumOfBytes, const uint8 CSAddr, const uint16 RAMAddr);
411  extern bool USER_NVM_CONFIG (const uint8 *NVMSize, const uint8 *MapRAMSize);
412  extern uint8 USER_NVM_ECC2ADDR (const uint16 *ecc2addr);
413  extern uint8 USER_MAPRAM_INIT (void);
414  extern bool USER_READ_100TP (const uint8 OTP_Page_Sel, const uint8 DataOffset, const uint32 *HundredTPData);
415  extern uint8 USER_100TP_PROG (const uint8 OTP_Page_Sel);
416  extern uint8 USER_ERASE_SECTOR (const uint32 NVMSectorAddr);
417  extern uint8 USER_RAM_MBIST_START (const uint16 RAM_MBIST_Stop_Addr, const uint16 RAM_MBIST_Start_addr);
418  extern uint8 USER_NVM_ECC_CHECK (void);
419  extern uint8 USER_ECC_CHECK (const uint32 *ecc2addr);
420  extern uint8 USER_ERASE_SECTOR_VERIFY (const uint32 sector_addr);
421  extern uint8 USER_ERASEPG_VERIFY (const uint32 page_addr);
422  extern uint8 USER_VERIFY_PAGE (const uint32 page_addr);
423 #else
424 
454  extern bool (*const USER_CFLASH_WR_PROT_EN) (uint16 cflash_pw);
455 
485  extern bool (*const USER_CFLASH_WR_PROT_DIS) (uint16 cflash_pw);
486 
516  extern bool (*const USER_CFLASH_RD_PROT_EN) (uint16 cflash_pw);
517 
547  extern bool (*const USER_CFLASH_RD_PROT_DIS) (uint16 cflash_pw);
548 
577  extern bool (*const USER_DFLASH_WR_PROT_EN) (uint16 dflash_pw);
578 
607  extern bool (*const USER_DFLASH_WR_PROT_DIS) (uint16 dflash_pw);
608 
637  extern bool (*const USER_DFLASH_RD_PROT_EN) (uint16 dflash_pw);
638 
667  extern bool (*const USER_DFLASH_RD_PROT_DIS) (uint16 dflash_pw);
668 
702  extern uint8 (*const USER_OPENAB) (const uint32 NVMPAGEAddr);
703 
766  extern uint8 (*const USER_PROG) (const uint8 PROG_FLAG);
767 
796  extern uint8 (*const USER_ERASEPG) (const uint32 *NVMPageAddr, const uint8 XRAM_RTNE_BRNCHNG);
797 
835  extern bool (*const USER_ABORTPROG) (void);
836 
860  extern bool (*const USER_NVMRDY) (void);
861 
890  extern uint8 (*const USER_READ_CAL) (const uint8 NumOfBytes, const uint8 CSAddr, const uint16 RAMAddr);
891 
920  extern bool (*const USER_NVM_CONFIG) (const uint8 *NVMSize, const uint8 *MapRAMSize);
921 
952  extern uint8 (*const USER_NVM_ECC2ADDR) (const uint16 *ecc2addr);
953 
1008  extern uint8 (*const USER_MAPRAM_INIT) (void);
1009 
1039  extern bool (*const USER_READ_100TP) (const uint8 OTP_Page_Sel, const uint8 DataOffset, const uint32 *HundredTPData);
1040 
1093  extern uint8 (*const USER_100TP_PROG) (const uint8 OTP_Page_Sel);
1094 
1129  extern uint8 (*const USER_ERASE_SECTOR) (const uint32 NVMSectorAddr);
1130 
1173  extern uint8 (*const USER_RAM_MBIST_START) (const uint16 RAM_MBIST_Stop_Addr, const uint16 RAM_MBIST_Start_addr);
1174 
1242  extern uint8 (*const USER_NVM_ECC_CHECK) (void);
1243 
1302  extern uint8 (*const USER_ECC_CHECK) (const uint32 *ecc2addr);
1303 
1304  /* BF-Step BootROM API extension */
1305  #ifdef RTE_DEVICE_BF_STEP
1354  extern uint8 (*const USER_ERASE_SECTOR_VERIFY) (const uint32 sector_addr);
1355 
1405  extern uint8 (*const USER_ERASEPG_VERIFY) (const uint32 page_addr);
1406 
1456  extern uint8 (*const USER_VERIFY_PAGE) (const uint32 page_addr);
1457  #endif /* RTE_DEVICE_BF_STEP */
1458 
1459 
1502  uint8 ProgramPage(uint32 addr, const uint8 *buf, uint8 Branch, uint8 Correct, uint8 FailPageErase);
1503 
1523  bool GetCustomerID(const TCustomerID *CustID);
1524 
1525 #endif
1526 #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:193
uint8 date
Definition: bootrom.h:195
uint8 offset
Definition: bootrom.h:194
Definition: bootrom.h:199
uint8 count
Definition: bootrom.h:200
TData data[127]
Definition: bootrom.h:201
General type declarations.
uint8_t uint8
8 bit unsigned value
Definition: types.h:153
#define bool
Boolean definitions.
Definition: types.h:111
uint16_t uint16
16 bit unsigned value
Definition: types.h:154
uint32_t uint32
32 bit unsigned value
Definition: types.h:155
Definition: bootrom.h:173
uint32 Family
Definition: bootrom.h:182
uint32 Step
Definition: bootrom.h:178
struct CustomerID::@714 bit
uint32 SalesCode
Definition: bootrom.h:181
uint32 Clock
Definition: bootrom.h:179
uint32 Package
Definition: bootrom.h:180
uint32 reg
Definition: bootrom.h:174
Definition: bootrom.h:230
uint8 reg
Definition: bootrom.h:231
uint8 RAM_Branch
Definition: bootrom.h:234
struct ProgFlag::@716 bit
uint8 CorrAct
Definition: bootrom.h:235
This union defines the return parameter of GetCustomerID.
Definition: bootrom.h:211
uint8 reg
Definition: bootrom.h:212
struct User_100TP_Prog::@715 bit
uint8 GlobFail
Definition: bootrom.h:215
uint8 CustIDFail
Definition: bootrom.h:217
uint8 OffsetFail
Definition: bootrom.h:216
uint8 ExecFail
Definition: bootrom.h:219
Definition: bootrom.h:320
uint8 reg
Definition: bootrom.h:321
struct User_ECC_Check::@721 bit
uint8 DBE
Definition: bootrom.h:325
uint8 SBE
Definition: bootrom.h:324
uint8 ExecFail
Definition: bootrom.h:327
Definition: bootrom.h:338
struct User_ERASE_SECTOR_VERIFY::@722 bit
uint8 VerifyFail
Definition: bootrom.h:343
uint8 reg
Definition: bootrom.h:339
uint8 GlobFail
Definition: bootrom.h:342
uint8 MapRAMFail
Definition: bootrom.h:345
uint8 ExecFail
Definition: bootrom.h:346
Definition: bootrom.h:357
uint8 VerifyFail
Definition: bootrom.h:362
uint8 reg
Definition: bootrom.h:358
uint8 GlobFail
Definition: bootrom.h:361
struct User_ERASEPG_VERIFY::@723 bit
uint8 MapRAMFail
Definition: bootrom.h:364
uint8 ExecFail
Definition: bootrom.h:365
Definition: bootrom.h:283
uint8 reg
Definition: bootrom.h:284
uint8 GlobFail
Definition: bootrom.h:287
uint8 DoubleMapping
Definition: bootrom.h:289
struct User_MAPRAM_Init::@719 bit
uint8 FaultyPage
Definition: bootrom.h:290
uint8 ExecFail
Definition: bootrom.h:291
Definition: bootrom.h:302
uint8 reg
Definition: bootrom.h:303
uint8 DBE
Definition: bootrom.h:307
uint8 SBE
Definition: bootrom.h:306
uint8 ExecFail
Definition: bootrom.h:309
struct User_NVM_ECC_Check::@720 bit
Definition: bootrom.h:266
uint8 reg
Definition: bootrom.h:267
struct User_OpenAB::@718 bit
uint8 ABFail
Definition: bootrom.h:270
uint8 ExecFail
Definition: bootrom.h:272
Definition: bootrom.h:246
struct User_Prog::@717 bit
uint8 VerifyFail
Definition: bootrom.h:252
uint8 reg
Definition: bootrom.h:247
uint8 GlobFail
Definition: bootrom.h:250
uint8 EmergExit
Definition: bootrom.h:253
uint8 SparePgFail
Definition: bootrom.h:254
uint8 ExecFail
Definition: bootrom.h:255
Definition: bootrom.h:376
uint8 reg
Definition: bootrom.h:377
uint8 GlobFail
Definition: bootrom.h:380
struct User_VERIFY_PAGE::@724 bit
uint8 VerifyEraseFail
Definition: bootrom.h:381
uint8 VerifyProgFail
Definition: bootrom.h:382
uint8 ExecFail
Definition: bootrom.h:384