364: All the Abstractions

Jacob Beningo spoke with us about embedded systems, conference talks, writing articles and books, and best practices in development. Jacob is a consultant and instructor, see his website for more details (beningo.com).

Jacob is one of the organizers of the Embedded Online Conference, May 18,19, and 20. Session times is generally noted in Eastern Time (Americas). A coupon code for a discount on registration is in the show. Jacob will be giving a talk called Best Practices for RTOS Application Design.

He likes the full visibility of tracing, using the Segger J-Trace with SystemView or Precipio.

Jacob has written three books:

He’s also written many articles for Embedded.com as well as his own blog.

He recommends the IEEE Software Engineering Body of Knowledge (SWEBOK). The SWEBOK is a free download from IEEE, which covers the best practices that engineers should be following when they develop software along with processes and strategies.

Jacob also recommends Renesas’ Synergy Software Quality Handbook that describes the processes that they used to develop and validate their software.

335: Patching on the Surface of Mars

Joel Sherrill (JoelSherrill) spoke with us about choosing embedded operating systems and why open source RTEMS (RTEMS_OAR) is a good choice.

Embedded #307: Big While Loop: Chris and Elecia talk about when and where they’d use RTOSs

Embedded #93: Delicious Gumbo: Joel gave an introduction to the RTEMS RTOS

Joel works at OAR Corp (oarcorp.com) on RTEMS (rtems.org). RTEMS runs on many development boards including the BeagleBone, Raspberry Pi, and two FPGA boards: ARM ZYNQ-7000 and the Arty Board.

Joel recommends the operating systems book by Alan Burns and Andy Wellens. It comes in many flavors and editions including Real Time Systems and Programming Languages: Ada 95, Real-Time Java and Real-Time C/POSIX (3rd Edition).

NASA Core Flight System (https://cfs.gsfc.nasa.gov/)

Experimental Physics and Industrial Control System (EPICS) (https://epics-controls.org/)

196: Software Server Thingybob

Aditi Hilbert (@HilbertAditi) spoke with us about MyNewt, an Apache-licensed RTOS and bootloader.

MyNewt’s Apache page is mynewt.apache.org and the github repository is github.com/apache/incubator-mynewt-core. In the README.md, check out the section marked browsing which points to the file system, ble stack, and assorted other source code goodies you may want to read. The secure bootloader code is also in there but as it is also a cross-RTOS effort (with Linux’s Zephyr), you can find the MCUBoot repository at github.com/runtimeco/mcuboot

Aditi works for Runtime.io (@runtime_io), a primary contributor to MyNewt. They work with companies who want to use MyNewt on their products.

We talked about OIC (openconnectivity.org) and using UDP endpoints over BLE. Constrained http is actually called constrained application protocol: CoAP (coap.technology). We also mentioned MQTT, an older standard attempting to solve some of the same problems.

The Apache license is one of the most permissive of open source licenses: choosealicense.com/licenses

Assorted other links discussed in the show:

175: How Hard Could It Be?

Jean Labrosse of Micrium (@Micrium) spoke with us about writing a real time operating system (uC/OS), building a business, and caring about code quality.

Take a look at the uC/OS operating systems (available for free to makers) and Jean's excellent and free RTOS books (it was the Kinetis one that talks about the medical process). Also, check out the uCProbe which integrates with your debugger to replace some logic analyzer and oscilloscope features. 

Jean's blog about detecting stack overflows: part 1 and part 2.

Brother to Brother by Gino Vanelli