Skip to contentSkip to conversation

Loading FPGA from an mkimage created image?

U-Boot-Users Steven Scholz 2 participants 8 messages Nov 22, 2004 – Jun 10, 2005

lore
Share & tools
lore
#0 lore raw

Hi there,

I know that

fpga load [device number] [image address] [image size]

can be used to init an FPGA.
Now I want to compress and wrap the FPGA data with mkimage.

Is there a way to pass the address of an Image to "fpga load".
Or do I have to umcompress it first using "bootm" or something and then pass the address and size to "fpga load"?

Thanks!

Signature · 1 line
Steven Scholz
#1 lore raw
Quoted 9 lines · In message <[email protected]> you wrote:

I know that

fpga load [device number] [image address] [image size]

can be used to init an FPGA.
Now I want to compress and wrap the FPGA data with mkimage.

Is there a way to pass the address of an Image to "fpga load".

Umm... that's the third parameter in the usage message above: "image address" - isn't it?

Quoted 2 lines

Or do I have to umcompress it first using "bootm" or something and then pass the address and size to "fpga load"?

Either this, or extend the fpga command to understand compressed images.

Best regards,

Wolfgang Denk

Signature · 5 lines
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The perversity of nature is nowhere better demonstrated by  the  fact
that,  when  exposed to the same atmosphere, bread becomes hard while
crackers become soft.
#2 lore raw
Quoted 6 lines · Wolfgang Denk
Quoted 4 lines · In message <[email protected]> you wrote:

I know that

fpga load [device number] [image address] [image size]

Quoted 8 lines
Quoted 4 lines

can be used to init an FPGA.
Now I want to compress and wrap the FPGA data with mkimage.

Is there a way to pass the address of an Image to "fpga load".

Umm... that's the third parameter in the usage message above: "image address" - isn't it?

No. IIRC then "image" in "image address" means (raw) data as the FPGA would understand it.

Quoted 5 lines
Quoted 2 lines

Or do I have to umcompress it first using "bootm" or something and then pass the address and size to "fpga load"?

Either this, or extend the fpga command to understand compressed images.

So checking for valid mkimage header? And then uncompress to $loadaddr? And maybe even introduce a new image type "FPGA data" ?

Signature · 1 line
Steven Scholz
#3 lore raw
Quoted 6 lines · In message <[email protected]> you wrote:
Quoted 3 lines

Umm... that's the third parameter in the usage message above: "image address" - isn't it?

No. IIRC then "image" in "image address" means (raw) data as the FPGA would understand it.

I see. Sorry, I never used this command myself yet.

Quoted 6 lines
Quoted 5 lines
Quoted 2 lines

Or do I have to umcompress it first using "bootm" or something and then pass the address and size to "fpga load"?

Either this, or extend the fpga command to understand compressed images.

So checking for valid mkimage header? And then uncompress to $loadaddr?

Yes - if it's compressed; otherwise just memcpy().

Quoted 1 line

And maybe even introduce a new image type "FPGA data" ?

No. This is what applies (from "include/image.h"):

* "Firmware Images" are binary images containing firmware (like
* U-Boot or FPGA images) which usually will be programmed to
* flash memory.

Viele Gr??e,

Wolfgang Denk

Signature · 5 lines
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Es sind ?berhaupt nur die Dummk?pfe, die sich den Befehlen der  M?ch-
tigen  widersetzen.  Um  sie  zu ruinieren ist es genug, ihre Befehle
treu zu erf?llen.                  - Peter Hacks: "Die sch?ne Helena"
#4 lore raw
In reply to Wolfgang Denk

Dear Wolfgang,

I pick up this old thread.

Quoted 12 lines
Quoted 11 lines

I know that

fpga load [device number] [image address] [image size]

can be used to init an FPGA.
Now I want to compress and wrap the FPGA data with mkimage.
...
Is there a way to pass the address of an Image to "fpga load".
...
Or do I have to umcompress it first using "bootm" or something and then pass the address and size to "fpga load"?

Quoted 2 lines

Either this, or extend the fpga command to understand compressed images.

I see that code for checking and uncompressing images is duplicated many times across the U-Boot sources.
Are there any plans to provide a generic helper function for this task?

Thanks.

--
Steven

#5 lore raw

Dear Steven,

Quoted 2 lines · in message <[email protected]> you wrote:

I pick up this old thread.

Thanks for it.

Quoted 2 lines

I see that code for checking and uncompressing images is duplicated many times across the U-Boot sources.

Yes :-(

Quoted 1 line

Are there any plans to provide a generic helper function for this task?

No. Cleanup and patches welcome.

Best regards,

Wolfgang Denk

Signature · 5 lines
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"The bad reputation UNIX has gotten is totally undeserved, laid on by
people who don't understand, who have not gotten in there  and  tried
anything."          -- Jim Joyce, owner of Jim Joyce's UNIX Bookstore
#6 lore raw

Hi,

Quoted 10 lines
Quoted 2 lines

I see that code for checking and uncompressing images is duplicated many times across the U-Boot sources.

Yes :-(

Quoted 1 line

Are there any plans to provide a generic helper function for this task?

No. Cleanup and patches welcome.

Shell we split out the image code from cmd_bootm.c into cmd_image.c and image.c?

Signature · 1 line
Steven
#7 lore raw
In reply to Wolfgang Denk
Quoted 6 lines · Wolfgang Denk
Quoted 4 lines · In message <[email protected]> you wrote:

I know that

fpga load [device number] [image address] [image size]

Quoted 7 lines
Quoted 4 lines

can be used to init an FPGA.
Now I want to compress and wrap the FPGA data with mkimage.

Is there a way to pass the address of an Image to "fpga load".

... extend the fpga command to understand compressed images.

Please consider the attached patch. I know it's duplicating some code but that's all I can do for now.

multiIO_2> fpga load 0 $loadaddr

    Image Name:   multiIO TEST FPGA
    Created:      2005-06-10  14:01:40 UTC
    Image Type:   ARM U-Boot Standalone Program (uncompressed)
    Data Size:    42431 Bytes = 41.4 kB

Load Address: 20008000
Entry Point: deadbeef
Verifying Checksum ... OK
Loading Firmware/Standalone Image ... OK
Loading FPGA Device 0........................................... Done.

----

* Patch by Steven Scholz, 10 Jun 2005:
Adding new configuration option CONFIG_FPGA_IMAGE This allows to pass U-Boot images of the types "FIRMWARE" or "STANDALONE" to the fpga command

Thanks.

--
Steven

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: u-boot-fpga-mkimage.patch
Url: http://lists.denx.de/pipermail/u-boot/attachments/20050610/3fda1cd9/attachment.txt