- Hi,Which Embedded os is suitable for new user to learn?
- Posted by Tim Wescott on April 17th, 2006
b108463 wrote:
free. It has lots of cool desktop features, built-in files support,
built-in networking, built-in this, and built-in that.
Micro-C/OS-II is a 'real-time' OS, which means that it can be used to
schedule tasks who's timing must be strictly related to external events.
About the only thing that Micro-C/OS-II (or any real time kernel) has
are the basic tools for doing such scheduling, and for coordinating
between tasks.
Linux can be stretched, with difficulty, to encompass real-time operation.
Micro-C/OS-II can be stretched, with difficulty, to encompass most of
the built-in features of Linux.
What sort of 'embedded' are you planning on doing? If you're going to
do great big systems that look pretty but don't have to do anything
terribly special, like the part of a cell phone that runs the display
and buttons, or bank terminals, then Linux is probably the way to go.
If you're going to do smaller systems that must keep up with the outside
world, making the processor response critical, then a real-time OS like
MicroC/OS-II would be a good choice. If you're going to do _really_
small systems of almost any stripe, then learn how to use a task loop
(and how to tell when you should be using an RTOS).
I think your best bet is to get a book on embedded systems design.
There's a famous one by Jack Ganssle, and I think one of the
contributers to this group has one in the works. I haven't read any, so
I can't tell you what to get -- but probably any book on the subject
will have some good material on OS choice.
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Posting from Google? See http://cfaj.freeshell.org/google/
- Posted by Chris Hills on April 17th, 2006
In article <e20f2l$2ev$1@netnews.hinet.net>, b108463
<b108463@ms8.hinet.net> writes
None. Most embedded systems don't have an OS
Why do you want to use an OS?
--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ chris@phaedsys.org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
- Posted by David Kelly on April 17th, 2006
In article <e20f2l$2ev$1@netnews.hinet.net>,
"b108463" <b108463@ms8.hinet.net> wrote:
It sounds to me that you are just starting in embedded work/learning.
The reason I say that is the #1 novice question is, "Which OS?", which
is erroneously assuming a formal OS is necessary.
By all means, study OS fundamentals. Understand the concepts. Then for a
large number of projects you will have no need of any other system
organization other than that which you write yourself.
Learn how to organize your code so that you never busy-loop waiting on
anything other than the most important events. Write a "task" as a
function or subroutine which can run right up to the need to wait for
external stimulus, make note of the situation, and return to your main
loop. Next time thru the main loop the routine gets called again and
knows to resume where it left off. If the external stimulus has occurred
it can move to the next state, else return and let other routines run.
This isn't so hard to do. With an "OS" you would call the "I'm blocked"
primitive where the OS would preserve the CPU stack, context switch to
another task. The OS requires more resources as it preserves more.
- Posted by b108463 on April 18th, 2006
Dear all,
If I want to learn embedded system, which OS should I choose?
Currently, I have known two kinds of embeeded OS,
like Linux or Micro-OSII, what's difference between them?
And If I want to learn by myself, which OS is suitable for me?
Is anyone able to give me suggestion? thanks a lot.
ps:Please forgive my poor English.
Best Regards,
Eddie Chou
- Posted by DAC on April 18th, 2006
"b108463" <b108463@ms8.hinet.net> wrote in message
news:e20f2l$2ev$1@netnews.hinet.net...
Micro-OSII is good but lacks the ability that a true OS should have - the
ability to switch a task at any time for any reason, and the ability to give
multiple tasks the same priority and continually switch the CPU between
them.
Whats sad is that using a simple timer interrupt you can make the OS do just
that, yet they won't include it? I am guessing this is because of the
aviation requirements they want to keep intact to the get the big green OK
sticker.
The MicroOS2 is good if you don't really know C. But apart form that none of
the way it handles anything is really efficient nor dynamic enough for a
modern system.
I would stick to linux.
- Posted by Chris Hills on April 18th, 2006
In article <44449925$0$7602$afc38c87@news.optusnet.com.au>, DAC
<Mister@Enigma.net> writes
1 Linux is not an RTOS
2 Linux does not work in most embedded targets
3 Most embedded systems don't use an RTOS
Linux is as much an embedded RTOS as embedded WinXP
--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ chris@phaedsys.org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
- Posted by Richard on April 18th, 2006
"b108463" <b108463@ms8.hinet.net> wrote in message
news:e20f2l$2ev$1@netnews.hinet.net...
The FreeRTOS WEB site (see signature below) has some resources and demo code
that may be of interest for the lower end of your scale. If you download a
trial version of the Keil compiler then you can run an entire simulation on
a PC to enable you to step through and learn the code.
Regards,
Richard.
http://www.FreeRTOS.org
*Now for ARM CORTEX M3!*
- Posted by DAC on April 18th, 2006
? I didnt say it was
- Posted by yangqinghua_lw@163.com on April 18th, 2006
I agree to the appointment of Tim Wescott ; because Linux is too
difficult to learn for the beginners;
so that, when I have studied the embedded system,I selected the
Micro/uc-osII;There are some reasons for my choice;
Firstly,the kernel of the system is much little enough;Secondly,it is
easy to move to other machines;
Finally,it is free to study;
- Posted by yangqinghua_lw@163.com on April 18th, 2006
I agree to the appointment of Tim Wescott ; because Linux is too
difficult to learn for the beginners;
so that, when I have studied the embedded system,I selected the
Micro/uc-osII;There are some reasons for my choice;
Firstly,the kernel of the system is much little enough;Secondly,it is
easy to move to other machines;
Finally,it is free to study;
- Posted by yangqinghua_lw@163.com on April 18th, 2006
I agree to the appointment of Tim Wescott ; because Linux is too
difficult to learn for the beginners;
so that, when I have studied the embedded system,I selected the
Micro/uc-osII;There are some reasons for my choice;
Firstly,the kernel of the system is much little enough;Secondly,it is
easy to move to other machines;
Finally,it is free to study;
- Posted by Not Really Me on April 18th, 2006
"b108463" <b108463@ms8.hinet.net> wrote in message
news:e20f2l$2ev$1@netnews.hinet.net...
on MicroC/OS-II by Jean Labrosse, available from Amazon. It includes the
complete source code and is in use at many universities as a text book for
RTOS classes.
Scott