Thread: (FOSS) RTOS opinions/advice

  1. #1
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413

    (FOSS) RTOS opinions/advice

    Hi all,

    I may have mentioned before that I program PLCs at work, and I mentioned in another thread that our company is aiming to make our own RTU/PLC/whatever acronym you want to call it. Industrial controller.

    Anyway, getting a unique opportunity here to do some programming on the "other side" of the PLC, that is, the underlying RTOS/runtime.

    Our application is not all that demanding (hardware and performance-wise) and there are a ton of chips out there to choose from, therefore, I decided the best way to go about picking the chip would be to select the RTOS I'm going to use first, and then pick from the supported chips.

    I've been Googling and whatnot for a few hours, doing some reading. So far FreeRTOS and NuttX seem the most appealing. FreeRTOS seems like it has the largest community, is already ported to a huge number of devices, and has a small footprint. NuttX seems more complete, and focuses on standards-compliance and POSIX. The idea is a small Linux-like RTOS so that most programs written for Linux/POSIX will compile as-is. There are a ton out there.

    Anyone have experience(s) in this area, opinions, etc? Any input would be appreciated, thanks.

  2. #2
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    We are on similar areas, but on a different level. You are industry, I'm consumer-grade. I don't deal with PLCs, but with chip programming directly as we build our own boards. We are trying to enter the market of appliances and create our own brand of electronic controlled devices (air conditioners, refrigerators, clocks, whatever). This is in fact the reason I am not returning to Portugal just yet, but will remain here for another year. My final year, no matter what.

    So we program the chip directly. We are working on Z80 and, more rarely, Motorolla 68k. But the reason I'm replying is that, despite not having experience in your area, I'm addressing that specific part about POSIX compliance.

    In my experience, that isn't something you should concern yourself much with. The OS architecture will remain unchanged across your different hardware. The only thing you will change is the CPU based on your requirements, which is isolated from you. Besides you can always maximize code compliance and annotate code in the odd case you may indeed change OSes. But I wouldn't know why you would ever want to do that.
    Last edited by Mario F.; 06-14-2016 at 07:19 PM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  3. #3
    Registered User
    Join Date
    Apr 2013
    Posts
    1,658
    I've mostly worked on computer peripherals (backup tape drives, hard drives, ...), and these tend to use minimal kernels that are pre-emptive. The main interface between threads is a queue interface where each thread waits on an input queue for what to do next, similar to the windows messaging to an app. There's also some generic timer stuff. In these cases a generic interface was used, so that the underlying kernel could be changed. Decades ago, these devices used variants of X86 processors, but switched to using ARM processors embedded into the primary logic chip on the device board.

    I have friends that worked on more intelligent devices that used a Linux type operating system, that was significantly larger, more complex, and slower than the minimal kernels used on peripherals. I also have friends that work on smart phones, using android, blackbery, ios, windows, ... .

  4. #4
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413
    Thanks Mario and rcgldr for the advice/comments. Probably right about not needing more, in which case it sounds like FreeRTOS is the best way to go, or at least check out first.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. RTOS for uC
    By MartinR in forum C Programming
    Replies: 2
    Last Post: 12-14-2015, 08:36 AM
  2. Embedded C .. Advice & Opinions
    By isakiwanuka in forum General Discussions
    Replies: 9
    Last Post: 01-26-2015, 01:36 PM
  3. Replies: 1
    Last Post: 05-12-2011, 01:38 PM
  4. Replies: 26
    Last Post: 07-03-2010, 03:57 PM
  5. Opinions &advice if any plz!
    By breed in forum C Programming
    Replies: 0
    Last Post: 12-13-2001, 04:10 PM

Tags for this Thread