Newbie

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Yello,

Can someone suggest a place for me to start in making my own embedded
system? Like hardware requirements and stuff? I'm used to Linux so I'd
probably use that as an operating system.

I'm a total noob with embedded stuff but I have fairly good knowledge of
operating systems from an implementation standpoint.

I know my request is vague so any comments would be appreciated :)

Thanks

Sohail

Re: Newbie
In addition, I'd probably also like to hook up some sensors to the system.

Re: Newbie

Quoted text here. Click to load it

Not all embedded systems require or even warrant operating systems.

Quoted text here. Click to load it

I am reminded of a Dilbert in which Dilbert is in a conference room with
the marketing guy.  Dilbert asks the marketing guy to provide a rough
idea of the product and its requirements.  The marketing guy says no,
that he'd rather Dilbert tell him everything of which Dilbert is capable
and that he'll choose some of them.

Quoted text here. Click to load it

OK.  What would you like these sensors to sense?  In what way would you like
the system to use to the data it gathers from these sensors?  Will this
data or any other data need to be communicated to other systems?  Are there
any other outputs the system needs to provide?

--
========================================================================
          Michael Kesti            |  "And like, one and one don't make
We've slightly trimmed the long signature. Click to see the full one.
Re: Newbie

Quoted text here. Click to load it

True. See my reply to Grant.

Quoted text here. Click to load it

My experience is with the 8051, so if you know about that, I essentially
would like an up-to-date version of that. If that makes sense.

PS: Dilbert is probably a bad requirements engineer. Part of being a req
engineer is figuring out what people need :)


Re: Newbie

Quoted text here. Click to load it

My 2 bits:

Using Linux in an embedded system is pretty complex, and not a
good first step.

If you're new to embedded systems, I'd start with something
like an ARM, H8, 68K, AVR, or HC12 eval board and no OS at all.
Start simiple.  Stay away from virtual memory, PCI, USB, and
Ethernet.

Make the LEDs flash and the serial ports talk to a PC running
Kermit.

If you're a Linux user, stick to stuff for which gcc ports are
available (every CPU I mention is supported by gcc).  Ideally
pick a board for which GDB stubs are available.

Most eval boards come with feature-limited or time-limited
development SW that runs under Windows.  You can use that to
make sure the board works if you like.

There are lots of people in this newsgroup who probably have
drawers full of old eval boards they're not using, and somebody
might be willing to part with one for little or nothing.

Next I'd find a small RTOS that has already been ported to my
board. Two choices come to mind:

 1) uC/OS-II and the companion book by LaBrosse (it comes with
    a copy of uC/OS-II.  uC/OS is simple and easy to port/use.
    
     http://www.micrium.com /

 2) eCos is a bit more complex and runs only on 32-bit CPUs
   (e.g. ARM, 486+, H8, PPC, SPARC, etc).  There's a good book
   my Massa.

     http://sources.redhat.com/ecos
     http://www.ecoscentric.com /

There are other free and/or open-source RTOSes, but I can't
think of any names off the top of my head.

Stay completely away from PC-compatible SBC's boards.  They're
extremely complex and a nightmare to get initialized.  The x86
CPU architecture sucks rocks, and x86 assembly languages is icky.

I'd also stay away from Linux as an embedded OS at first --
using it in an embedded system is pretty tricky and I don't
recommend it unless you are already pretty comfortable with
embedded systems.

If you really do want to mess with embedded linux, there are
plenty of PC-compatible SBCs from places like Emac.  

Another choice would be to buy a Linksys 802.11 WAP.  They run
Linux and you should be able to download an entire
pre-configured, buildable system and start with that.

--
Grant Edwards                   grante             Yow!  I'm ZIPPY!! Are we
                                  at               having FUN yet??
We've slightly trimmed the long signature. Click to see the full one.
Re: Newbie

Quoted text here. Click to load it

Very welcome :)
 
Quoted text here. Click to load it

Actually, the main reason I wanted to use Linux (or some other open OS),
was so I could learn the difference between the implementation for a RTOS
for an embedded system from a regular old OS. As I mentioned I do have
some knowledge of implementation of an operating system. After surfing
uC's site, I have concluded that the source is available for me to mess
around with (is it?) Now I just want the hardware.

Quoted text here. Click to load it

Where can I get stuff like this? I don't mind putting it together, I just
don't have any idea where to get my hands on it. Preferably the cheaper
hardware as I am still a student. Sort of. Well I'm registered, but I
don't go :)

Quoted text here. Click to load it

Actually now that you mention it, I remember doing a course with the 8051
microcontroller. Yes my memory is very bad. I pretty much learnt all about
it and implemented stuff such as a game played using LEDs and switches as
well as a system to control a pair of trains on a weird track. This did
not have an OS on it and the only control programs were the ones we had to
write. It was multithreaded but that was just me using interrupts in a
non-general way.

We did use serial ports to talk to the led's and the track controller but
iirc that was a hack so that we could use cheap hardware parts or
something.

As an aside, is the 8051 microcontroller popular? I think it was 8-bit or
something which isn't so hot. I think Palm uses the ARM architecture
right? What architecture should I aim on fooling around with? I'd prefer
to use something that is techically superior as well as something that is
really used in "the field" (does that ever occur?)

<snip>

Quoted text here. Click to load it

Anyone? :) Btw, when you say "eval" board, I'm assuming that means
evaluation board?

Quoted text here. Click to load it

This one looks good. I think a guy from U of Waterloo wrote it right?
The s/w seems to be open source from a first glance.

Quoted text here. Click to load it

What is a SBC?

Quoted text here. Click to load it

Any good free (as in speech) OS will do fine.

Anyway, I better get to sleep if I am ever going to be at work on time.

Thanks for your valuable input

Sohail

Re: Newbie
Quoted text here. Click to load it

Yes, 8051 is 8-bit and is still used. See www.8052.com. Intel stopped making
it, but others didn't: Dallas-Maxim, Phillips, Atmel.

Palm currently uses ARM. They used to use the 68328 Dragonball (68000 CPU).

The thing about embedded systems is that it runs the gamut between 4-bit
microcontrollers and 64-bit microprocessors. Embedded systems are tailored to
the particular requirements. A 64-bit system makes no sense in a battery
operated toy. A 4-bit controller makes no sense in a system to process radar
returns and create a synthesized digital image. Size of final package, power
consumption, operating environment, availability (will it be in production for
years? Is having multiple sources important?), and price are all considerations
in the choice of what a product uses.


Re: Newbie
Quoted text here. Click to load it

This site sells inexpensive ARM and AVR boards:

http://www.olimex.com/dev /

Haven't used them myself, maybe someone else can comment on quality,
features, etc.

HTH,
-- Georgi



Re: Newbie

Quoted text here. Click to load it

Linux isn't an RTOS.  Even on an embedded system it's stull "a
regular old OS".  It's just been stripped of the stuff not
needed by the handfull of applications the embedded board is
going to run.

If you want to learn about RTOS internals and implimentation,
Labrosse's book is quite good.

Quoted text here. Click to load it

I usually got mine from the uController distributors, but that
tends to be a bit on the expensive side ($300-$1000).

Quoted text here. Click to load it


Yes, very, very popular.  However, it's rather ill-suited for
running any sort of OS, since it doesn't have a user-accessible
stack.

Quoted text here. Click to load it

Depends on the definition of "hot".  It's probably the leading
selling architecture right now.

Quoted text here. Click to load it

Older ones used 68K, newer ones use ARM.

Quoted text here. Click to load it

Depends on what you want to do.  I think ARM would be a good
choice.  The low end ones (e.g. 20MHz ARM7) are simple enough
that it's easy to get them going from "bare metal" on up, and
the high end ones (400MHz StrongARM) have MMUs and can run a
full-up Linux system with a PCI bus and whatnot.

Quoted text here. Click to load it

The vast majority of parts used in "the field" are 4 bit CPUs
you can't buy in quantities under 100K and 8-bit CPUs similar
to the 8051.  "Technically superior" depends on the
requirements.  For running a toy, a 10 cent 4-bitter is
"technically superior" to an ARM.  For running an RTOS with
networking, the ARM would be superior.

Quoted text here. Click to load it

IIRC, he lives in Florida now, but he may have been at Waterloo
back in the day.

Quoted text here. Click to load it

Sort of.  If you buy a copy of the book you get a copy that you
can use without charge for evaluation and educational purposes.
There are older versions floating around that are also gratis
for educational use.

If you want to ship it in a product, you have to pay for a
license.

Quoted text here. Click to load it

Single Board Computer.

--
Grant Edwards                   grante             Yow!  I'm gliding over a
                                  at               NUCLEAR WASTE DUMP near
We've slightly trimmed the long signature. Click to see the full one.

Site Timeline