imx28 hab No HAB Events Found

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx28 hab No HAB Events Found

726 Views
bruce_chen
Contributor I

1.I am use BitInit.exe burn OtpInit.sb and the bit_setting.txt like below

    

     *chip-family-mx28*

     lock_rom0 = true

     lock_cryptodcp = true

     lock_cryptodcp_alt = true

2. useing Mfgtool programming updater_ivt.sb, the imx28 serial port output

     pastedImage_3.png

3. The display event code like below:

typedef hab_status_t hab_rvt_report_event_t (hab_status_t, uint32_t, uint8_t* , size_t*);

#define HAB_RVT_REPORT_EVENT (*(uint32_t*) 0xFFFF8B18)

#define hab_rvt_report_event ((hab_rvt_report_event_t*)HAB_RVT_REPORT_EVENT)

hab_status_t g_hab_status;

void display_event(uint8_t *event_data, size_t bytes)

{

    uint32_t i;

    if ((event_data) && (bytes > 0))

        {

        for (i = 0; i < bytes; i++)

        {

            if (i == 0)

            {

                printf("    0x%02x", event_data[i]);

            }

            else if ((i % 8) == 0)

            {

                printf("\n    0x%02x", event_data[i]);

            }

            else

            {

                printf(" 0x%02x", event_data[i]);

            }

        }

    }

}

   

uint8_t      event_data[128];

void get_hab_status(void)

{

        uint32_t     index = 0;

        size_t       bytes = sizeof(event_data);

    uint8_t      no_events = 1;

    while ((g_hab_status = hab_rvt_report_event(HAB_FAILURE, index, event_data, &bytes))

        == HAB_SUCCESS)

    {

        //no_events = 0;

        //break;

        no_events = 0;

        printf("\n");

        printf("--------- HAB Event %d -----------------\n", index + 1);

        printf("event data:\n");

        display_event(event_data, bytes);

        printf("\n");

        bytes = sizeof(event_data);

        index++;

    }

    if(no_events)

    {

        /* Including input_ivt here is simply to force the linker to include

         * it in the image and do not optimize it away.

         */

        printf("No HAB Events Found! %d\n", input_ivt.ivt.reserved2);

    }

    else

    {

        printf("Some HAB Events Found!\n");

    }

}

I don't know why is No HAB Events Found?    Is my OtpInit.sb not enable HAB?     thanks

Labels (1)
0 Kudos
1 Reply

500 Views
Yuri
NXP Employee
NXP Employee

Hello,

  perhaps, the following helps.

Q&amp;A: How to enable MX28 HAB Problems?

Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos