Xilinx IP core drivers for RTEMS- Keith Robertson still around?

Robert S. Grimes rsg at ll.mit.edu
Tue Jul 18 16:53:40 UTC 2006



Thomas Doerfler (nt) wrote:
> Well, that is more or less similar to a typical microcontroller design:
> You can attach different types of memory, add or ommit some peripherals,
> map them to different address ranges, use a different interrupt
> controller....
>   
True, but of course, then you're talking a new board, right?  And a new 
BSP.  All I had meant was that, with the V4, two users could have the 
exact same hardware (e.g. ml403 purchased from Xilinx, etc.), and still 
require a completely different BSP!  There is just another layer of 
complexity here.  I only wanted to point that fact out to those less 
familiar with the V4, as I have whacked my head numerous times on that 
particular low ceiling beam!
> Maybe we(?) should try to keep things as flexible as possible (put as
> much as possible of this configuration stuff to "bsp.h" like number and
> type of uarts, address and irq mapping etc). My idea is, Keith and You
> have done a lot to get RTEMS running on the ml403 and/or similar
> hardware, it would be nice to make this available for others, at least
> to have a starting point for proriatary developments.
>   
Agreed.  Fortunately, the Xilinx EDK does a reasonable job, at least as 
a start, with the "xparameters.h" file that documents, with C macros, 
key configuration constants such as memory regions address maps, 
peripheral base addresses, etc.

I'm not sure how to proceed just now, but probably I should try to get 
it up on the hardware, and have you deal with the BSP packaging - seems 
this was the approach you suggested seven months ago, no?  Seems you 
knew what you were talking about :)

-Bob
>
>   
>> I just re-read your email, in particular the phrase:
>>
>>     "turns the gen405 BSP into a ml403 BSP"
>>
>> I think that was certainly what Keith did, which made sense for him, I'm
>> sure.  You sound like you'd like to make a new BSP - is that correct? 
>> That sure seems to be the right way to do it, if we want this all to
>> eventually become part of the official distribution.  Is this what you
>> have in mind?
>>     
>
> Yes, I think the ml403 should become possibly a (customizable) derivate
> of the gen405 BSP.
>
> wkr,
> Thomas.
>
>   
>> Take care,
>> -Bob
>>
>> Thomas Doerfler (nt) wrote:
>>
>>     
>>> Robert,
>>>
>>> this really looks interesting. we were in contact with keith aroung
>>> chrismas but we drowned in our work right from the start of this year,
>>> so we lost contact again about the ml403 BSP.
>>>
>>> Can you (or Keith) provide a more detailed outline about the neccesary
>>> xilinx configuration?
>>>
>>> I have checked the patch you provided, it looks interesting, but it
>>> turns the gen405 BSP into a ml403 BSP, instead of defining a derivate.
>>> But I think it will not be SO difficult to devide things again so the
>>> BSP will support either a gen405 board 8whatever it is now) or a ml403.
>>>
>>> wkr,
>>> Thomas .
>>>
>>>
>>> Robert S. Grimes schrieb:
>>>  
>>>
>>>       
>>>> Hi Greg,
>>>>
>>>> I'm in the same boat as you.  Keith has sent me his diffs, which I
>>>> include here.  Note that they are against a little older version
>>>> (V4.6.5) of RTEMS, and should work on a suitably configured Xilinx ml403
>>>> board.  You'll have to make sure your V4 configuration is compatible
>>>> with his stuff, or change one side or another...
>>>>
>>>> Be forewarned - things are much more tricky here in V4 land. Because of
>>>> the flexibility of the V4, you have many more variables.  When I used
>>>> Keith's work, the simplest RTEMS application simply worked!  However, in
>>>> looking at things afterwards, I realized how random that was...
>>>>
>>>> I started with the Xilinx ml403 development/evaluation board.  As
>>>> delivered, it is a pretty full-fledged configuration designed to show
>>>> off all the V4 and ml403 features.  One thing I noticed early on is that
>>>> some of the IP used in that configuration, specifically the serial port
>>>> and the Ethernet MAC, would cost extra (iirc, $2K for the serial port,
>>>> and $5 for the MAC).  I sure didn't feel like paying $2K for a console
>>>> port!  Fortunately, the provide the uart lite component, so I did the
>>>> necessary substitution.  Here is where the randomness kicks in - for
>>>> whatever reason, Keith had done the same, so lo and behold, things
>>>> worked!
>>>>
>>>> It gets more complicated, however.  For me, I can't justify spending $5K
>>>> for a core that takes up 25% of the FPGA fabric, /especially when there
>>>> are two hard TEMACs on the darn chip to begin with/!  (I'm still a bit
>>>> hot under the collar about how difficult getting the TEMAC up has been,
>>>> especially because one would reasonably had assumed that such a
>>>> highly-touted feature would have been demonstrated in an evaluation
>>>> board!!!)  So I'll have to modify what Keith has done anyway to use the
>>>> TEMAC.
>>>>
>>>> Anyway, I've been off it for a little while, but will be picking up
>>>> steam again, especially after my design review on this project August
>>>> 1&2, so if interested, we can perhaps help each other a bit.  Be
>>>> forewarned, I'm a novice with RTEMS, though I won't be for much
>>>> longer...
>>>> -Bob
>>>>
>>>> Keith's stuff:
>>>> Attached is his diff against a clean 4.6.5 - here are his comments
>>>>
>>>>    Here's the diff's against a clean 4.6.5.  I've had to manually edit
>>>>    the output of my svn diff command to only get changes specific to
>>>>    the gen405 drivers I've spoken about.  I believe it should work
>>>> though.
>>>>
>>>>    All changes are made available under the standard rtems license (ie
>>>>    GPL plus rtems exception).
>>>>
>>>>    The main changes are the following:
>>>>
>>>>    Xilinx opb interrupt controller:
>>>>    c/src/lib/libbsp/powerpc/gen405/opbintctrl/opbintctrl.[ch]
>>>>
>>>>    Xilinx uart lite driver:
>>>>    c/src/lib/libbsp/powerpc/gen405/console/consolelite.c
>>>>
>>>>    Xilinx ethernet driver:
>>>>    c/src/lib/libbsp/powerpc/gen405/network/network.[ch]
>>>>
>>>>    There are three other types of changes:
>>>>
>>>>    1) Makefile.am changes to make the whole thing compile
>>>>    2) A few changes that were spoken about on the mailing list in July
>>>>    (essentially bugs in the gen405 port AFAICT).
>>>>    http://www.rtems.com/ml/rtems-users/2005/july/msg00023.html
>>>>    http://www.rtems.com/ml/rtems-users/2005/july/msg00008.html
>>>>    3) Bsp startup / connection to driver files
>>>>    (gen405/network/network.c, gen405/include/bsp.h)
>>>>
>>>>
>>>> gregory.menke at gsfc.nasa.gov wrote:
>>>>
>>>>    
>>>>
>>>>         
>>>>> Hi,
>>>>>
>>>>> This message is directed to Keith Robertson with regard to a message on
>>>>> the rtems mail list in Dec 2005 where he indicated he had some RTEMS
>>>>> code written to support Virtex-4 PPC hardware, specifically the
>>>>> interrupt controller, uart & ethernet.  If possible, I'd like to get
>>>>> copies of the code since we have a high priority effort underway using
>>>>> those parts, and RTEMS is the OS.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Greg
>>>>>
>>>>>
>>>>>         
>>>>>           
>>>
>>>   
>>>       
>
>
>   



More information about the users mailing list