]> git.sur5r.net Git - u-boot/commit
mkimage: add atmelimage
authorAndreas Bießmann <andreas.devel@googlemail.com>
Mon, 19 May 2014 12:23:39 +0000 (14:23 +0200)
committerAndreas Bießmann <andreas.devel@googlemail.com>
Mon, 26 May 2014 22:10:48 +0000 (00:10 +0200)
commit7b1a411743db47648b2955c414a71836823acfd9
treea447431327a9ef15bddeb95e9b2ce619b9adc12f
parentecd04611f6001901734b7c6e938fc9e36cbf930c
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>
common/image.c
include/image.h
tools/Makefile
tools/atmelimage.c [new file with mode: 0644]
tools/imagetool.c
tools/imagetool.h