![]() |
Kinetis Bootloader Host
2.0.0
Host Tools for Kinetis devices
|
#include <IVTDataSource.h>
Collaboration diagram for hab_ivt_t:Public Attributes | |
| hab_hdr_t | hdr |
| uint32_t | entry |
| uint32_t | reserved1 |
| uint32_t | dcd |
| uint32_t | boot_data |
| uint32_t | self |
| uint32_t | csf |
| uint32_t | reserved2 |
ivt structure
An ivt consists of a hdr followed by a list of addresses as described further below.
The self field is used to calculate addresses in boot modes where an initial portion of the image is loaded to an initial location. In such cases, the IVT, Boot Data (if present) and DCD (if present) are used in configuring the IC and loading the full image to its final location. Only the IVT, Boot Data (if present) and DCD (if present) are required to be within the initial image portion.
The method for calculating an initial load address for the DCD is illustrated in the following C fragment. Similar calculations apply to other fields.
hab_ivt_t* ivt_initial = <initial IVT load address>;
const void* dcd_initial = ivt_initial->dcd;
if (ivt_initial->dcd != NULL)
dcd_initial = (const uint8_t*)ivt_initial
+ (ivt_initial->dcd - ivt_initial->self)
ivt type
| uint32_t hab_ivt_t::boot_data |
Absolute address of the Boot Data: may be NULL, but not interpreted any further by HAB
| uint32_t hab_ivt_t::csf |
Absolute address of the image CSF.
| uint32_t hab_ivt_t::dcd |
Absolute address of the image DCD: may be NULL.
| uint32_t hab_ivt_t::entry |
Absolute address of the first instruction to execute from the image
| uint32_t hab_ivt_t::reserved1 |
Reserved in this version of HAB: should be NULL.
| uint32_t hab_ivt_t::reserved2 |
Reserved in this version of HAB: should be zero.
| uint32_t hab_ivt_t::self |
Absolute address of the IVT.