element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • Experts & Guidance
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • Product Groups
  • Store
    Store
    • Visit Your Store
    • 'Choose another store...'
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Personal Blogs
  • Members
  • More
Personal Blogs
Legacy Personal Blogs RTOSs and Brownies
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: chriswhite
  • Date Created: 24 Mar 2015 3:51 PM Date Created
  • Views 788 views
  • Likes 3 likes
  • Comments 2 comments
  • rtems
  • open_source
  • rtos
  • thelinker
  • embedded.fm
Related
Recommended

RTOSs and Brownies

chriswhite
chriswhite
24 Mar 2015

Posted by Elecia White.

 

On episode 93 of the Embedded.fm show, we were joined by Joel Sherrill, the lead on the Real Time Executive Multiprocessor System (RTEMS) project.

 

image

RTEMS  is a real-time operating system. To be more specific, it is a POSIX-compliant single process, multi-threaded operating system. On the show, we discussed choosing an RTOS for embedded systems, making sure to touch on determinism and latency. We also talked about the less common features such as symmetric multiprocessing and mutexes with inherited priorities.


This is not some small RTOS that only one person (or one computer science curriculum) has used: RTEMS started development in the late 1980s, to be used by the Army for missile control. It has come a long way since then. It is certified for use in space by the European Space Agency. It has been ported to a huge number of platforms, including Raspberry Pi and Atmel AVRs. Oh, and, RTEMS is also free and open source. (FREE! And you get the source code! Do you know how much RTOSs usually cost!?! FREE! Yay!)


I think it is cool but I’m not sure I could work on it.

 

Oh, not because I tend to program bare metal or with a tiny RTOS: even though RTEMS itself is bigger than my usual embedded software, anything that can contort to fit on an AVR is fine by me.

image

The problem occurred to me as Joel told a story of getting a Mars Curiosity mug handed to him during a conference. It was during a talk so he didn't find out until later that the mug was a thank you because part of Curiosity runs RTEMS.

 

It would be so awesome to write software that went to space, that went to another planet! Except Joel only finds out when someone tells him, for example, by handing him a thank you mug.

 

I crave the applications. I need to know what my code did after it left my repository.

 

This will not come as a shock to anyone who has heard me spout off my verbal resume: DNA scanners, educational children’s toys, race cars and airplanes, gunshot location systems, operating room and intensive care unit (ICU) gear. I’ve gotten to work on some neat things. I am extremely fortunate that embedded systems and signal processing are cross-industry needs.

 

Realistically, not all of them are quite as thrilling as they sound. My interaction with race cars and airplanes was working on an inertial measurement unit (IMU). I still find inertial sensors fascinating but one way to glaze the eyes of a too-chatty airplane row-mate is to describe what an IMU is. I understand not all engineering activities can sound fun, even when they actually are.

 

Nonetheless, I am generally in it for the applications. I like to talk about what I do, it reinvigorates me when I get frustrated. The last time I spoke at an undergraduate computer science symposium, the name of my talk was “Applications Matter!”

 

My closing statement was:

image

At some point, you will hate your job. People will disappoint you, the technology will bore you and the thought of going to work on Monday will not be a happy one. That is why they pay you: to do something you wouldn't otherwise do. You can make it a little easier on yourself if you choose applications that excite you, that matter to you. Make sure the story you tell yourself isn't only about money and technology. There is goodness to be had, whether it is making information easier to find, or reducing people’s stress through games and music, or building supercomputers that further our scientific knowledge.

 

Many of my best application stories come from ShotSpotter (“I work on a gunshot location system” was a great introduction; it produced the happy opposite of the inertial measurement unit eye-glaze). The only reason I know about the pregnant lady who survived a gunshot wound or the hostage situation that resolved without injuries is because our customers told us. (Our phenomenal customer support person asked but, still, the folks who paid the bills told us the stories.)

 

Going beyond the financial rewards of a job, the satisfaction of solving difficult problems, and the pride of a job well-done, there is still another piece: the knowledge that the work produced something good for someone else.  Last week on Embedded.fm, we spoke with James Laen Neal of OSHPark (makers of small run boards). Laen said he chose the vibrant purple PCB color so he could see the board in other people’s projects. While not quite the satisfaction of “I made that”, I understand his motivation. It would be good to know that he had a hand in helping that project become a reality.

 

With software that anyone can download and use, like RTEMS and other FOSS projects, it makes it tough to know who is using it and for what applications. I wonder if Audacity knew how much I relied on their tools when I was looking at gunshot audio files. I remember a coworker sending a brownie basket to an open source compiler support team for telling us how to fix our issues (instead of signing up for costly support). But I don’t think I’ve ever thanked Cygwin, GCC, Python, or any of the tools I use regularly. They are such big projects, I’m not sure who I would thank. However, I couldn’t create the things I do without them. Given my temperament and need to see my software doing things, I often fail to appreciate the effort that goes into making the tools and foundation software. It is critical, forming the shoulder of giants upon which I stand.

 

RTEMS might be one of those tools you are using. Whether you are making spacecraft, medical devices, or just hobby projects, remember that people like Joel often only hears these stories at conferences or in passing. If you are using it, well, maybe say hello and thanks.

image

For myself, the next time I feel a little guilty that I don’t contribute to some open source project or feel a bit selfish that I work for money instead of (only) passion, I think I’ll assuage the feeling by looking at what FOSS tools I have open, finding the lead on the project, and sending them a thank you. Even if it isn't a brownie basket, I suspect a simple “I used your software to get things done, thank you!” message will help them, maybe by make their Mondays a little easier.

 

If you are in college and want to get involved, RTEMS is a mentor for both Google Summer of Code and ESA Summer of Code.

 

Brownie photo by jeffreyw [CC BY 2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons

  • Sign in to reply

Top Comments

  • clem57
    clem57 over 8 years ago +1
    Interesting blog. Thanks for pointing out it will work on Pi, elecia
  • DAB
    DAB over 8 years ago +1
    I remember when RTEMS came out in the 1980's. It was supposed to be a DoD wide solution, but was basically ignored by everyone, so making it public domain was probably the best thing to do after the hefty…
  • DAB
    DAB over 8 years ago

    I remember when RTEMS came out in the 1980's.

     

    It was supposed to be a DoD wide solution, but was basically ignored by everyone, so making it public domain was probably the best thing to do after the hefty investment made by the government.

     

    DAB

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • clem57
    clem57 over 8 years ago

    Interesting blog. Thanks for pointing out it will work on Pi, elecia

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2023 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube