HAB Persistent memory in various MPU and MCU chipsets

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

HAB Persistent memory in various MPU and MCU chipsets

HAB Persistent memory in various MPU and MCU chipsets

Background:

ROM/HAB allocates certain memory region in Internal RAM (OCRAM) for HAB logs. This space is marked as reserved in Internal RAM memory map and must not be edited. This memory region is called HAB persistent memory. It contains certs, events and other HAB process related information.

Description:

HAB persistent memory is used by HAB to store audit logs i.e. logs of various events and status results generated from HAB library functions. HAB uses this memory region to search through existing events to report when requested through API call. HAB stores certificate information of the keys installed as reported in the CSF file.

In u-boot when the hab_status command is called, HAB searches through this memory region for tags of events generated and parses them to a human-readable format. 

ChipsetHAB Persistent Memory AddressSize
i.MX RT1020 / RT1050 / RT1015

0x20201000

0xB80

i.MX6 S/DL/D/Q/DP/QP/UL/ULL/ULZ/SL/SLL/SX

0x904000

0xB80

i.MX7 S/D

0x9049C0

0xB80

i.MX7 ULP1 A7 B00x2F0068400xB80
i.MX7 ULP1 M4 B00x200080400xB80
i.MX8 MQ (850D B0)0x9061C00xB80
i.MX8 MQ (850D B1)0x9081C00x1200
i.MX8 MM (845S A0)0x9080400xB80
i.MX8 MN (815S A0)0x9080400x1200
i.MX8 MP (865 A0)0x90d0400x1200
Vybrid F and R0x3F0770000xB80
i.MX 50 Family0xF80040000x900
i.MX 53 Family0x1FFE40000x900
i.MX 28 Family0x0001A8000x600

Reading HAB events:

In order to check Events generated by HAB there are various methods that can be used:

1 - In u-boot, run hab_status command. Also, HAB persistent memory can be read and parsed to get these events (in case hab_status command isnt available)

md.b <0xPERSISTENT_MEMORY_ADDR> <0xSIZE>

2. Connect JTAG and dump the HAB persistent memory region.

3. If chip is in Serial download mode due to Authentication failure, USB Serial download protocol can be used to read HAB persistent memory region.

P.S. - Please email me for any suggestions/changes to this document.

P.P.S. - This document is up to date as of 10-18-2018

Tags (1)
No ratings
Version history
Last update:
‎04-20-2018 03:03 PM
Updated by: