ts-7000
[Top] [All Lists]

[ts-7000] Re: Real time programming the REAL way

To:
Subject: [ts-7000] Re: Real time programming the REAL way
From: "charliem_1216" <>
Date: Fri, 09 May 2008 12:17:54 -0000
Hi --

--- In  Per Öberg <> wrote:
>
> Hi
>
> Jayne Dickinson wrote:
> > A real-time system requires a deterministic kernel, linux is not
real-time , it's getting close...
> > You need an RTOS kernel that guarantees your time-slice... the TS
boards are great but you
> > really aren't doing real-time, it's close though.. for the sake of
learning how to write embedded
> > applications, I would definitely say TS boards and development is
the way to go.
>
>
>
> > Are you planning on writing your own kernel?
>
> Yes, as a way of learning. I'm a little worried about things like MMU

You might want to look at some of the ARM based microcontroller
boards, generally they have no MMU, but lots of them have A/D, SPI,
ethernet, etc., and much less RAM.  It depends on what you want to do.

My impressions are that the TS boards tend to attract linux developers
who want to move an application to a small form factor platform, while
keeping pretty much a full linux environment.  OTOH, the MMU-less
microcontroller boards tend to attract developers of more traditional
embedded systems: more likely to write their own small kernel, very
close to the hardware, and not necessarily depending on having full
linux services at hand.  Just my $0.02 ....

If you are coming from a hardware background, take a look at the TS
board schematics, and make sure the FPGA won't get in your way between
you and the hardware.

> and how difficult it will be to implement a reasonable context switch
> though. As i understand it the ARM processors have some different
> operating modes but keeping it simple it might be possible to just
stick
> to one of them. I will try to avoid using libc but I am unsure whether
> the gcc compiler generates any complex code which will break my attempt

IIRC, there are different cross toolchains available depending on
whether you have a linux/libc target or a bare metal target.  Look at
CodeSourcery for more details.

> to keep it simple. And don't mention things like C calling conventions
> for ARM. I guess I will keep my distance from floating point math
to, at
> least in the beginning.

If you are starting from scratch, look into EABI; it causes much less
pain with FP.

>
> Then later on I may use RTLinux because it's so nice with ethernet and
> USB support. As I understand it I will then get Hard real time but
> please correct me if I'm wrong.

That is my understanding too: Linux (OS) runs as the idle task with
other RT tasks, under a special RT linux scheduler kernel.  Be sure to
compare RTLinux to RTai.  Also there are quite good low-latency
options built into recent linux kernels, but not fully deterministic.

Regards, ...... Charlie

>
>
> Regards Per Öberg
>
> --
> Per Öberg, Ph.D. Student
> Address: Division of Vehicular Systems
> Department of Electrical Engineering
> Linköpings universitet
> 581 83 Linköping, SWEDEN
> Phone: +46 (0)13-28 23 69
> e-mail: 
> PGP: http://www.fs.isy.liu.se/~oberg/0x61984A9D.asc
>



------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
    
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU