Hi,
We are currently running StarterWare by booting into u-boot and then loading our image from SPI flash and jumping to it via the u-boot "go" command. "go 80000000". Because our StarterWare image is 3.4Mbytes in size we wanted to compress it and use u-boots "bootm" command along with the mkimage header so the the bootm will CRC the image, decompress it and start it. It all sounds good except bootm keeps coming up with errors or the code does not execute. Here is what we are doing:
- Building the standard test.bin file.
- Use mkimage so that it adds a 0x40 byte header image without compression
mkimage -A arm -O u-boot -T standalone -C none -a 0x80000000 -e 0x80000000 -n "Test image" -d test.bin test.img
- Store the imaage to SPI flash
- Boot up and stop in u-boot
u-boot commands:
mw.b 0x8C100000 0x00 36DEC5 - Clear upper memory to prepare to load StarterWare image
sf probe 0:0
sf read 8C100000 410000 36DEC5 - Read StarterWare (with header) from SPI flash into memory
U-Boot# bootm 8c100000 - boot the image
## Booting kernel from Legacy Image at 8c100000 ...
Image Name: Test image
Image Type: ARM Linux Firmware (uncompressed)
Data Size: 3595909 Bytes = 3.4 MiB
Load Address: 80000000
Entry Point: 80000000
Verifying Checksum ... OK
Wrong Image Type for bootm command
ERROR: can't get kernel image!
Does anyone know what 'Operating System' ane 'Type" to use with mkimage so that it will load and run StarterWare? I know the image is good because I can load the SPI flash into 80000000 and simply do a 'go 80000000' and our StarterWare code will run.
Any help greatly appreciated.
Thanks,
John C.