[U-Boot] [PATCH] tools: make imxheader size align on page size

Stefan Agner stefan at agner.ch
Wed Apr 16 15:36:31 CEST 2014


Am 2014-04-16 15:17, schrieb Stefan Agner:
> Hi Stefano,
> 
> Am 2014-04-16 17:44, schrieb Stefano Babic:
>> On 16/04/2014 15:29, stefan at agner.ch wrote:
>>> From: Stefan Agner <stefan at agner.ch>
>>>
>>> The i.MX V2 headers total size is 0x7fc. The header is placed
>>> in front of the U-Boot binary which of course is aligned to
>>> text base. Hence the header starting point is not page
>>> aligned (e.g. at 0x3f400404). This is still a valid header,
>>> which boots fine using serial loader. However, the image
>>> fails to boot from NAND (tested on a VF61x SoC).
>>>
>>
>> Can you better explain this ? There is only one board in mainline with
>> vf610. CONFIG_SYS_TEXT_BASE is set to 0x3f008000. I cannot get the
>> offset in your example. Are you referring to NAND page ? But if the
>> header must be aligned with the NAND page, this is pretty bad because we
>> have to adjust the header depending on the selected NAND chip. I do not
>> see this limitation in the manual.
> I've not submitted my board yet, I altered it to use 0x3f400800 as
> CONFIG_SYS_TEXT_BASE. I just realize that a header length of 0x7fc
> doesn't fit with 0x3f400404 even though (that would be 0x3f400004 if
> anything). But the mkimage utility reports
> Load Address: 3f400420
> Entry Point:  3f400800
> I'm a bit confused now, why is the header only 0x400 now?

Ok I checked this again, the header total size is _not_ 0x7fc, thats
imximage_init_loadsize, which is the header size + flash load size
(0x400 for NAND). 

The header total size is 0x3fc (sizeof(imx_header_v2_t)) right now. This
patch would make alter it to be exactly 0x400.

In case this discussion ends up adding this padding word, I will send a
new patch with correct numbers and better description.



More information about the U-Boot mailing list