gunzip command?
Hi there,
on my board U-Boot should program an FPGA before booting linux. Unfortunatly the file is quite big (>160KB). So I store a gzipped version of it in my flash. Actually I stored an image created with mkimage
DAB4K2> imi 40040000
## Checking Image at 40040000 ...
Image Name: DAB4K_TEST-
Created: 2003-09-22 8:20:19 UTC
Image Type: PowerPC U-Boot Firmware (gzip compressed)
Data Size: 56098 Bytes = 54.8 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OKSo what I need now is a way to uncompress the data to RAM before I can call "fpga load".
My questions:
1. Should we add a "gunzip" command to U-Boot?
2. Should we add a command (similar to bootm) that takes an image, decompresses it and checks CRC etc.?
3. Or should we put this into the "fpga load" command?
I would go for the first. Maybe the second. Third seems to be too limited.
Any comments?
Thanks,
Steven
Hi Steven,
Quoted 24 lines
on my board U-Boot should program an FPGA before booting linux. Unfortunatly the file is quite big (>160KB). So I store a gzipped version of it in my flash. Actually I stored an image created with mkimage
DAB4K2> imi 40040000
## Checking Image at 40040000 ...
Image Name: DAB4K_TEST- Created: 2003-09-22 8:20:19 UTC Image Type: PowerPC U-Boot Firmware (gzip compressed) Data Size: 56098 Bytes = 54.8 kB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OKSo what I need now is a way to uncompress the data to RAM before I can call "fpga load".
My questions:
1. Should we add a "gunzip" command to U-Boot?
2. Should we add a command (similar to bootm) that takes an image, decompresses it and checks CRC etc.?
3. Or should we put this into the "fpga load" command?
Quoted 3 lines
I would go for the first. Maybe the second. Third seems to be too limited.
Any comments?
Yes, why implement things that are already there? See our documentation[1] for exactly this problem. I know, it takes some courage to use "bootm" to uncompress, but hey, it works...
Cheers
Detlev
[1] https://www.denx.de/twiki/bin/view/DULG/HowCanILoadAndUncompressACompressedImage
Signature · 2 lines
"The number you have dialed is imaginary. Please rotate your phone 90 degrees and try again."
Hi Detlev,
Quoted 6 lines
Quoted 6 lines
My questions:
1. Should we add a "gunzip" command to U-Boot?
2. Should we add a command (similar to bootm) that takes an image, decompresses it and checks CRC etc.?
3. Or should we put this into the "fpga load" command?
Quoted 8 lines
Quoted 3 lines
I would go for the first. Maybe the second. Third seems to be too limited.
Any comments?
Yes, why implement things that are already there? See our documentation[1] for exactly this problem. I know, it takes some courage to use "bootm" to uncompress, but hey, it works...
Aah. Yes. I tought about that. I actually just try the following:
1. Create a new image typ "FPGA Data"
2. Hack cmd_bootm.c to handle this and to directly call fpga_load()
DAB4K2> bootm 40040000
## Booting image at 40040000 ...
Image Name: DAB4K_TEST-
Created: 2003-09-22 8:20:19 UTC
Image Type: FPGA Data Image (gzip compressed)
Data Size: 56098 Bytes = 54.8 kB
Load Address: 00200000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing FPGA Image ... OK
Calling fpga_load( 0, 0x200000, 166965)...ACEX1K_load: Launching Passive Serial LoaderACEX1K_ps_load: start with interface functions @ 0x00ffa034 Loading FPGA Device 0...
....................
Done.
The "Load Address" could be used as a free RAM Address for decompressing. The "Start Address" could be the number of the FPGA device (first argument for fpga_load) so we could handle more than one FPGA in one Multi-Image file.
What do you think?
Is it worth it to go that way. Or is the you suggested way preferred as you could do the rest using simple scripts...?
How could I get the uncompressed size??? Does bootm update $filesize?
fpga_load needs a size. So if I use bootm only for uncompressing how could I pass the lenght to fpga_load()???
Steven