// Online C compiler to run C program online
#include <stdio.h>
#define DIAGDC_ERASEADDDATA_MINLEN (int)0u
#define DIAGDC_ERASEADD_LEN (int)0x3u
#define DIAGDC_ERASECTRL_OPRECORD_BYTES (int)0x8u
#define DiagDC_OTABANK2_ERASEADDRESS (0x03340000U)
#define DiagDC_OTABANK2_ERASELENGTH (0x02800000U)
#define DIAG_u8BYTE_SHIFT_8 (8U)
#define DIAGDC_ERASEDATA_LEN (int)0x7u
int main() {
int u8BankIndex ;
/* !Comment : Local array variable for routine requested Data. */
int pu8ReqData[DIAGDC_ERASECTRL_OPRECORD_BYTES];
/* !Comment : Local variable for Iterate index. */
int u8Iter;
int u8Iter1;
for(u8Iter= DIAGDC_ERASEADD_LEN,u8BankIndex = DIAGDC_ERASEADDDATA_MINLEN;u8Iter>=DIAGDC_ERASEADDDATA_MINLEN;u8Iter--,u8BankIndex++)
{
/** :Extracting the Bank2 Address value to pu8ReqData[u8BankIndex] variable; */
pu8ReqData[u8BankIndex]= (DiagDC_OTABANK2_ERASEADDRESS>>(DIAG_u8BYTE_SHIFT_8 * u8Iter))&0xFF;
printf("%02x %d \n", pu8ReqData
[u8BankIndex
], u8Iter
); /** repeat while (u8Iter>=DIAGDC_ERASEADDDATA_MINLEN) is (yes)*/
}
/** :loop to update the Bank2 Length with 4 bytes data;*/
/**repeat*/
for(u8Iter1 = DIAGDC_ERASEDATA_LEN;u8Iter1 > DIAGDC_ERASEADD_LEN;u8Iter1--,u8BankIndex++)
{
/** :Extracting the Bank2 Data value to pu8ReqData[u8BankIndex] variable; */
pu8ReqData[u8BankIndex]= (DiagDC_OTABANK2_ERASELENGTH>>(DIAG_u8BYTE_SHIFT_8 * u8Iter1))&0xFF;
/** repeat while (u8Iter > DIAGDC_ERASEADD_LEN) is (yes)*/
printf("%02x %d \n", pu8ReqData
[u8BankIndex
], u8Iter1
);
}
}
Ly8gT25saW5lIEMgY29tcGlsZXIgdG8gcnVuIEMgcHJvZ3JhbSBvbmxpbmUKI2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIERJQUdEQ19FUkFTRUFERERBVEFfTUlOTEVOICAgICAgICAgICAgICAgICAgKGludCkwdQoKI2RlZmluZSBESUFHRENfRVJBU0VBRERfTEVOICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQpMHgzdQoKI2RlZmluZSBESUFHRENfRVJBU0VDVFJMX09QUkVDT1JEX0JZVEVTICAgICAgICAgICAgIChpbnQpMHg4dQoKI2RlZmluZSBEaWFnRENfT1RBQkFOSzJfRVJBU0VBRERSRVNTICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDMzNDAwMDBVKQojZGVmaW5lIERpYWdEQ19PVEFCQU5LMl9FUkFTRUxFTkdUSCAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMjgwMDAwMFUpCgojZGVmaW5lIERJQUdfdThCWVRFX1NISUZUXzgJCQkJCSg4VSkKCiNkZWZpbmUgRElBR0RDX0VSQVNFREFUQV9MRU4gICAgICAgICAgICAgICAgICAgICAgICAgKGludCkweDd1CgppbnQgbWFpbigpIHsKICAgIAogICAgaW50IHU4QmFua0luZGV4IDsKCS8qICFDb21tZW50IDogTG9jYWwgYXJyYXkgdmFyaWFibGUgZm9yIHJvdXRpbmUgcmVxdWVzdGVkIERhdGEuICovCiAgICBpbnQgcHU4UmVxRGF0YVtESUFHRENfRVJBU0VDVFJMX09QUkVDT1JEX0JZVEVTXTsKCS8qICFDb21tZW50IDogTG9jYWwgdmFyaWFibGUgZm9yIEl0ZXJhdGUgaW5kZXguICovCiAgICBpbnQgIHU4SXRlcjsKICAgIGludCB1OEl0ZXIxOwogICAgCmZvcih1OEl0ZXI9IERJQUdEQ19FUkFTRUFERF9MRU4sdThCYW5rSW5kZXggPSBESUFHRENfRVJBU0VBREREQVRBX01JTkxFTjt1OEl0ZXI+PURJQUdEQ19FUkFTRUFERERBVEFfTUlOTEVOO3U4SXRlci0tLHU4QmFua0luZGV4KyspCiAgICAgICAgewoJCQkvKiogOkV4dHJhY3RpbmcgdGhlIEJhbmsyIEFkZHJlc3MgdmFsdWUgdG8gcHU4UmVxRGF0YVt1OEJhbmtJbmRleF0gdmFyaWFibGU7ICovIAogICAgICAgICAgICBwdThSZXFEYXRhW3U4QmFua0luZGV4XT0gKERpYWdEQ19PVEFCQU5LMl9FUkFTRUFERFJFU1M+PihESUFHX3U4QllURV9TSElGVF84ICogdThJdGVyKSkmMHhGRjsKICAgICAgICAgICAgCgkJCQlwcmludGYoIiUwMnggJWQgXG4iLCBwdThSZXFEYXRhW3U4QmFua0luZGV4XSwgdThJdGVyKTsKCQkJLyoqIHJlcGVhdCB3aGlsZSAodThJdGVyPj1ESUFHRENfRVJBU0VBREREQVRBX01JTkxFTikgaXMgKHllcykqLwogICAgICAgIH0KICAgICAgICBwcmludGYoIlxuIik7CgkJLyoqIDpsb29wIHRvIHVwZGF0ZSB0aGUgQmFuazIgTGVuZ3RoIHdpdGggNCBieXRlcyBkYXRhOyovCgkJLyoqcmVwZWF0Ki8KICAgICAgICBmb3IodThJdGVyMSA9IERJQUdEQ19FUkFTRURBVEFfTEVOO3U4SXRlcjEgPiBESUFHRENfRVJBU0VBRERfTEVOO3U4SXRlcjEtLSx1OEJhbmtJbmRleCsrKQogICAgICAgIHsJCgkJCS8qKiA6RXh0cmFjdGluZyB0aGUgQmFuazIgRGF0YSB2YWx1ZSB0byBwdThSZXFEYXRhW3U4QmFua0luZGV4XSB2YXJpYWJsZTsgKi8KICAgICAgICAgICAgICAgIHB1OFJlcURhdGFbdThCYW5rSW5kZXhdPSAoRGlhZ0RDX09UQUJBTksyX0VSQVNFTEVOR1RIPj4oRElBR191OEJZVEVfU0hJRlRfOCAqIHU4SXRlcjEpKSYweEZGOwoJCQkJLyoqIHJlcGVhdCB3aGlsZSAodThJdGVyID4gRElBR0RDX0VSQVNFQUREX0xFTikgaXMgKHllcykqLwoJCQkJCgkJCQlwcmludGYoIiUwMnggJWQgXG4iLCBwdThSZXFEYXRhW3U4QmFua0luZGV4XSwgdThJdGVyMSk7CgkJCQkKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgcHJpbnRmKCJcbiIpOwp9