Hello Jing,
I totally agree with what you are saying,
except the fact that you miss the possibily in the code to no check CRC before jumping to the application.
See the following about code details inside mcu boot loader code.
if you see in the function "is_application_crc_check_pass();"
you will see that
{
bool isCrcCheckPassed = true;
...
if (kStatus_AppCrcCheckInvalid != propertyStore- >crcCheckStatus) //based on BCA information
{ //Check CRC...
}
return isCrcCheckPassed;
}
That mean :
if (Status_AppCrcCheckInvalid == propertyStore->crcCheckStatus)
the function return true without checking CRC
And it is bad VERY BAD, it would be better to return "false" to avoid to jump the application that it is not CRC checking.
For me this must be corrected by NXP by putting "bool isCrcCheckPassed = false;" at the beginning of the function
I made the correction in my own bootloader code.
AND THE QUESTION IS ALWAYS HERE, IS IT A BUG OF NXP OR THIS HAS A UTILITY THAT I DON'T UNDERSTAND ?
Best regards from France
Didier