Embedded's Top 10 Articles of 2021 - Embedded.com

Embedded’s Top 10 Articles of 2021


We continue our annual look back at the year’s most-read articles. This year, articles on coding practices and the UART communications protocol share the spotlight with those reflecting growing interest in AI and security. Read on for the top 10 articles of 2021 as determined by readership. If one of your favorites is missing, please add your top article in the comments below!


#1: Surprises in C code

The C language is quite flexible and expressive, allowing programmers to write an expression in a number of ways that are functionally equivalent, but sometimes apparently equivalent code has subtle differences.

Read More

#2: Running advanced C++ software on MCUs

Many RTOSes provide a C++ compatibility layer but unlike “big” systems (with an MMU), most RTOSes have some restrictions. We look at the internals of C++ and find out the reasons for these limitations.

Read More

#3: Running a Linux application on STM32 MCUs

Linux offers a wide range of software needed to build smart products but imposes resource demands typically beyond those available in a microcontroller (MCU). This article describes how developers can use an RTOS that supports Linux software on any platform to more easily develop low-cost, low-power smart devices.

Read More

#4: Understanding the UART

The UART, or universal asynchronous receiver-transmitter, is one of the most used device-to-device communication protocols. This article shows how to use a UART as a hardware communication protocol by following the standard procedure.

Read More

#5: Benchmarking OpenCV on STM32 MCUs

OpenCV is focused primarily on high-performance computing platforms/microprocessors, but it can execute several types of image processing applications on MCUs.

Read More

#6: MISRA C: Write safer, clearer C code

Embedded developers often bemoan the fact that no programming language is ideal for their particular needs. Some languages have been developed with embedded in mind but have not been widely accepted. The compromise that has been adopted almost universally is C. How can that compromise be made to work most effectively?

Read More

#7: Use malloc()? Why not?

A topic that I find particularly interesting, which is raised by many embedded software developers whom I meet, is dynamic memory allocation – grabbing chunks of memory as and when you need them. This seemingly simple and routine operation opens up a huge number of problems.

Read More

#8: Building effective IoT applications with tinyML and automated machine learning

The convergence of IoT devices and ML algorithms enables a wide range of smart applications and enhanced user experiences, which are made possible by tinyML — low-power, low-latency, and lightweight machine learning inference.

Read More

#9: 10 fatal mistakes in embedded systems security

Here are the common cybersecurity oversights that could compromise your critical applications and data.

Read More

#10: How to implement AI of Things (AIoT) on MCUs

Implementation of AI on resource-constrained MCUs to enable AIoT will increase exponentially in new applications as MCUs push the boundary on performance and blur the line between MCUs and MPUs.

Read More

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.