Author Topic: ARM Cortex RTOS, which to choose.  (Read 20531 times)

0 Members and 1 Guest are viewing this topic.

Offline HackedFridgeMagnetTopic starter

  • Super Contributor
  • ***
  • Posts: 2028
  • Country: au
ARM Cortex RTOS, which to choose.
« on: June 26, 2014, 12:29:19 pm »
If you like the STM32 silicon but are fed up with the libraries provided by the ST summer intern, then you might want to take a look at ChibiOS.

Product looks good. Licensing scheme sucks.

Oh I was about to migrate to Chibios from FreeRTOS, when I saw this.
So rather than hijacking another thread, what RTOS should I choose.

I don't like reading licences, prefer to ignore them, but I want to write code for clients, most of which will want closed source.

Which RTOS to choose, assuming I need one for my next project.
Probably will use ST Micro F3 or F4 or even the new low power ones, but open to change manufacturer.

 

Offline gxti

  • Frequent Contributor
  • **
  • Posts: 507
  • Country: us
Re: ARM Cortex RTOS, which to choose.
« Reply #1 on: June 26, 2014, 01:27:01 pm »
You can't beat ChibiOS if you want working peripherals out of the box. The license isn't necessarily an issue, because it permits you to link your proprietary code against it, but if you need to make any modifications to ChibiOS itself those must be open-source. FreeRTOS also uses a copy-left license so migrating to that wouldn't help. However both OSes have a commercial license option available.

Personally, I chose to ditch ChibiOS because of the license. I'm currently using CoOS (from CooCox) which is a decent core but does not have any peripheral drivers, so I had to write my own. It is BSD licensed so you can use it in commercial projects without issue. As for the OS itself, it works well enough but it's not amazing. I found a race condition in semaphores that I had to patch, but I haven't pulled in any new code from upstream for a year or two so it's probably been fixed by now.
 

Offline mrflibble

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
Re: ARM Cortex RTOS, which to choose.
« Reply #2 on: June 26, 2014, 02:04:00 pm »
I don't like reading licences, prefer to ignore them, but I want to write code for clients, most of which will want closed source.
To optimize for the "don't like reading licenses" + "clients prefer closed source" constraint see the short comparison matrix of what you can & cannot do with the licensing options: http://www.chibios.org/dokuwiki/doku.php?id=chibios:license

Personally I'd think the listed licensing options would give you a workable spectrum of options to chose from depending on what a particular client wants. But in the end, it's your decision.
 

Offline andyturk

  • Frequent Contributor
  • **
  • Posts: 895
  • Country: us
Re: ARM Cortex RTOS, which to choose.
« Reply #3 on: June 26, 2014, 04:17:22 pm »
Personally I'd think the listed licensing options would give you a workable spectrum of options to chose from depending on what a particular client wants. But in the end, it's your decision.
They're probably workable in some sense, but the GPL mess just makes it more difficult (sadly) to choose ChibiOS because it involves lawyers. For hobby projects, it's a no brainer--use Chibi if you like it.

But if you have to convince the corporate counsel that the "GPL Exception text" (and your promise to abide its the technical requirements) is what's keeping him and your employer out of court, well, that's a whole 'nother ballgame.
 

Offline mrflibble

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
Re: ARM Cortex RTOS, which to choose.
« Reply #4 on: June 26, 2014, 04:35:40 pm »
But if you have to convince the corporate counsel that the "GPL Exception text" (and your promise to abide its the technical requirements) is what's keeping him and your employer out of court, well, that's a whole 'nother ballgame.

For the more conservative there's always the commercial license. Which means paying money, which means offloading that cost to customers should they wish closed source. :-//

Anyways, it will be interesting to see what other RTOSes people suggest using in a commercial setting.
« Last Edit: June 26, 2014, 04:37:54 pm by mrflibble »
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26873
  • Country: nl
    • NCT Developments
Re: ARM Cortex RTOS, which to choose.
« Reply #5 on: June 26, 2014, 05:38:32 pm »
The commercial version of FreeRTOS?  :-DD -ducking-
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Re: ARM Cortex RTOS, which to choose.
« Reply #6 on: June 26, 2014, 06:31:10 pm »
You can't beat ChibiOS if you want working peripherals out of the box. The license isn't necessarily an issue, because it permits you to link your proprietary code against it, but if you need to make any modifications to ChibiOS itself those must be open-source.

My interpretation of the license is that you if you modify the library (e.g. bug fix), you also need to open also application. That's the gotcha part of their licensing. Here is the offending caluse:

Non-GPL Code permitted under this exception must only link to the unmodified code of this Program through those well defined interfaces identified as "Approved Interfaces"

That's different from common GPL linking exceptions ( http://en.wikipedia.org/wiki/GPL_linking_exception) and they use it to drive users to the payed license. 

GPL is like half giving. ;-)
 

Offline janoc

  • Super Contributor
  • ***
  • Posts: 3785
  • Country: de
