diff options
author | Andreas Bießmann <andreas.devel@googlemail.com> | 2014-05-19 14:23:39 +0200 |
---|---|---|
committer | Andreas Bießmann <andreas.devel@googlemail.com> | 2014-05-27 00:10:48 +0200 |
commit | 7b1a411743db47648b2955c414a71836823acfd9 (patch) | |
tree | a447431327a9ef15bddeb95e9b2ce619b9adc12f /tools/imagetool.c | |
parent | ecd04611f6001901734b7c6e938fc9e36cbf930c (diff) | |
download | u-boot-imx-7b1a411743db47648b2955c414a71836823acfd9.zip u-boot-imx-7b1a411743db47648b2955c414a71836823acfd9.tar.gz u-boot-imx-7b1a411743db47648b2955c414a71836823acfd9.tar.bz2 |
mkimage: add atmelimage
The new atmelimage converts a machine code BLOB to bootable ROM image. Atmel
ROM has no sophisticated image format, it only checks the first 7 ARM vectors.
The vectors can contain valid B or LDR opcodes, the 6'th vector contains the
image size to load.
Additionally the PMECC header can be written by the atmelimage target. The
parameters must be given via the -n switch as a coma separated list. For
example:
mkimage -T atmelimage \
-n usePmecc=1,sectorPerPage=4,sectorSize=512,spareSize=64,eccBits=4,eccOffset=36 \
-d spl/u-boot-spl.bin boot.bin
A provided image can be checked for correct header setup. It prints out the
PMECC header parameters if it has one and the 6'th interrupt vector content.
---8<---
Image Type: ATMEL ROM-Boot Image with PMECC Header
PMECC header
====================
eccOffset: 36
sectorSize: 512
eccBitReq: 4
spareSize: 64
nbSectorPerPage: 4
usePmecc: 1
====================
6'th vector has 17044 set
--->8---
A SPL binary modified with the atmelimage mkimage target was succesfully
booted on a sama5d34ek via MMC and NAND.
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Cc: Bo Shen <voice.shen@atmel.com>
Cc: Heiko Schocher <hs@denx.de>
Tested-by: Bo Shen <voice.shen@atmel.com>
Diffstat (limited to 'tools/imagetool.c')
-rw-r--r-- | tools/imagetool.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/imagetool.c b/tools/imagetool.c index da72115..32d6278 100644 --- a/tools/imagetool.c +++ b/tools/imagetool.c @@ -27,6 +27,8 @@ void register_image_tool(imagetool_register_t image_register) */ register_func = image_register; + /* Init ATMEL ROM Boot Image generation/list support */ + init_atmel_image_type(); /* Init Freescale PBL Boot image generation/list support */ init_pbl_image_type(); /* Init Kirkwood Boot image generation/list support */ |