[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [microblaze-uclinux] sources for microblaze-related software



Hi David,

David H. Lynch Jr wrote:
John Williams wrote:

I wrote:


developer.petalinux.com is better than anything that was ever on my
old uni web pages.

    I too am having some trouble digesting some of this.

    Rather than prebuilt toolchains, is there a set of patches to GNU
GCC that I could incorporate with crosstool and build my own tool chain.
    That is a process I am familiar with. I have not had great luck with
xygwin, cygwin, or other gcc binary tool distributions. They almost
never correctly match
    what I am trying to do or are fairly archaic.

Personally, I hate hacking on gcc. For that reason I never do much with it other than rebuild the source tarballs distributed by Xilinx (see my forward of John McCluskey's email earlier today).

I have tried to convince Xilinx to push microblaze into mainline GCC, but it's never happened. No doubt there's a fair effort there, but there are rewards as well.

Anyway, in terms of patches for buildroot - it should be easy enough to take the tarball from Xilinx, do a diff -Naur against whatever original version Xilinx based theirs on, and there's your patch.

Can buildroot make noMMU (elf2flt) Linux toolchains happily? If not, there's another complication to consider for MicroBlaze.

    I also do not fully "grok" ucLinux. Everywhere I encounter ucLinux
it seems to be part of a massive collection of software beyond just the
Linux kernel.

You are making a common confusion between uClinux, and uClinux-dist. One more time, for the archives:

uClinux-2.4.x is essentially a patch against a regular Linux kernel to add support for CPUs without MMU, and various CPU architectures of that kind (including MicroBlaze). It's also distributed as a CVS tree from www.uclinux.org and other places.

As of 2.6 the core NOMMU support is merged into mainline, but SnapGear still maintain linux-2.6.x-uc0 patches because the barrier for entry to mainline kernel.org is much higher, so there are always a bunch of patches (and NOMMU arches) waiting to be merged upstream.

uClinux-dist is a build environment that inclues libs (uClibc, glibc, plus misc libraries) user apps, filesystem creation tools, and a whole lot of glue to build a single downloadable blob that is an embedded Linux system.

This is the "massive collection of software" of which you speak.

Everyone has their preference, but for me the ability to type "make" at a toplevel and end up with a complete kernel, filesystem and binary blob at the end of it makes uClinux-dist (and our modified version, petalinux-dist), the tool of choice.

    Isn't ucLinux a set of patches against a distribution kernel to
support MMUless CPU's ?

That's essentially correct.  See above.

    All I really want to do is duplicate the ppc405 Linux work I have
done for my boards using a microblaze.
I use vanilla kernel sources from kernel.org. I have BSP and device
support I have written for my hardware (not using Xilinx EDK)
    All I need is an arch/microblaze tree in the kernel source instead
of an arch/ppc tree and the peices to build microblaze crosstools.

I am currently unifying the microblaze and PPC 2.4 kernel trees - so you can build either microblaze or PPC systems in the same PetaLinux environment. This should be rolled out for public consumption in the next few weeks. The merge is relatively straight forward, but testing all shared devices on both CPUs on multiple boards is time consuming.

This is in 2.4 space. 2.6 is on the way as well for MicroBlaze, and the unification of MicroBlaze and PPC trees for 2.6 is an obvious goal as well.

I hope this clears things up somewhat.

Regards,

John
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/