SystemACE bootloader for PowerPC on Virtex4 FX

Hi,

I am looking for a small bootloader (small because I'd like it to be in BRAM) that can load a PowerPC ELF file (possibly binary) from a CF card connected via a SystemACE controller and run it. Any recommendations?

I've serached through the news group, and it seems like Antti wrote one for MicroBlaze, although the link to xilinx.openchip.org no longer seems to be valid. I've also had a look through xapp482.pdf, but I was hoping someone had already implemented this before :)

Cheers, Jon

Reply to
Jon Beniston
Loading thread data ...

hi, me Antti

yes I wrote some systemace loader that I tested on ML300 loooong time ago some derivate of that is still in use. wasnt very good one, the FAT support was really really minimal :(

there should be no problems fitting into brams, but better look at the dosfs that is very small and support FAT pretty completly, changing the sector read for systemace should not be a problem

antti I may be able to dig out some of my old code, buts its rather nasty

Reply to
Antti

It is fairly straightforward to use xilfatfs (shipped with EDK) to load a file from the CF into memory and transfer control to the loaded program. Just use open/read file library calls.

/Siva

Reply to
Siva Velusamy

Hi Siva,

Yep, but a bog standard implementation (i.e. just using the standard library code) is going to be 20kB+. I don't have that many block RAMs to play with, so want to create something as small as possible.

Cheers, Jon

Reply to
Jon Beniston

Jon,

assuming that you are using System ACE CF to configure your Virtex-4 FX device you can load the boot code directly into the processor caches which gives you 16KB of instruction and 16KB of data space. That's enough for the bootloader you describe and you do not even need a single BRAM.

- Peter

J> Hi Siva,

Reply to
Peter Ryser

dosfs claims to be Hi Siva,

Reply to
Antti Lukats

Peter,

Yep.

Thanks sounds very interesting. Any pointers or app notes on how to do this? (Sorry if I'm overlooking the obvious)

Cheers, Jon

Reply to
Jon Beniston

Hi Antti,

Do you have a link to this particular implementation? Is it open source? (I have googled, but it seems there are lots of different dosfs')

Cheers, Jon

Reply to
Jon Beniston

"Jon Beniston" schrieb im Newsbeitrag news: snipped-for-privacy@j33g2000cwa.googlegroups.com...

learn too google :)

its simple

google larwe dosfs

3 link

formatting link

Antti

Reply to
Antti Lukats

"Jon Beniston" schrieb im Newsbeitrag news: snipped-for-privacy@i40g2000cwc.googlegroups.com...

xil appnotes and ref designs

pretty cool they use the USR ACCESS JTAG command to create virtual JTAG TAP master that then connects to the PPC JTAG tap and uses PPC ICE registers to load the caches. was pretty cool to see that implementation

look at the ultracontroller II, the thing is all there

antti

Reply to
Antti Lukats

See XAPP575, XAPP807, XAPP719, and XAPP571 for more information about UltraController-II and some of the underlying technology.

However, the problem here is much simpler, i.e. a regular EDK design where the code is loaded into the PPC405 caches through proper setup of the linker script and the ACE options file (more details later today).

- Peter

Antti Lukats wrote:

Reply to
Peter Ryser

Ah, if you has said search for dosfs by Lewin Edwards, I'm sure I would have got it. Thanks anyway!

Compiling all of dosfs for PowerPC seems to be about 8kB. To read a file using the systemace drivers comes to a total of about 10kB.So quite a nice saving. Thanks.

Cheers, Jon

Reply to
Jon Beniston

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.