Hi, I am new to any RTOS and wanted to learn more about it. Can some pos me small & freely available RTOS with documents details & source code Also let me know, if these RTOS are absolutely FREE to use for commercia requirement. I am looking for small(
Many open source software suppliers will charge for support, or for add-on software, and may have dual licenses for those that don't like the open source licenses. But that certainly does not mean you can't do commercial development with the open source versions of the systems.
Looking at it from the other viewpoint, why would you pay a commercial supplier if an open source system is available cost-free? Of course, there are many ways to measure "cost" - up-front cash price is just one of these. But for someone trying out an RTOS for learning purposes, zero cash price is definitely an advantage, and being open source (thus having the source available, and having a development community used to sharing code and knowledge) is a huge plus.
Open source developers and publishers appreciate getting feedback, contributions, and other sorts of active participation from users, not just cash payments (of course, they often like that too!).
Actually, I don't think it is "usually". The FOSS RTOS's that I can think of off-hand (FreeRTOS, eCos, RTEMS, NutOS) all have licenses that let you freely use them with closed source applications (although you might have to provide source for any modifications you make to the RTOS itself, which is fair enough).
There is plenty of other software available with unmodified GPL or LGPL licensing, which will restrict their use in embedded systems - for small statically linked systems, you will probably have to release all your application code under the same license. It is certainly worth checking fully.
But as Richard pointed out, you should have no problems using FreeRTOS (and it is probably the best choice for small systems like this).
Roll your own. At least, that will be the good learning experience. Labrosse's book is the great help.
10kb could be just the basic kernel with the mailbox/semaphore primitives, static memory model and hard linkage to the application code. Developing such thing is a weekend project.
Vladimir Vassilevsky DSP and Mixed Signal Design Consultant
Check your license agreements, I think you're confused. The ones that I looked at only require you to publish the RTOS source, and IIRC in the case of eCos that's only necessary if you modify the source rather than just using it.
--
Tim Wescott
Control systems and communications consulting
If you want to "learn" then by far the best release is Jean Labrosse's book on MicroC/OS-II. About $70 from amazon, etc. It is a detailed explanation of RTOS concepts and includes source code for a running RTOS.
The latest version of the MicroC/OS-II (uCOS) code is freely available on the micrium website for non-commercial use.
There are many free RTOS available as others have mentioned, but you will not beat the Labrosse book if you want to learn.
Absolutely FREE and commercial seems to be an oxymoron.
I'm playing devils advocate here - quoting from "Taming Software Complexity" by Jack Gansell, Embedded Systems Engineering this month:
"Of the three RTOSes I looked at (µC/OS-II, eCos, and FreeRTOS), total cyclomatic complexity (the sum of all of the individual v(G)s) is 690, 445, and 258 respectively. Note that these numbers say nothing about the comparative quality of the code as those that offer more functionality will have more functions and higher total complexity. 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."
Yes, Chris was alluding to the GPL, which you paraphrase above.
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*.
In most cases (including GPL'ed software which is not directly linked, such as the Linux kernel), the rule is roughly "if you use my shared code, then you must shared your modifications and changes to it". Your own code is entirely your own business, and you only need to consider licenses when you directly link to other software.
There are some people (those who believe that "free software" is "morally better" than mere "open source software") who want you to share all *your* code as well. But in most cases, that's a desire rather than a requirement.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.