Using Linux on ML405: Some basic questions
alayrac
christophe.alayrac at cresitt.com
Tue Nov 28 19:09:20 EST 2006
Peter,
I'will try to help you on systemace only.
XACCACE can load an ace file from a FAT16 partition into the FPGA fabric
using boundary scan chain (JTAG).
First of all it loads the FPGA fabric, the bitsream file. If you have a
look in Applications in the ML405 project there should be a bootloop
code marked as activated and as used to initialized BRAM.
This code is loaded at address 0xFFFFFFFC (where there is a BRAM) wich
is the reset address of the powerpc. Thus after bitstream dowload, the
powerpc is in an infinite loop so that it won't try to access any
peripheral, especially memory.
Then systemeace will downlaod the elf file, in your case the kernel
image (it could be standalone apllication as well as uboot).
To do so the systemace take controle of powerpc through jtag chain (just
as you are dowing with the JTAG cable when you are debugging you code on
powerpc inside the FPGA). In fact the FPGA fabric include a JTAG daisy
chain, so that the PowerPC is seen on JTAG chain after FPGA
initialization (if you start an xps design from scratch you will see in
the wizard that you can select the debug chain of your powerpc from JTAG
or stub...)
So just to finish, as soon as system ace can see the PowerPC through
JTAG, it can see and use all powerpc peripherals and espaecially the
memory in your case. So it read the destination address of the elf image
to laod (from the elf file itself) and just copy the data at the
specific address. Then it put the PC at this address and sart the
powerpc.
Regards.
Chris
CRESITT INDUSTRIE
12 Rue de Blois, BP6744
45067 ORLEANS Cedex 2
Tel : 02.38.49.45.59
Fax :02.38.49.45.55
Email : christophe.alayrac at cresitt.com
Web : http://www.cresitt.com
<----> -----Message d'origine-----
<----> De : linuxppc-embedded-
<----> bounces+christophe.alayrac=cresitt.com at ozlabs.org
[mailto:linuxppc-
<----> embedded-bounces+christophe.alayrac=cresitt.com at ozlabs.org] De la
<----> part de Peter Mendham
<----> Envoyé : lundi 27 novembre 2006 15:44
<----> À : linuxppc-embedded at ozlabs.org
<----> Objet : Using Linux on ML405: Some basic questions
<---->
<----> Dear all,
<---->
<----> I am experimenting with Linux on an ML405 dev board in
preparation
<----> for
<----> designing a board of our own. I am not massively knowledgeable
about
<----> Linux internals and am learning as I go along. At the moment I'm
<----> working with a 2.4.26 kernel and the demonstration hardware
<----> configuration. I have built the kernel and created a new root
file
<----> systems using buildroot/busybox. Most of the time I have a
working
<----> system :)
<---->
<----> I have a few questions, I was wondering if someone could help me
out:
<---->
<----> 1) I don't really understand how the kernel image gets loaded
from
<----> the
<----> .ace file. I've seen articles which say that the SystemAce
<----> controller
<----> puts the kernel image directly into RAM, but on inspection of the
<----> datasheet I can't see any capability other that JTAG programming
and
<----> acting as a slave to a processor. Can anyone explain the way
this
<----> works?
<---->
<----> 2) I'm trying to simplify the kernel as much as possible, is
there a
<----> way
<----> to do without devfs? If I don't have devfs do I need an initrd?
If
<----> so,
<----> what do I need to put on the initrd, can it just be a minimal
/dev
<----> directory?
<---->
<----> 3) I will eventually be wanting tri-mode ethernet support,
ideally
<----> under
<----> a 2.6 kernel. I've been trying to follow the discussions on this
<----> mailing list with respect to the support for the tri-mode MAC and
<----> scatter gather/DMA support. Can anyone summarise what sort of
stage
<----> this is at? Is auto-negotiation supported? Once I get past the
<----> hurdles I
<----> have at the moment my next step is to attempt incorporating the
tri-
<----> mode
<----> IP and getting it working under Linux. If there's anything I can
do
<----> to
<----> help the effort at that point I'd be glad to put in some time.
<---->
<----> Many thanks in advance,
<----> -- Peter
<---->
<----> _______________________________________________
<----> Linuxppc-embedded mailing list
<----> Linuxppc-embedded at ozlabs.org
<----> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
More information about the Linuxppc-embedded
mailing list