Re: ARM Cortex RTOS, which to choose.
« Reply #7 on: June 26, 2014, 07:40:00 pm »
Non-GPL Code permitted under this exception must only link to the unmodified code of this Program through those well defined interfaces identified as "Approved Interfaces"

That's different from common GPL linking exceptions ( http://en.wikipedia.org/wiki/GPL_linking_exception) and they use it to drive users to the payed license. 

If your change to the system is a bugfix, nothing is preventing you from contributing it upstream - that is finally the primary reason for (L)GPLs existence. It helps to foster an ecosystem around the library where people don't have to constantly reinvent the wheel.

Then it will be part of the upstream code and you can use it in your closed-source code to your heart's content without violating anything.

GPL is like half giving. ;-)

Nice BS ... So someone gives you a high performance, open sourced RTOS with things like a USB stack working out of the box for free, allows you to use it even commercially and you call that "half giving"? Nobody is forcing you to use it, but this is really taking cheap shots at someone's terrific work only because you can't/don't want to use it. A bit of respect and less greed, please! |O





 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Re: ARM Cortex RTOS, which to choose.
« Reply #8 on: June 26, 2014, 09:54:06 pm »
If your change to the system is a bugfix, nothing is preventing you from contributing it upstream - that is finally the primary reason for (L)GPLs existence. It helps to foster an ecosystem around the library where people don't have to constantly reinvent the wheel.

Then it will be part of the upstream code and you can use it in your closed-source code to your heart's content without violating anything.

Yes, i can contribute my fix/hack but it's up to them to decide if to accept it and when to release it back to me so I can start using it. Until then I need to pay them in order to use my own fix with my closed code.  This is an evil trap.

Nice BS ... So someone gives you a high performance, open sourced RTOS with things like a USB stack working out of the box for free, allows you to use it even commercially and you call that "half giving"?

Yes, giving with strings attached is half giving. In this case, the library's license is not even LGPL.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26873
  • Country: nl
    • NCT Developments
Re: ARM Cortex RTOS, which to choose.
« Reply #9 on: June 26, 2014, 10:20:26 pm »
You can't beat ChibiOS if you want working peripherals out of the box. The license isn't necessarily an issue, because it permits you to link your proprietary code against it, but if you need to make any modifications to ChibiOS itself those must be open-source.

My interpretation of the license is that you if you modify the library (e.g. bug fix), you also need to open also application. That's the gotcha part of their licensing. Here is the offending caluse:

Non-GPL Code permitted under this exception must only link to the unmodified code of this Program through those well defined interfaces identified as "Approved Interfaces"

That's different from common GPL linking exceptions ( http://en.wikipedia.org/wiki/GPL_linking_exception) and they use it to drive users to the payed license. 
I think this is a legal issue. If you contribute something to a piece of GPL code then you own the copyright on that piece. You effectively become a co-author of 'the work'. If the makers/maintainers of ChibiOS ever want to change the licensing scheme they would need your consent as well if they used the code you contributed. AFAIK OpenOCD went through such a process. They had to track down every single sole who contributed to OpenOCD and ask permission to change the license  :scared:
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline remixed123

  • Regular Contributor
  • *
  • Posts: 59
  • Country: au
    • Github
Re: ARM Cortex RTOS, which to choose.
« Reply #10 on: June 26, 2014, 11:08:49 pm »
The way I see it (i.e in my humble opinion), you have 3 choices with an RTOS:-

1. Commercial and Proprietary
Example: Mentor Graphics Nucleus RTOS
Advantages: Feature rich and powerful. Usually Portable..
Disadvantages: Expensive.
Note: Some of these vendors offer free version to small companies

2. MCU Vendor Specific
Example: Texas Instruments TI-RTOS
Advantages: Usually free. Usually feature rich with great hardware and IDE integration.
Disadvantages: Locked into a specific vendors tool chain and hardware.
Note: Provides the quickest and easiest solution to begin coding.

3. Open Source
Example: Free RTOS
Advantages: Free. Lots of community support and open source code available. Usually portable.
Disadvantages: Licensing issues/confusion. Sometimes lacking features.
Note: I am sure people have some very passionate opinions.

Glenn.



LightServer - Mobile App controlled, Wi-Fi enabled RGB lighting with music synchronized effects and much more -  https://www.hackster.io/remixed123/lightserver/
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Re: ARM Cortex RTOS, which to choose.
« Reply #11 on: June 26, 2014, 11:17:56 pm »
I think this is a legal issue. If you contribute something to a piece of GPL code then you own the copyright on that piece. You effectively become a co-author of 'the work'. If the makers/maintainers of ChibiOS ever want to change the licensing scheme they would need your consent as well if they used the code you contributed. AFAIK OpenOCD went through such a process. They had to track down every single sole who contributed to OpenOCD and ask permission to change the license  :scared:

They will still choose what contribution they accept back to their main code line just as they do now, so I don't see how this affect the legal standing of the main code line they control.

If I make changes to their code it's a derived work that doesn't affect their code line or license.

 

Offline HackedFridgeMagnetTopic starter

  • Super Contributor
  • ***
  • Posts: 2028
  • Country: au
Re: ARM Cortex RTOS, which to choose.
« Reply #12 on: June 27, 2014, 12:53:24 am »
Thanks for the tips.

As usual the choice will actually depend on the project requirements.
As I haven't snared my next project yet I will have to wait and see.
In the meantime I will have a look at CoOS, it would be nice to have that ready to go if the need came up.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Re: ARM Cortex RTOS, which to choose.
« Reply #13 on: June 27, 2014, 03:36:56 am »
...
In the meantime I will have a look at CoOS, it would be nice to have that ready to go if the need came up.

As long as you use Windows ;-)
 

Offline Jeroen3

  • Super Contributor
  • ***
  • Posts: 4078
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Re: ARM Cortex RTOS, which to choose.
« Reply #14 on: June 27, 2014, 05:48:44 am »
Pick one:
FreeRTOS
ChibiOS
?Kernel
BRTOS
CMSIS RTOS
Keil RTX
Many more: http://en.wikipedia.org/wiki/List_of_real-time_operating_systems

Yet, ChibiOS gives a nice midway between expensive commercial-only, and the average non-copyleft open source.
With excellent quality as well.
 

Online Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: ARM Cortex RTOS, which to choose.
« Reply #15 on: June 27, 2014, 06:53:40 am »
The commercial version of FreeRTOS?  :-DD -ducking-
Why not? It is called OpenRTOS , I don't get the joke?
You can develop with FreeRTOS and when delivering to the company you let them pay for the OpenRTOS license, what am I missing?
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
Re: ARM Cortex RTOS, which to choose.
« Reply #16 on: June 27, 2014, 07:14:35 am »
Don't know but I'm craving Fritos since this thread started.
 

Offline Scrts

  • Frequent Contributor
  • **
  • Posts: 797
  • Country: lt
Re: ARM Cortex RTOS, which to choose.
« Reply #17 on: June 27, 2014, 08:47:36 am »
Or maybe it's really worth to look at Nucleus? They are offering a free license on their RTOS if your business doesn't reach 1mln USD/year. When it does - you have to buy the license. So if you are earning more than 1mln, then it isn't so painful to buy the license, part of which you offload to the customer.

I'm checking TI-RTOS at the moment with the CC3200, however this thread is really interesting to see what other developers use.
 

Online Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: ARM Cortex RTOS, which to choose.
« Reply #18 on: June 27, 2014, 09:18:57 am »
Or maybe it's really worth to look at Nucleus? They are offering a free license on their RTOS if your business doesn't reach 1mln USD/year.
Interesting, however it is the question if non-companies such as private use hobbieists qualify?
Quote
Companies with revenues of less than $1mil USD are eligible.
 

Offline Scrts

  • Frequent Contributor
  • **
  • Posts: 797
  • Country: lt
Re: ARM Cortex RTOS, which to choose.
« Reply #19 on: June 27, 2014, 09:49:48 am »
Or maybe it's really worth to look at Nucleus? They are offering a free license on their RTOS if your business doesn't reach 1mln USD/year.
Interesting, however it is the question if non-companies such as private use hobbieists qualify?
Quote
Companies with revenues of less than $1mil USD are eligible.

I doubt, because there's no legal way to check if your income reach 1mln USD/year. They can not do an audit on such occasion.
 

Online Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: ARM Cortex RTOS, which to choose.
« Reply #20 on: June 27, 2014, 10:00:08 am »
I doubt, because there's no legal way to check if your income reach 1mln USD/year. They can not do an audit on such occasion.
No I meant if you do not own a business you have no business name and registration number  ;)
 

Offline Jeroen3

  • Super Contributor
  • ***
  • Posts: 4078
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Re: ARM Cortex RTOS, which to choose.
« Reply #21 on: June 27, 2014, 10:08:23 am »
I doubt, because there's no legal way to check if your income reach 1mln USD/year. They can not do an audit on such occasion.
Our law says you must release a year report to the authority of trade. Anyone can request these reports from them, if the company doesn't already have it on their website.
Also, don't forget the differences between "Revenue" and "Profit". I guess the 1 mln boundary is on the revenue.
 

Offline HackedFridgeMagnetTopic starter

  • Super Contributor
  • ***
  • Posts: 2028
  • Country: au
Re: ARM Cortex RTOS, which to choose.
« Reply #22 on: June 27, 2014, 11:36:45 am »
They are offering a free license on their RTOS if your business doesn't reach 1mln USD/year. When it does - you have to buy the license.

Well I'm safe.
 

Offline Scrts

  • Frequent Contributor
  • **
  • Posts: 797
  • Country: lt
Re: ARM Cortex RTOS, which to choose.
« Reply #23 on: June 27, 2014, 01:04:42 pm »
I doubt, because there's no legal way to check if your income reach 1mln USD/year. They can not do an audit on such occasion.
No I meant if you do not own a business you have no business name and registration number  ;)

I got you, so that's why I've said "I doubt".
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf