[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] Starting up questions
John Williams wrote:
> Hi David,
>
> Currently MicroBlaze is only supported in 2.4 kernels - you need to
> grab the kernel tree and uClinux-dist build environment from
> www.uclinux.org. All of the MicroBlaze support and standard
> auto-configured platform code is in there, plus drivers and so on.
There are uCLinux patches for Linux-2.6.18 (which worked with minor
tweeks against 2.6.19). I am very proficient with Linux 2.6, and my
current ppc BSP for the ppc variant of the board I am working with
depends heavily on features that are not in 2.4. For someone with
reasonable kernel skills, is it reasonable to assume that migrating the
microblaze support to 2.6 would not be an insurmountable task ?
Ignoring all the things that inevitably will go wrong and have to be
dealt with, it is much more than moving the arch/microblaze (or whatever
it is called) directory to a uCLinux 2.6 tree and editing the Kconfig
/Makefiles to attach it, then fixing for all the 2.4-2.6 architecture
specific changes ?
Trying to backport all the 2.6 drivers, BSP code that mostly ought
to be re-usable for the MicroBlaze back to 2.4 looks like a major
project, as well as one that only has a short future.
Most of the embedded PPC 2.4 die-hards have thrown in the towel in
the past year. Even if migrating the MicroBlaze code to 2.6 is a bigger
task - atleast it is one with broader benefits.
>
> It is a shame that none of the Xilinx / PPC kernel support and drivers
> are making it into mainline trees - that seems to be the pattern when
> silicon vendors pay BigBucksLinux companies to do this stuff.
<rant>
I would imagine you have looked at the code in the Xilinx EDK. A
quick look at the Documents\codingstandards.txt pretty well exposes the
problem.
I would as a software consultant. I have had to deal with a wide
variety of programming styles. I really do not like the coding style in
the EDK, but I am not religious about style (except my own).
One of the programmers I respect the most in the world has a
personal style I think would easily win obfuscated C contests. But he
writes some of the smallest fastest code I have seen, and he seems to
have an innate sense of where he can afford to be sloppy and where he
cannot that I have never seen the equal of. Besides "indent -kr " seems
to convert his code into something I can digest.
The Xilinx EDK attempts as much as possible to be almost OS
independent. It accomplishes this by nesting macros nearly infinitely. I
have no idea whether Xilinx or MV are responsible for this - you would
think MV would have some idea what it takes to get into the kernel, they
have many good people who are already significant contributors.
Regardless, there is no way any existing kernel developer or
subsystem maintainer is going to sign-off on this.
There was a major discussion on linuxppc-embedded a few months back
and the consensus is that Xilinx support is going to come through
individual contributions. There is already ml300 and ml403 support that
conforms to current standards, and is being updated to reflect new
developments (a nearly impossible task with the EDK code). I have a
Xilinx V4 port of another board that will likely work its way in
eventually, as well as a conforming version of the TEMAC driver that
might get accepted), there is a whole collection of other Xilinx IP
drivers, including numerous competing uartlite drivers.
It is easy to believe that Linux and Open Source development is a
pure meritocracy. I think humans are incapable of that. There are many
good things about Linux Kernel development, but presuming that there are
no stylistic, or political issues is being blind. Most of the Linux
developers care little about Xilinx's multi-OS goals. Most are also
command line edit/compile/link/debug developers with little interest in
Xilinx's approach to building BSP's, and regardless they are not going
to work in/arround an approach that is that dissonant with their own.
While I am personally more comfortable with the Linux Kernel Style
(though not necescarily the politics), I am just trying to get a job
done without having to turn my life arround.
I have to spend some time playing with Xilinx's tools. As a software
developer in the embedded venue, programming FPGA's seems like a natural
step - infact a recently demonstrated FPGA programming tool struct me as
a sort of programmers holy grail - a graphical concurrent programming
language - and the developers confirmed that is basically what it was
and they have used it internally for many non-FPGA related projects. But
for the moment I am a pure software guy - lots of experience with
hardware, even programmed a PAL or two long ago, but I am looking to get
a MicroBlaze variant of Linux up on the hardware I am working on while
turning my life upside down as little as possible.
</rant>
>
> Regards,
>
> John
>
> David H. Lynch Jr wrote:
>> I have done Linux kernel development and board bringup before.
>> But I am somewhat lost regarding to proceeding with a MicroBlaze
>> uCLinux port.
>>
>> I pulled the gnu tools from xilinx and built them for my
>> development system - though it would be nice if xilinx would just
>> submit the MicroBlaze code to GNU to get it into the
>> main gnu tools chains, then things could be built with crosstools
>> or something normal.
>>
>> I pulled a recent kernel source from kernel.org.
>> I pulled and applied the coresponding uCLinux patches.
>> Unless I am fairly blind MicroBlaze is not under arch/
>> I have pulled most of the itee/petalogic downloads. These seem
>> to add uCLinux as a target to Xilinx tools - as best as I can digest
>> them.
>> I am not using Xilinx tools. I have done Linux 2.6 and GreenHills
>> ports for a PPC variant of the boards I am now trying to bring up
>> using the MicroBlaze.
>> I'd really rather not comment on the Xilinx Linux code - aside
>> from the fact that it isn't getting into the kernel.org kernels.
>> All I am looking for is A Linux source tree with MicroBlaze as an
>> architecture - maybe with an example platform - though the PPC
>> platform I have already done is sufficiently close to what I need I
>> probably do not need an example platform.
>>
>> Where can I get a patch that adds the MicroBlaze as a
>> architecture to a uCLinux modified Linux source tree ?
>>
>>
>>
>>
>> --
>> Dave Lynch DLA Systems
>> Software Development: Embedded Linux
>> 717.627.3770 dhlii@xxxxxxxxxx http://www.dlasys.net
>> fax: 1.253.369.9244 Cell: 1.717.587.7774
>> Over 25 years' experience in platforms, languages, and technologies
>> too numerous to list.
>>
>> "Any intelligent fool can make things bigger and more complex... It
>> takes a touch of genius - and a lot of courage to move in the
>> opposite direction."
>> Albert Einstein
>>
>>
>> --
>> Dave Lynch DLA Systems
>> Software Development: Embedded Linux
>> 717.627.3770 dhlii@xxxxxxxxxx http://www.dlasys.net
>> fax: 1.253.369.9244 Cell: 1.717.587.7774
>> Over 25 years' experience in platforms, languages, and technologies
>> too numerous to list.
>>
>> "Any intelligent fool can make things bigger and more complex... It
>> takes a touch of genius - and a lot of courage to move in the
>> opposite direction."
>> Albert Einstein
>>
>
> ___________________________
> 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/
>
>
--
Dave Lynch DLA Systems
Software Development: Embedded Linux
717.627.3770 dhlii@xxxxxxxxxx http://www.dlasys.net
fax: 1.253.369.9244 Cell: 1.717.587.7774
Over 25 years' experience in platforms, languages, and technologies too numerous to list.
"Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction."
Albert Einstein
___________________________
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/