Author Topic: which ARM rtos?  (Read 23085 times)

0 Members and 1 Guest are viewing this topic.

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 2300
  • Country: gb
Re: which ARM rtos?
« Reply #25 on: February 20, 2017, 12:55:40 pm »
Too bad their debugger is not.

I don't understand your statement, the debugger seems to work fine for me on free Keil STM32L0?
 

Offline Jeroen3

  • Super Contributor
  • ***
  • Posts: 4078
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Re: which ARM rtos?
« Reply #26 on: February 20, 2017, 02:05:19 pm »
Either some messages have been removed or I was referencing the to the price of the Ulink 2.
Looong time ago though 2015-10-10, 12:32:29

FreeRTOS did not always have this gpl. I recall it being purely source and for manuals you'd had to pay.
Also a looong time ago.
 
The following users thanked this post: voltsandjolts

Offline krho

  • Regular Contributor
  • *
  • Posts: 223
  • Country: si
Re: which ARM rtos?
« Reply #27 on: February 20, 2017, 04:59:18 pm »
Because, contrary to the name, its not free. Only the pure kernel is.

That needs some clarification.
FreeRTOS + TCP + FAT are available for Free under the GPL license.

Sorry, but GPL is not free, at least for commercial use. Yeah, I know they have the linking exception now.

GPL and LGPL just don't work for micro controllers.
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 2300
  • Country: gb
Re: which ARM rtos?
« Reply #28 on: February 20, 2017, 05:17:03 pm »
Sorry but GPL is free for commercial use. There are many companies making money from GPL software.

Edit: Removed unecessary quote of previous post.
« Last Edit: February 20, 2017, 06:26:03 pm by voltsandjolts »
 

Offline Jeroen3

  • Super Contributor
  • ***
  • Posts: 4078
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Re: which ARM rtos?
« Reply #29 on: February 20, 2017, 06:04:42 pm »
Only gpl3 is incompatible. Gpl2, lgpl or gpl with linking exception are perfectly suitable for mcu use.
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 2300
  • Country: gb
Re: which ARM rtos?
« Reply #30 on: February 20, 2017, 06:24:49 pm »
Just to clarify, when Jeroen3 says 'incompatible' he means incompatible with closed source applications.
Edit: See Jeroen's own clarification below.
Anyone is free to use GPLv3 software/firmware commercially as long as they abide by the license.
« Last Edit: February 20, 2017, 07:03:36 pm by voltsandjolts »
 

Offline Jeroen3

  • Super Contributor
  • ***
  • Posts: 4078
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Re: which ARM rtos?
« Reply #31 on: February 20, 2017, 06:45:36 pm »
Of which the incompatible part is the Tivoization clause that forces you to provide ways to change the firmware.
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 2300
  • Country: gb
Re: which ARM rtos?
« Reply #32 on: February 20, 2017, 07:06:30 pm »
Which is just a JTAG port, right? Or does it have to be some other way that doesn't require hardware such as an ISP programmer?
 

Offline ehughes

  • Frequent Contributor
  • **
  • Posts: 409
  • Country: us
Re: which ARM rtos?
« Reply #33 on: February 20, 2017, 07:13:48 pm »
I have  had success with FreeRTOS. It is easy to port, etc.  Lots of documentation.     


You may consider if you really need an RTOS for a 32Kb part.    I can't think of any application that small that would require a scheduler.     Since ARM cortex IRQs can be fully nested,   you can get any real time behavior needed without the overhead of an RTOS.   I am not sure it is buying you anything.   RTOS's are helpful once you get lots of high level "blocking" components (TCP stacks,  USB Host Stacks, etc) but you are going to burn up that 32Kb pretty quickly. 


 

Offline mac.6

  • Regular Contributor
  • *
  • Posts: 225
  • Country: fr
Re: which ARM rtos?
« Reply #34 on: February 20, 2017, 09:08:10 pm »
If you want a bare RTOS that works fine and is easy to port, FreeRTOS is a good choice. It's GPL with a linking clause so can be used in a closed source product if you provide rtos sources.Some vendor bundle it with their BSP/SDK (NXP, ST) with various improvements (like low power tick timer in sleep mode).
On the other hand if you want a full framework you can go with other like chibiOS (full GPL, so no closed source afaik), zephyr (still very young and evolve quickly) or nuttx. The inconvenience of these frameworks is that you need to embed everything in their build system and use their drivers. So if you plan to use vendor SDK, it's not the perfect choice and can requires a lot of work.
 

Offline Jeroen3

  • Super Contributor
  • ***
  • Posts: 4078
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Re: which ARM rtos?
« Reply #35 on: February 20, 2017, 09:10:47 pm »
No, if you use say, polarssl, and user want openssl, user should be able to do that.
To do so, user needs all code.
 
The following users thanked this post: voltsandjolts

Offline julianhigginson

  • Frequent Contributor
  • **
  • Posts: 783
  • Country: au
Re: which ARM rtos?
« Reply #36 on: February 21, 2017, 05:54:11 am »
FreeRTOS doesn't look like it places that much of a restriction on a commercial product. And it seems to be very solid. I've had no issues with it when I've used it. Also if you get into it, it's nice to know you can go to openRTOS for a proper commercial license and support if needed, and even to safeRTOS if you need that.
http://www.freertos.org/a00114.html

ChibiOS looks like it could work for commercial products with their free commercial licence, except you can only sell 500 units before going full commercial license, and you have to advertise ChibiOS on your product materials, and they get your details and can advertise your product as part of their own marketing... not sure under which circumstance this would be too horrible for a commercial product. (well OK, it would suck in the event of ChibiOS having some really bad vulnerability discovered)
http://chibios.org/dokuwiki/doku.php?id=chibios:licensing:start
I keep meaning to try ChibiOS because I hear good stuff about it - but the free commercial license keeps putting me off.

Also there's micrium's uc/OS offering which was just opened up on a free tier, so you can now register to use as a hobbyist or a startup at no cost - I think it's actually a better deal than free commercial ChibiOS. I used UC/OS-II a while ago for a large project, and it was actually a very good solid product.
https://www.micrium.com/makers/about/

« Last Edit: February 21, 2017, 06:16:32 am by julianhigginson »
 
The following users thanked this post: voltsandjolts

Offline krho

  • Regular Contributor
  • *
  • Posts: 223
  • Country: si
Re: which ARM rtos?
« Reply #37 on: February 21, 2017, 06:15:08 am »
Sorry but GPL is free for commercial use. There are many companies making money from GPL software.

Yeah it is. If you want to open source ALL of your proprietary source code. But you don't right. Because this might give your competition the boost they need.

Before anyone attacks me. I'm all for open source and GPL and contributing back I have also released the email client in 2003 but that's different.
Also I'm perfectly fine with GPL/LGPL with linking exception, however I don't like the V3 from any of it. Because it just doesn't work in micro-controllers.
« Last Edit: February 21, 2017, 06:18:55 am by krho »
 

Offline Kalvin

  • Super Contributor
  • ***
  • Posts: 2145
  • Country: fi
  • Embedded SW/HW.
Re: which ARM rtos?
« Reply #38 on: February 21, 2017, 01:08:59 pm »
Nuttx is quite well supported by many stm32-based devices and eval boards, quite easy to port, has extensive protocol stacks, has device drivers for various peripherals and devices, it is suitable also for the IoT, and it is released under the permissive BSD license:

http://nuttx.org/
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1670
  • Country: us
Re: which ARM rtos?
« Reply #39 on: February 21, 2017, 06:01:53 pm »
Sorry but GPL is free for commercial use. There are many companies making money from GPL software.

That depends on your definition of "free". If by "free" you mean you can do anything you want with it, including use it in products where you don't release your proprietary source code, then it's not free.

The BSD and MIT licenses, in my opinion, are more free than the GPL.
Complexity is the number-one enemy of high-quality code.
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 2300
  • Country: gb
Re: which ARM rtos?
« Reply #40 on: February 21, 2017, 06:31:22 pm »
That depends on your definition of "free". If by "free" you mean you can do anything you want with it, including use it in products where you don't release your proprietary source code, then it's not free.
That is incorrect.
There are many commercial products available using a mixture of GPL code and closed source proprietary code.
You probably knew that but for other people reading this, these kind of statements are misleading.
The situation is more complex than you can sum up in a simple one liner. If anyone is unclear on these issues they should refer to the appropriate license, not to people blowing hot air on a forum.
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1670
  • Country: us
Re: which ARM rtos?
« Reply #41 on: February 21, 2017, 09:49:30 pm »
That depends on your definition of "free". If by "free" you mean you can do anything you want with it, including use it in products where you don't release your proprietary source code, then it's not free.
That is incorrect.
There are many commercial products available using a mixture of GPL code and closed source proprietary code.
You probably knew that but for other people reading this, these kind of statements are misleading.
The situation is more complex than you can sum up in a simple one liner. If anyone is unclear on these issues they should refer to the appropriate license, not to people blowing hot air on a forum.


You're probably thinking of cases like when a proprietary programs are run under a GPL'd OS -- that's allowed. I'm thinking of a common case where proprietary code is combined with GPL'd code into firmware for a microcontroller (this is the Microcontroller forum...) Or dynamic linking--again, not something typically done with firmware.

Personally, I'd rather not deal with GPL'd code. If I have to use 3rd party code at all (only under extreme circumstances) I'd rather it be BSD or MIT licensed.
Complexity is the number-one enemy of high-quality code.
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 2300
  • Country: gb
Re: which ARM rtos?
« Reply #42 on: February 21, 2017, 10:09:46 pm »
No I wasn't thinking of embedded Linux (which can run on MMU-less microcontrollers), thanks for pointing that out.
I was thinking of https://github.com/CANopenNode/CANopenNode
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1670
  • Country: us
Re: which ARM rtos?
« Reply #43 on: February 21, 2017, 10:41:28 pm »
I was thinking of https://github.com/CANopenNode/CANopenNode

...which uses the GPL "linking exception". The GPL normally doesn't allow that for statically linked code.
Complexity is the number-one enemy of high-quality code.
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4199
  • Country: us
Re: which ARM rtos?
« Reply #44 on: February 21, 2017, 11:21:22 pm »
Quote
The situation is more complex than you can sum up in a simple one liner.
If you want to use GPL'ed code (OS, static libraries, etc) in highly proprietary embedded code, then your staff should include a lawyer. :-(
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1670
  • Country: us
Re: which ARM rtos?
« Reply #45 on: February 22, 2017, 01:30:36 am »
Quote
The situation is more complex than you can sum up in a simple one liner.
If you want to use GPL'ed code (OS, static libraries, etc) in highly proprietary embedded code, then your staff should include a lawyer. :-(


Lots of companies prohibit any use of GPL'd code for just this reason.
Complexity is the number-one enemy of high-quality code.
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 2300
  • Country: gb
Re: which ARM rtos?
« Reply #46 on: February 22, 2017, 08:25:37 am »
...and lots of companies do use GPL'd code.

 
 

Offline mac.6

  • Regular Contributor
  • *
  • Posts: 225
  • Country: fr
Re: which ARM rtos?
« Reply #47 on: February 22, 2017, 10:24:11 am »
...and lots of companies do missuse GPL'd code.

Especially Chinese ones.

No big name companies I worked for were using GPL unless mandatory (like linux kernel work). And it won't gonna change soon, if ever.
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 2300
  • Country: gb
Re: which ARM rtos?
« Reply #48 on: February 22, 2017, 10:42:45 am »
Using GPL Linux is not mandatory.
Those companies chose to use Linux rather than VxWorks..etc..etc.
So your (non)argument actually further validates the use of GPL in a commercial environment.

Edit:
My replies here make it look like I'm on a GPL rant and I don't mean to be, I'm not a GPL fanboy as such.
I admire the success of the Linux kernel and I'd attribute much of that to the GPL. The BSD kernel hasn't anything like the same level of activity.
I just think smaller embedded projects could benefit in the same way, persuade users to contribute back to the free code they have been given while keeping proprietary code closed via linking exemptions.
Personally, I like the FreeRTOS licensing model.
I'll stop posting in this thread now, sorry for diverting slightly off topic.
« Last Edit: February 22, 2017, 11:08:03 am by voltsandjolts »
 

Offline mac.6

  • Regular Contributor
  • *
  • Posts: 225
  • Country: fr
Re: which ARM rtos?
« Reply #49 on: February 22, 2017, 11:00:56 am »
When you work inside linux kernel, like to support some of your chips, then you are bound to the GPL, unless you do really dirty things like binary linked modules...
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf