---------- Forwarded message ----------
From: Sébastien Bourdeauducq <sebastien(a)milkymist.org>
Date: Wed, Oct 6, 2010 at 7:30 PM
Subject: Milkymist tools in FEL
To: Chitlesh GOORAH <chitlesh(a)fedoraproject.org>, devel(a)lists.milkymist.org
Hi,
Thank you very much for your enthusiasm getting the Milkymist tools
into FEL :)
Following our phone call this Monday, here is the list of what we need
(in no particular order). I have listed all the "special" stuff, you
probably have some of it already.
* The latest UrJTAG, with Michael Walle's patches merged and FJMEM for
Spartan-6. These patches add free software support for configuring
the FPGA on our boards and reprogramming the flash. The patches have
been merged upstream into UrJTAG. Michael: do we need anything
special for out-of-the-box FJMEM support, or is it included in the
stock UrJTAG installation?
* Michael's modified OpenOCD [1], not merged upstream yet. This enables
in-circuit JTAG debugging of the Milkymist SoC.
* Michael's modified QEMU [2] with LM32 and Milkymist support, not
merged upstream yet.
* lm32-elf toolchain (including GCC, Binutils and GDB). I recommend GCC
4.5.1 that has the LM32 support included and a reasonable amount of
bugs. No patches are needed for these tools, they work as released by
the FSF. Newlib is not needed for this toolchain, which makes this
item independent of the licensing discussion you had lately [2]. This
toolchain is used for building the Milkymist BIOS, the demo renderer
and the experimental uClinux kernel. All those come with their own
built-in libc.
* Scilab [4], used for building the demo renderer. The GUI is not
needed for our purposes.
* Lemon parser generator [5] (you may already have this one).
* RE2C [6] (same comment).
* An easy to configure/pre-installed TFTP server (same comment) for
netbooting the board.
* lm32-rtems toolchain, which uses newlib so I hope the licensing
discussions [3] can be settled soon. Again, I recommend the GCC 4.5.1
based toolchain. There are already Fedora RPM packages available at
the RTEMS FTP [7] (browse around for SRPMS and other versions) and
you can see [8] for generic build instructions.
* An installation of the modified RTEMS [9] (not fully merged upstream
yet) built for Milkymist.
* The flterm serial terminal and firmware download program [10].
* libGD [11] and its development headers (you most probably already have
this) that we use in the software build process and through VPI in
some Verilog test benches that process images.
* FTDI libraries [12] (probably already included) for using Yanjun Luo's
Milkymist One JTAG adapter [13] with UrJTAG.
* Native (x86) clang (LLVM), used for building some host-side tools in
the build process.
* SRecord [14].
* xxd hexdump command.
Phew! I hope I have not forgotten anything. Anyway, I'll be happy to
install FEL and try to build Milkymist stuff and use the JTAG tools to
check that nothing is missing :)
If all of this sounds too much for you, I can prioritize the list.
There are no FPGA tools (except maybe the JTAG programmer), those are
proprietary and non-redistributable and there are no serious free
equivalents. You already have the Verilog simulators that we use
(Icarus Verilog + GPL Cver) and GTKWave.
Cheers,
S.
[1]
http://git.serverraum.org/?p=mw/openocd-lm32.git;a=summary
[2]
http://git.serverraum.org/?p=mw/qemu-lm32.git;a=summary
[3]
http://lists.fedoraproject.org/pipermail/legal/2010-October/001400.html
[4]
http://fedoraproject.org/wiki/SIGs/SciTech/Scilab
[5]
http://www.hwaci.com/sw/lemon/
[6]
http://re2c.org/
[7]
ftp://ftp.rtems.org/pub/rtems/linux/4.11/fedora/14/i386/
[8]
http://milkymist.org/wiki/index.php?title=Run_RTEMS_on_the_Milkymist_One
[9]
http://github.com/fallen/rtems-milkymist
[10]
http://github.com/lekernel/milkymist/blob/master/tools/flterm.c
[11]
http://www.libgd.org/Main_Page
[12]
http://www.intra2net.com/en/developer/libftdi/
[13]
http://lekernel.net/blog/?p=1266
[14]
http://srecord.sourceforge.net/