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