RTEMS on Virtex 4

Sebastian Huber sebastian.huber at embedded-brains.de
Fri May 31 13:14:28 UTC 2013


Hello Stefan,

On 05/31/2013 12:57 PM, Gempeler Stefan wrote:
> Hi,
>
> First I would like to introduce myself: the last couple of years I developed
> software for PCs and embedded systems (always worked on "bare metal" ARM etc.
> or on a runnung "big" OS). Therefore I never had to use and set up an OS on an
> embedded system. Now I have to evaluate one for a space project which should
> run on the following hardware:
>
> - Xilinx Virtex4, PowerPC405
>
> - Evaluationboard: ML410
>
> - final design: RAM: max. 192 kB for program and data
>
> Our system should support (estimation):
>
> - 5 threads
>
> - accurate system time
>
> - around 5 interrupts: peripheral (UARTs + IO)
>
> - around 5 mutex
>
> - around 5 semaphores
>
> - …

you execute the program out of the RAM?

>
> I came across the RTEMS project which seems to be very interesting. Since I'm
> quite unexperienced in setting up such a system, I went through the
> documentation and some websites which made me build a "running" system:
>
> - built the rtems system with the system builder:
>
>  >
> http://www.rtems.org/ftp/pub/rtems/people/chrisj/source-builder/source-builder.html
>
> - set up eclipse inspired by
>
>  > http://www.rtems.org/pipermail/rtems-users/2012-February/009439.html
>
> - working on RTEMS commit e67025e3900f23e1b9a25b939d7bff37a9c5e9f0
>
> - made some changes on BSP "virtex"
>
> - took the init.c from examples-v2/hello (tested all 3: Classic, POSIX,
> Classic+POSIX)
>
> -> now I've got a "Hello World" application running on the evaluation board
> using an UART as stdio J
>
> So far so good, now my Questions:
>
> 1. When I try to add some code the system, it does not work anymore. Well, I'm
> not surprised when I consider my tinkering ;-)
>
> 2. The test program is only a simple "Hello World" and it already consumes 2/3
> of our memory, which is a no-go:
>
> text       data        bss         dec        hex    filename
>
> 126520    1724      4004   132248   20498  o-optimize/rtems-app.exe
>
>     Ok, I'm sure that the system I put together is not optimized at all, but
> I'm still quite surprised...

printf() and the Termios interface (do you need it?) needs a lot of code space 
and the PowerPC code itself is not very dense.  It is possible to strip down a 
RTEMS system, but in general RTEMS is not a ultra low code size system.

>
> 3. I also got stuck (and confused) using interrupts: rtems_interrupt_catch() as
> mentioned in the RTEMS C User’s Guide seems to be deprecated. Tried the
> BSP_install_rtems_irq_handler(), but didn't succeed either...

The PowerPC BSPs should provide this interface:

http://www.rtems.org/onlinedocs/doxygen/cpukit/html/group__rtems__interrupt__extension.html

In case this doesn't work with the virtex4 BSP, then we should fix this.

>
> 4. Most important: To have a good feeling about the correct setup of the
> system, I would appreciate to get in touch with an expert who helps me to move
> on setting up for evaluating RTEMS. Where can I get such additional support for
> our system (http://support.rtems.com/ and http://www.rtems.com/support.html
> seems to be down)?

Oh, these links are broken.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the users mailing list