Thanks kerryzhou,
Could you review the code attached to the first content of this ticket? I want to explain my use case again, hope it helps for identifying the issues.
1. The attached code run in my bootloader, but the bootloader is also being signed and ROM code will authenticate it. This authenticate is correct, we have use it for a long time.
2. The attached code calls HAB API to verify my application which has a signature as well, but this signature is the same as my bootloader's, both use the same imx-flexspinor-normal-signed.bd except for different "startAddress" and "ivtOffset" (boot: startAddress = 0x60000000, ivtOffset = 0x1000; APP: startAddress = 0x60100000, ivtOffset = 0x0000;)
3. After power cycle, we can see the log below:
Printing HAB events from boot application...
HAB Configuration: 0xcc, HAB State: 0x99
--------- HAB Event 1 -----------------
event data:
<<omitted content>>
Calling HAB entry... <<being stuck here>>
So, it means my bootloader signature verification is passed, but while calling HAB API hab_rvt_entry(), MCU gets stuck. I don't think the verification process in the code is to be a problem, but some IC modules forgotten to be enabled, here is only OCOTP clock enabled, any clock else need to be enabled as well?