How can I assemble the HAB with imx28 wince eboot?

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

How can I assemble the HAB with imx28 wince eboot?

1,119 Views
collinshi
Contributor II

Dear experts,

Now I am working on imx28 with wince6.0.

From page 15 of the Secure Boot with i.MX28 HAB Version4 pdf, the Section3.3, it tells how to assemble HAB with boot image.But the example in the Section4 is based on uboot.

I want to reserve the space for HAB and IVT in the eboot.What shoud I do in the linker?

Please guide.

Labels (2)
0 Kudos
5 Replies

812 Views
collinshi
Contributor II

hi Bio_TICFSL ,

In uboot ,there is a link.lds file to indicate the .ivt adress as below:

pastedImage_0.png

and then in the power_prep.c file ,there is the ivt definition:

pastedImage_1.png

In imx28 eboot , is there any linker file as link.lds to indicate the .ivt and  .bss address?

0 Kudos

812 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Collin

the app note AN4555 describes main features and procedures  regarding the i.MX28 HAB, which is based on public key certificate of X.509 format.

http://cache.freescale.com/files/32bit/doc/app_note/AN4555.pdf

The WinCE boot is performed in 3 stages :

1) initial program loader (IPL <=> XLDR) ;

2) secondary program loader (SPL <=> eboot) ;

3) WinCE image (kernel) NK.

This may be considered as analog of power_prep, boot_prep, Linux kernel in AN4555 : the XLDR would have to be signed (also eboot, the kernel, other required  piece of software).

There is no any WinCE example available from NXP for MX28 secure boot.

Regards

0 Kudos

812 Views
collinshi
Contributor II

Hi Bio,

From another thread HAB i.MX28 Invalid Certificate

it was said only CST 2.0.0 can make HAB work on IMX28.

Where can I get this version CST?

Currently I am using CST2.3.2 on ubuntu 32bit.

When I use  cst -o csf-eboot.bin -i eboot.csf , It always says:

Cannot open key file .But the key exists there with the right name.

pastedImage_1.png

0 Kudos

812 Views
Yuri
NXP Employee
NXP Employee

Hello,

I send You email with CST 2 link.

Hope it helps.

Regards,

Yuri.

0 Kudos

812 Views
collinshi
Contributor II

Hi Yuri,

Thanks for your email. I have downloaded it.

On the imx28 evk board, the eboot_ivt.sb is generated by " elftosb -z -f imx28 -c eboot_ivt.bd -o eboot_ivt.sb"

the content of eboot_ivt.bd is:

options {
    driveTag = 0x00;
    flags = 0x01;
}

constants {
    xldr_addr = 0x00000004;
    eboot_addr = 0x40050000;
    bmp_addr = 0x40094000;
    ivt_addr = 0x8000;
}

sources {
    xldr = "xldr.nb0";
    eboot = "eboot.nb0";
    bmp = "splash_eboot.bmp";
}

section (0) {
    load xldr > xldr_addr;
    load ivt (entry = xldr_addr) > ivt_addr;
    hab call ivt_addr;

    load bmp > bmp_addr;

    load eboot > eboot_addr;
    load ivt (entry = eboot_addr) > ivt_addr;
    hab call ivt_addr;
}

there is no "ivt" source in The sources section .

So if want to update the ivt to set the  *csf  pointer for imx28 HAB, what shoud I do?

0 Kudos