I often find that developers initialize task code in seemingly random places throughout their application. This can make it difficult to make changes to the tasks, but more importantly just difficult to understand what all is happening in the application. It also makes it so that the application is not very scalable or easy to … Continue reading A Simple, Scalable RTOS Initialization Design Pattern
Category: Software Techniques
3 Tips for Writing External Device Drivers
A major advantage to using a microcontroller today is that embedded software developers typically don’t have to write their own drivers anymore. It’s very common for the microcontroller vendor to provide software frameworks that abstract the hardware and allow developers to make simple function calls to initialize, read and write to peripherals such as SPI, … Continue reading 3 Tips for Writing External Device Drivers
Simulating Your Way to Embedded Software Success
As an embedded software engineer, it’s really easy to think that all the software for the product is reliant upon the hardware. Most embedded developers that I encounter want to get a development board right out of the gate and start writing software, including myself most of the time. It’s not necessarily wrong, it’s just … Continue reading Simulating Your Way to Embedded Software Success
5 Best Practices for Over-the-Air (OTA) Updates
In my last post, I explored how OTA updates are typically performed using Amazon Web Services and FreeRTOS. OTA updates are critically important to developers with connected devices. In today’s post, we are going to explore several best practices developers should keep in mind with implementing their OTA solution. Most of these will be generic … Continue reading 5 Best Practices for Over-the-Air (OTA) Updates
Over-the-Air (OTA) Updates with AWS and FreeRTOS
Updating firmware in the field has always been a critical component to nearly every embedded system since the dawn of embedded systems. Access to programming tools like a JTAG or SWD programmer and physical access to the programming port has often necessitated the need to update firmware using an alternative interface such as USB, CAN, … Continue reading Over-the-Air (OTA) Updates with AWS and FreeRTOS
3 Common Challenges Facing RTOS Application Developers
Real-time operating systems (RTOS) are now included in many embedded applications. They can dramatically simplify time and task management in a system and help improve scalability and maintainability (if the application is designed correctly). I’ve found though that there are several common challenges that face RTOS application developers. Let’s examine these challenges and discuss a … Continue reading 3 Common Challenges Facing RTOS Application Developers
5 Tips for Developing an RTOS Application Software Architecture
Real-time operating systems (RTOS) are finding their way into nearly every IoT device. An RTOSes ability to manage low-level resources and complex timing requirements make them well suited for these applications. It is not uncommon though to struggle with how to design a software architecture that includes an RTOS. In today’s post, we will examine … Continue reading 5 Tips for Developing an RTOS Application Software Architecture
5 Tips for Building a Modern Telemetry GUI
Nearly every embedded system I have ever built has required a graphical user interface (GUI) to monitor and display telemetry. Monitoring telemetry during development can help developers to visualize what the system is doing and play a critical role in verifying and debugging the system. Telemetry in this context is any health and wellness information … Continue reading 5 Tips for Building a Modern Telemetry GUI
Simplified Software Development using MCU Configurators
When I first started writing embedded software, nearly every project started the same. For the first 3 – 6 months, every single day was spent pouring through microcontroller datasheets and writing a driver for each peripheral that was going to be used on a project. It was a lot of fun. Every microcontroller worked slightly … Continue reading Simplified Software Development using MCU Configurators
One “RTOS” to Rule them All
It’s always nice to have a choice, but when it comes to real-time operating systems (RTOS), there are just too many! If you’ve ever taken the time to search the web, you’d find that there are over a hundred different RTOS’s out there! Some are general, some try to differentiate by industry such as the … Continue reading One “RTOS” to Rule them All