EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Learn RTOS

Started by ROB April 13, 2008
On Apr 13, 8:31=A0pm, "ROB" <rob701...@yahoo.com> wrote:
> Hi, > =A0 =A0I am new to any RTOS and wanted to learn more about it. Can some po=
st
> me small & freely available RTOS with documents details & source code. > Also let me know, if these RTOS are absolutely FREE to use for commercial > requirement. I am looking for small(<10KB), FREE(cost 0 cents), > popular(used readily) RTOS :-) > > Thanks in advance.
I think your requirement ( Learn RTOS / Understand RTOS & use for free :-( ) matches with silRTOS from silcomm.com, which is free to use for commercial products, low foot print with open source & widely used. They provide document, sources & different processor port, which make it easy learn RTOS for newbie. silRTOS provides only basic services like vector ISR handling/Task handling/Sem/MessQ/Memory Mgmt with small size micro kernel. Even newbie can learn silRTOS within 1 day. I recently used silRTOS for vary same reason (free, open source & small... offcourse not for learning) on ARM & MIPS system and it is working beautifully for my complex embedded system. Also I believe that there could be other free RTOS available beside silrtos, which you may find by Googling :-) ...
On Tue, 15 Apr 2008 09:30:18 +0100, John Devereux
<jdREMOVE@THISdevereux.me.uk> wrote:


>I heard that if you buy a commercial OS, usually they can claim >royalties on sales of all your code.
Like all in life: It depends. Some commercial RTOS do some not. Some free RTOS use GPL and LGPL some other licenses. -- 42Bastian Do not email to bastian42@yahoo.com, it's a spam-only account :-) Use <same-name>@monlynx.de instead !
FreeRTOS.org wrote:
> But to those of you who > think you can write an operating system in a weekend, well, it's clear that > just writing the tests will consume far more time than that.
Writing tests? Why would I do that? If there are bugs, my customers will report them. [There are far too many companies that have that attitude.]
On Apr 15, 9:08 am, John Devereux <jdREM...@THISdevereux.me.uk> wrote:

> But in fact most free RTOSs are *not* GPL licenced, (as David Brown > pointed out). Even programs that are (like e.g. linux) do not require > publishing "all your source code", just the parts that link to the > kernel. So you could build or buy hardware supported by linux, and > install your own proprietary software on to it. But if you need to > modify the kernel (e.g. write a special device driver) you would need > to publish *that*.
I would expect that the more hard-realtime parts of your system may need to link to the kernel in ways that may cause the GPL to apply to those parts. However, you may be able to do the realtime parts in kernel modules, but keep a lot of other parts of the system in proprietary userspace code.
cs_posting@hotmail.com wrote:
> On Apr 15, 9:08 am, John Devereux <jdREM...@THISdevereux.me.uk> wrote: > >> But in fact most free RTOSs are *not* GPL licenced, (as David Brown >> pointed out). Even programs that are (like e.g. linux) do not require >> publishing "all your source code", just the parts that link to the >> kernel. So you could build or buy hardware supported by linux, and >> install your own proprietary software on to it. But if you need to >> modify the kernel (e.g. write a special device driver) you would need >> to publish *that*. > > I would expect that the more hard-realtime parts of your system may > need to link to the > kernel in ways that may cause the GPL to apply to those parts. > > However, you may be able to do the realtime parts in kernel modules, > but keep a lot of other parts of the system in proprietary userspace > code.
The only major FOSS OS I know of that uses a pure GPL is Linux. So if your code really needs critical modifications to the kernel, you will have to publish those changes. However, Linux also has provisions for linking non-GPL'ed modules into the kernel (not everyone agrees that this is allowed under the GPL, but Linus says it's okay). Of course, Linux itself is not hard realtime in the first place - normally much of your code could go in user space (if it is *that* time-critical, you should be looking at a RTOS extension to Linux). For FOSS OS's under modified GPLs (such as FreeRTOS), you can link your own non-GPL'ed files directly into the kernel. At most, you might add a few hooks to the original source code.
David Brown wrote:
>
... snip ...
> > The only major FOSS OS I know of that uses a pure GPL is Linux. > So if your code really needs critical modifications to the kernel, > you will have to publish those changes. However, Linux also has > provisions for linking non-GPL'ed modules into the kernel (not > everyone agrees that this is allowed under the GPL, but Linus > says it's okay). Of course, Linux itself is not hard realtime in > the first place - normally much of your code could go in user > space (if it is *that* time-critical, you should be looking at a > RTOS extension to Linux). > > For FOSS OS's under modified GPLs (such as FreeRTOS), you can > link your own non-GPL'ed files directly into the kernel. At > most, you might add a few hooks to the original source code.
The original owner (who hasn't given up rights) has many options, even though he has released the software under the GPL (or equivalent). For example, I have released hashlib uner the GPL, but the documentation specifies that other licensing rights can be bought. So, for a fee, I can release the user from the obligation to release his source code. Hashlib adheres to the C standard, and so is fully portable. See: <http://cbfalconer.home.att.net/download/> -- [mail]: Chuck F (cbfalconer at maineline dot net) [page]: <http://cbfalconer.home.att.net> Try the download section. ** Posted from http://www.teranews.com **
David Brown wrote:
> However, Linux also has provisions for > linking non-GPL'ed modules into the kernel (not everyone agrees that > this is allowed under the GPL, but Linus says it's okay).
This kind of "Linus says it's okay" claim seems to be the prevailing "wisdom", but no one ever seems to be able to cite any statement by Linus that is anywhere near that broad. See, for example: http://lwn.net/Articles/13066/ Note that nowhere in that does Linus say outright that non-GPL'd modules are OK, but rather suggests that if you want to distribute a non-GPL'd module, you'd better be prepared to prove that it is not a derived work.
Eric Smith wrote:
> David Brown wrote: >> However, Linux also has provisions for >> linking non-GPL'ed modules into the kernel (not everyone agrees that >> this is allowed under the GPL, but Linus says it's okay). > > This kind of "Linus says it's okay" claim seems to be the prevailing > "wisdom", but no one ever seems to be able to cite any statement by > Linus that is anywhere near that broad. See, for example: > > http://lwn.net/Articles/13066/ > > Note that nowhere in that does Linus say outright that non-GPL'd modules > are OK, but rather suggests that if you want to distribute a non-GPL'd > module, you'd better be prepared to prove that it is not a derived work.
Linus is well-known for his pragmatism. He wants all kernel modules to be GPL'ed, but if a hardware supplier will only provide blob modules, he is not going to ban them. What he says in the article that you quoted is that his opinions on allowing non-GPL kernel modules does not count as a "get out of jail free" card. If you distribute a blob kernel module, and someone challenges your right to do so, it's up to *you* to defend it, not Linus. http://www.linuxdevices.com/news/NS3501846795.html The kernel has specific provisions for using non-GPL modules. These include a restricted interface for modules that don't state that they are GPL'ed, and "tainted" messages. Blob kernel modules do not have Linus' blessing, but they specifically and explicitly are not banned by him (though you will be cursed by RMS, of course).
David Brown <david@westcontrol.removethisbit.com> writes:
> What he says in the article > that you quoted is that his opinions on allowing non-GPL kernel > modules does not count as a "get out of jail free" card. If you > distribute a blob kernel module, and someone challenges your right to > do so, it's up to *you* to defend it, not Linus.
Exactly my point. That's very far from saying that non-GPL kernel modules are "OK", yet many people seem to believe that Linus said that they are OK.
> The kernel has specific provisions for using non-GPL modules. These > include a restricted interface for modules that don't state that they > are GPL'ed, and "tainted" messages.
Though none of that actually provides any actual exception to the GPL license. IMNSHO, any entity distributing a non-GPL kernel module is taking a lot of risk, because there are literally thousands of people that have standing to bring a copyright infringement suit against said entity. Eric
I have downloaded silRTOS source with its MIPS32 port and pretty happy with
its small code size. It took just few hours to grasp entire silRTOS and
infact within two day; i ran silRTOS with sample application on my custom
MIPS32 board.

I got good impression and would encourage people to use silRTOS for:

1. Beginner of rtos who want to study RTOS & want to learn RTOS as source
code available.

2. Low-Footprint, which can be used for low memory embedded product. (Like
what i was looking)

3. Optimized RTOS and low Task switch/ISR latency, which make no over-head
for embedded application.

4. Different processor architectures RTOS port available.

5. Free to use for commercial project and needn't to give a single penny
or single line of code to silRTOS Author (Most important reason for me to
use)

-Rob

>On Apr 13, 8:31=A0pm, "ROB" <rob701...@yahoo.com> wrote: >> Hi, >> =A0 =A0I am new to any RTOS and wanted to learn more about it. Can some
po=
>st >> me small & freely available RTOS with documents details & source code. >> Also let me know, if these RTOS are absolutely FREE to use for
commercial
>> requirement. I am looking for small(<10KB), FREE(cost 0 cents), >> popular(used readily) RTOS :-) >> >> Thanks in advance. > >I think your requirement ( Learn RTOS / Understand RTOS & use for >free :-( ) matches with silRTOS from silcomm.com, which is free to use >for commercial products, low foot print with open source & widely >used. They provide document, sources & different processor port, which >make it easy learn RTOS for newbie. silRTOS provides only basic >services like vector ISR handling/Task handling/Sem/MessQ/Memory Mgmt >with small size micro kernel. Even newbie can learn silRTOS within 1 >day. > >I recently used silRTOS for vary same reason (free, open source & >small... offcourse not for learning) on ARM & MIPS system and it is >working beautifully for my complex embedded system. > >Also I believe that there could be other free RTOS available beside >silrtos, which you may find by Googling :-) ... > > >

Memfault Beyond the Launch