Operations | Monitoring | ITSM | DevOps | Cloud

Latest Posts

WSL2 for Firmware Development

This guide provides instructions for setting up an environment for developing, debugging, and programming embedded systems firmware in the Windows Subsystem for Linux (WSL2). WSL2 provides a convenient and stable Linux development environment for working on embedded systems firmware. If you’re curious about toolchain performance, check out this comparison of firmware development environments, but the summary is that WSL2 is about 2x the speed of Windows and similar to “bare metal” Linux.

How to Transition from nRF5 SDK to Zephyr NCS Lessons from Ultrahuman's Journey

At Ultrahuman, innovation is at the core of everything we do. Our health devices, powered by the nRF52840 SoC for BLE functionality, rely on Nordic Semiconductor’s renowned wireless technology. For years, the nRF5 SDK was the cornerstone of firmware development for these chipsets, but in 2018, Nordic introduced the nRF-Connect SDK(NCS), built on Zephyr RTOS, signaling a new era for BLE applications.

Sequential-storage Efficiently Store Data in Flash

While using a full-blown filesystem for storing your data in non-volatile memory is common practice, those filesystems are often too big, not to mention annoying to use, for the things I want to do. My solution? I’ve been hard at work creating the sequential-storage crate. In this blog post I’d like to go over what it is, why I created it and what it does.

Embedded World North America 2024 Recap

Last week, a handful of Memfolks had the opportunity to travel to Austin to attend the first ever Embedded World North America1! Embedded World NA welcomed 3,500 visitors and 180 vendors across 3 days2. While it was surely a smaller showing than Nueremburg’s Embedded World, we still wanted to quickly touch on our takeaways from the event. In this post, we will cover what we learned from the first Embedded World North America.

Comparing Firmware Development Environments - Linux, Windows, WSL2, and VMWare

About a year and a half ago, I decided to take a different approach to setting up a Zephyr environment for a new project at Intercreate. Instead of using my trusty VMWare Workstation Linux VM, I opted for WSL2. I was curious to find out: Would hardware pass-through for debugging work reliably? Would all of the tooling dependencies be supported? What about build system performance?

How Memory Usage Patterns Can Derail Real-time Performance

In this article, we will learn how memory usage patterns can affect the real-time performance of an embedded application, drawing from a recent experience tracing an audio DSP application running on an embedded Linux platform. First, I will introduce the product in question and the real-time audio software I developed for it. Then, I’ll describe the issues I encountered with audio callbacks and the strategy I followed to determine the cause of the issues, ending with my solution and lessons learned.

Diving into JTAG - Security (Part 6)

The JTAG interface is an important tool for debugging and testing embedded systems, providing low-level access to the internal workings of microcontrollers and other integrated circuits. However, this powerful interface also presents significant security threats. In the sixth and final part of this Diving into JTAG article series, we will focus on security issues related to JTAG and the Debug Port.