Re: SystemACE bootloader for PowerPC on Virtex4 FX
- From: Peter Ryser <peter.ryser@xxxxxxxxxx>
- Date: Wed, 17 May 2006 19:24:00 -0700
One more thing. If you have 7 or less applications that you want to load from System ACE CF there is an even simpler approach.
In that case the software applications are embedded into software only ACE files and stored in the directory structure for System ACE CF. For example, the bootloader is at configuration address 0, application 1 at address 1, etc. The bootloader consists of only a few lines of code that selects the desired configuration and kicks off a System ACE CF configuration cycle for that application.
For more information check out the reference design for the ML403 board at http://www.xilinx.com/products/boards/ml403/files/ml403_emb_ref_ppc_81.zip (see source code in sw/standalone/bootload/src)
- Peter
Peter Ryser wrote:
Here is some information on how to get this done. This is tested on a ML403 board. You might need to make changes for your environment but the principle is the same.
1. Use Base System Builder and build a design with UartLite, System ACE CF, and DDR memory. Include the BRAM, we'll use it initially.
2. Build the hardware.
3. Add a software project
- bootloader: the bootloader program that will run out of cache
4. Implement the bootloader (runs out of BRAM by default). Test it on the board.
5. Now let's move the bootloader application into caches. For that we create a new linker script with three memory regions:
MEMORY
{
icache : ORIGIN = 0x70000000, LENGTH = 16k - 4
boot : ORIGIN = 0x70003ffc, LENGTH = 4
dcache : ORIGIN = 0x78000000, LENGTH = 16k
}
Separate all the sections into those regions. At this time you have a real Harvard architecture, i.e. you need to be careful about moving instructions into the icache and data into the dcache. Rebuild the bootloader application.
6. Set the XMD Debug Options. In the Advanced Options tab set the icache to 0x70000000 and the dcache to 0x78000000. Save.
7. Download the bootloader application and run. It now runs out of caches.
The project is attached.
- Peter
Jon Beniston wrote:
Peter,
assuming that you are using System ACE CF to configure your Virtex-4 FX
Yep.
can load the boot code directly into the processor caches
Thanks sounds very interesting. Any pointers or app notes on how to do
this? (Sorry if I'm overlooking the obvious)
Cheers,
Jon
.
- Follow-Ups:
- Re: SystemACE bootloader for PowerPC on Virtex4 FX
- From: Jon Beniston
- Re: SystemACE bootloader for PowerPC on Virtex4 FX
- References:
- SystemACE bootloader for PowerPC on Virtex4 FX
- From: Jon Beniston
- Re: SystemACE bootloader for PowerPC on Virtex4 FX
- From: Siva Velusamy
- Re: SystemACE bootloader for PowerPC on Virtex4 FX
- From: Jon Beniston
- Re: SystemACE bootloader for PowerPC on Virtex4 FX
- From: Peter Ryser
- Re: SystemACE bootloader for PowerPC on Virtex4 FX
- From: Jon Beniston
- Re: SystemACE bootloader for PowerPC on Virtex4 FX
- From: Peter Ryser
- SystemACE bootloader for PowerPC on Virtex4 FX
- Prev by Date: Re: Xilinx Platform Cable USB protocol specifications and/or open-source firmware replacement
- Next by Date: V4 system synchronous input setup/hold and clock-to-out time calculations?
- Previous by thread: Re: SystemACE bootloader for PowerPC on Virtex4 FX
- Next by thread: Re: SystemACE bootloader for PowerPC on Virtex4 FX
- Index(es):
Relevant Pages
|