# Latest

**URL:** https://community.memfault.com/latest.md?page=1

[Latest](https://community.memfault.com/latest.md) · [Categories](https://community.memfault.com/categories.md)

**Page:** 2

---

## [How to Transition from nRF5 SDK to Zephyr NCS － Lessons from Ultrahuman’s Journey | Interrupt](https://community.memfault.com/t/how-to-transition-from-nrf5-sdk-to-zephyr-ncs-lessons-from-ultrahuman-s-journey-interrupt/900)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 1\
**Last updated:** [January 3, 2025, 5:18pm UTC](https://community.memfault.com/t/how-to-transition-from-nrf5-sdk-to-zephyr-ncs-lessons-from-ultrahuman-s-journey-interrupt/900 "2025-01-03T17:18:37Z")

</div>

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 wa…

---

## [Memfault and containers](https://community.memfault.com/t/memfault-and-containers/908)

<div class="topic-metadata">

**Author:** [@mredd](https://community.memfault.com/u/mredd)\
**Replies:** 0\
**Last updated:** [December 28, 2024, 11:55am UTC](https://community.memfault.com/t/memfault-and-containers/908 "2024-12-28T11:55:22Z")

</div>

Hello, I was made aware of memfault by a friend and have to say the concept looks pretty cool. The crashdump analyzer is kind of a non-feature for us, as crashing applications are not really a thing in embedded applicat…

---

## [A Simple Scheduler via an Interrupt-driven Actor Model | Interrupt](https://community.memfault.com/t/a-simple-scheduler-via-an-interrupt-driven-actor-model-interrupt/723)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 5\
**Last updated:** [December 20, 2024, 12:16pm UTC](https://community.memfault.com/t/a-simple-scheduler-via-an-interrupt-driven-actor-model-interrupt/723 "2024-12-20T12:16:59Z")

</div>

Using an RTOS is often a tradeoff between the ease of decomposing tasks, with the complexity of the scheduler itself. There exists a middle ground between highly complex systems that may require an RTOS, and simpler ones…

---

## [Cortex-M Exception Handling | Interrupt](https://community.memfault.com/t/cortex-m-exception-handling-interrupt/75)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 6\
**Last updated:** [December 7, 2024, 7:08pm UTC](https://community.memfault.com/t/cortex-m-exception-handling-interrupt/75 "2024-12-07T19:08:55Z")

</div>

Nearly all embedded systems at one point or another rely on the ability to handle asynchronous events. For example, it could be reading external sensor data from an accelerometer in order to count steps or handling perio…

---

## [Sequential-storage － Efficiently Store Data in Flash | Interrupt](https://community.memfault.com/t/sequential-storage-efficiently-store-data-in-flash-interrupt/896)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 2\
**Last updated:** [December 6, 2024, 1:41am UTC](https://community.memfault.com/t/sequential-storage-efficiently-store-data-in-flash-interrupt/896 "2024-12-06T01:41:43Z")

</div>

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 bee…

---

## [Tracking Firmware Code Size | Interrupt](https://community.memfault.com/t/tracking-firmware-code-size-interrupt/161)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 8\
**Last updated:** [November 4, 2024, 6:20pm UTC](https://community.memfault.com/t/tracking-firmware-code-size-interrupt/161 "2024-11-04T18:20:33Z")

</div>

This is the terminal output of my nightmares. It frequently means a halt in productivity and sends engineers scrambling to save 100 bytes wherever they can, all while trying to meet the deadlines and requirements set for…

---

## [I want to know Top Techniques for Using Memfault to Implement Remote Debugging](https://community.memfault.com/t/i-want-to-know-top-techniques-for-using-memfault-to-implement-remote-debugging/889)

<div class="topic-metadata">

**Author:** [@zoeanderson](https://community.memfault.com/u/zoeanderson)\
**Replies:** 0\
**Last updated:** [October 11, 2024, 5:24am UTC](https://community.memfault.com/t/i-want-to-know-top-techniques-for-using-memfault-to-implement-remote-debugging/889 "2024-10-11T05:24:06Z")

</div>

Hi everyone, I am working on a project that involves deploying a large number of IoT devices in the field & I want advice on setting up an efficient remote debugging workflow using Memfault. While I am familiar with Me…

---

## [Practical Zephyr - Devicetree semantics (Part 4) | Interrupt](https://community.memfault.com/t/practical-zephyr-devicetree-semantics-part-4-interrupt/812)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 2\
**Last updated:** [September 12, 2024, 6:02pm UTC](https://community.memfault.com/t/practical-zephyr-devicetree-semantics-part-4-interrupt/812 "2024-09-12T18:02:40Z")

</div>

Having covered the Devicetree basics in the previous article, we now add semantics to our Devicetree using so-called bindings: For each supported type, we’ll create a corresponding binding and look at the generated outpu…

---

## [Details on solar flare resets](https://community.memfault.com/t/details-on-solar-flare-resets/849)

<div class="topic-metadata">

**Author:** [@tester](https://community.memfault.com/u/tester)\
**Replies:** 1\
**Last updated:** [September 4, 2024, 9:30pm UTC](https://community.memfault.com/t/details-on-solar-flare-resets/849 "2024-09-04T21:30:53Z")

</div>

I really expected more details about reset causes in this article. memfault supposed to pin point exact causes, so show us the data.

---

## [How Memory Usage Patterns Can Derail Real-time Performance | Interrupt](https://community.memfault.com/t/how-memory-usage-patterns-can-derail-real-time-performance-interrupt/875)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 0\
**Last updated:** [August 29, 2024, 6:21pm UTC](https://community.memfault.com/t/how-memory-usage-patterns-can-derail-real-time-performance-interrupt/875 "2024-08-29T18:21:36Z")

</div>

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 pla…

---

## [Considerations when Building Embedded Databases | Interrupt](https://community.memfault.com/t/considerations-when-building-embedded-databases-interrupt/862)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 1\
**Last updated:** [August 23, 2024, 1:52pm UTC](https://community.memfault.com/t/considerations-when-building-embedded-databases-interrupt/862 "2024-08-23T13:52:38Z")

</div>

Persisting to flash is a necessary evil for many embedded devices. Let’s take a look at some of the pitfalls and how they may be avoided. This is a companion discussion topic for the original entry at https://interrupt…

---

## [Demistifying Firmware Linker Scripts](https://community.memfault.com/t/demistifying-firmware-linker-scripts/49)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 19\
**Last updated:** [August 12, 2024, 7:51pm UTC](https://community.memfault.com/t/demistifying-firmware-linker-scripts/49 "2024-08-12T19:51:37Z")

</div>

This is the second post in our “Zero to main()” series. Last time, we talked about bootstrapping a C environment on an MCU before invoking our main function. One thing we took for granted was the fact that functions and…

---

## [Zero to main(): How to Write a Bootloader from Scratch | Interrupt](https://community.memfault.com/t/zero-to-main-how-to-write-a-bootloader-from-scratch-interrupt/66)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 34\
**Last updated:** [August 9, 2024, 8:36pm UTC](https://community.memfault.com/t/zero-to-main-how-to-write-a-bootloader-from-scratch-interrupt/66 "2024-08-09T20:36:56Z")

</div>

This is the third post in our zero to main() series, where we boostrap a working firmware from zero code on a cortex-M series microcontroller. This is a companion discussion topic for the original entry at https://inte…

---

## [GitHub Actions for STM32CubeIDE | Interrupt](https://community.memfault.com/t/github-actions-for-stm32cubeide-interrupt/868)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 1\
**Last updated:** [August 2, 2024, 2:49pm UTC](https://community.memfault.com/t/github-actions-for-stm32cubeide-interrupt/868 "2024-08-02T14:49:55Z")

</div>

In this article, we will explore how to use GitHub Actions to automate building STM32CubeIDE projects. Eclipse-based IDEs like STM32CubeIDE are often used for developing embedded systems but can be a little tricky to bui…

---

## [Why my post has been temporary hidden?](https://community.memfault.com/t/why-my-post-has-been-temporary-hidden/866)

<div class="topic-metadata">

**Author:** [@clausesalv](https://community.memfault.com/u/clausesalv)\
**Replies:** 0\
**Last updated:** [July 30, 2024, 6:52am UTC](https://community.memfault.com/t/why-my-post-has-been-temporary-hidden/866 "2024-07-30T06:52:31Z")

</div>

Hello there, Recently I posted a query on this website- https://community.memfault.com/t/akismet-has-temporarily-hidden-your-post/865/2 After few minutes, I got a notification that left me disappointed as it shows m…

---

## [Could Someone Give me Advice for Implementing Firmware Over-the-Air Updates in IoT Devices?](https://community.memfault.com/t/could-someone-give-me-advice-for-implementing-firmware-over-the-air-updates-in-iot-devices/864)

<div class="topic-metadata">

**Author:** [@clausesalv](https://community.memfault.com/u/clausesalv)\
**Replies:** 0\
**Last updated:** [July 29, 2024, 3:09am UTC](https://community.memfault.com/t/could-someone-give-me-advice-for-implementing-firmware-over-the-air-updates-in-iot-devices/864 "2024-07-29T03:09:32Z")

</div>

Hello there, I am working on a project that involves deploying firmware over the air updates for a fleet of IoT devices. While I have some experience with embedded systems; this is my first time implementing FOTA; and I…

---

## [Securing Firmware Updates With AES Encryption | Interrupt](https://community.memfault.com/t/securing-firmware-updates-with-aes-encryption-interrupt/711)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 0\
**Last updated:** [August 24, 2023, 2:35am UTC](https://community.memfault.com/t/securing-firmware-updates-with-aes-encryption-interrupt/711 "2023-08-24T02:35:11Z")

</div>

Connected devices require a secure point-to-point channel to ensure that there is no possibility of exposing important data for the integrity of an embedded system. This is especially true when we talk about over-the-air…

---

## [The Best and Worst MCU SDKs | Interrupt](https://community.memfault.com/t/the-best-and-worst-mcu-sdks-interrupt/294)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 28\
**Last updated:** [June 20, 2024, 1:03pm UTC](https://community.memfault.com/t/the-best-and-worst-mcu-sdks-interrupt/294 "2024-06-20T13:03:57Z")

</div>

In 2020, an MCU is much more than a hunk of silicon. Indeed, it comes with a whole ecosystem including a BSP, integrated third party libraries, tooling, field application support, and more. This is a companion discuss…

---

## [Parsing Logs Messages for Instant Crash Analysis | Interrupt](https://community.memfault.com/t/parsing-logs-messages-for-instant-crash-analysis-interrupt/247)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 4\
**Last updated:** [May 31, 2024, 2:07pm UTC](https://community.memfault.com/t/parsing-logs-messages-for-instant-crash-analysis-interrupt/247 "2024-05-31T14:07:51Z")

</div>

Having a logger display execution information on the terminal is pretty common for firmware developers. What’s less common is having an instant stack trace when the program crashes. This is a companion discussion topic…

---

## [Better Firmware with LLVM/Clang | Interrupt](https://community.memfault.com/t/better-firmware-with-llvm-clang-interrupt/195)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 36\
**Last updated:** [May 26, 2024, 11:12am UTC](https://community.memfault.com/t/better-firmware-with-llvm-clang-interrupt/195 "2024-05-26T11:12:01Z")

</div>

If you have ever done software development that involves Apple products, FreeBSD, WebAssembly, or Rust, you have used the wildly popular compiler toolchain known as LLVM. However, LLVM and the open source C-language comp…

---

## [ARM Cortex-M33 Instruction Tracing Without a Debugger | Interrupt](https://community.memfault.com/t/arm-cortex-m33-instruction-tracing-without-a-debugger-interrupt/326)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 7\
**Last updated:** [May 2, 2024, 3:22pm UTC](https://community.memfault.com/t/arm-cortex-m33-instruction-tracing-without-a-debugger-interrupt/326 "2024-05-02T15:22:54Z")

</div>

In a previous post, we talked about debugging memory corruption issues by making use of watchpoints. You may recall in that post we had to reproduce the failure so we could halt the core with a watchpoint installed in or…

---

## [Practical Zephyr - Kconfig (Part 2) | Interrupt](https://community.memfault.com/t/practical-zephyr-kconfig-part-2-interrupt/806)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 2\
**Last updated:** [March 22, 2024, 11:41am UTC](https://community.memfault.com/t/practical-zephyr-kconfig-part-2-interrupt/806 "2024-03-22T11:41:15Z")

</div>

In this second article of the “Practical Zephyr” series, we’ll explore the kernel configuration system Kconfig by looking at the printk logging option in Zephyr. We won’t explore the logging service as such in detail but…

---

## [Measuring Stack Usage the Hard Way | Interrupt](https://community.memfault.com/t/measuring-stack-usage-the-hard-way-interrupt/679)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 7\
**Last updated:** [March 5, 2024, 2:17pm UTC](https://community.memfault.com/t/measuring-stack-usage-the-hard-way-interrupt/679 "2024-03-05T14:17:19Z")

</div>

Embedded systems often require a careful eye to where memory resources are being spent, especially runtime memory utilization like stack and heap memories. This is a companion discussion topic for the original entry at…

---

## [Diving into JTAG — Debugging (Part 2) | Interrupt](https://community.memfault.com/t/diving-into-jtag-debugging-part-2-interrupt/815)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 4\
**Last updated:** [March 3, 2024, 1:06pm UTC](https://community.memfault.com/t/diving-into-jtag-debugging-part-2-interrupt/815 "2024-03-03T13:06:30Z")

</div>

As noted in my previous article Diving into JTAG protocol. Part 1 — Overview, JTAG was initially developed for testing integrated circuits and printed circuit boards. However, its potential for debugging was realized ove…

---

## [A Guide to Using ARM Stack Limit Registers | Interrupt](https://community.memfault.com/t/a-guide-to-using-arm-stack-limit-registers-interrupt/632)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 4\
**Last updated:** [February 28, 2024, 9:57pm UTC](https://community.memfault.com/t/a-guide-to-using-arm-stack-limit-registers-interrupt/632 "2024-02-28T21:57:18Z")

</div>

Stack overflows have notoriously plagued the development processes. They often can go undetected and can present themselves in obscure ways. We have implemented software mechanisms to protect against them, but these have…

---

## [Automate Debugging with GDB Python API](https://community.memfault.com/t/automate-debugging-with-gdb-python-api/55)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 1\
**Last updated:** [February 19, 2024, 12:58am UTC](https://community.memfault.com/t/automate-debugging-with-gdb-python-api/55 "2024-02-19T00:58:14Z")

</div>

Previously we discussed how a significant portion of developer time is spent debugging firmware and how GDB can be a powerful utility for this. In this article we will discuss how to become more efficient at debugging by…

---

## [Using Asserts in Embedded Systems | Interrupt](https://community.memfault.com/t/using-asserts-in-embedded-systems-interrupt/98)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 18\
**Last updated:** [January 30, 2024, 5:28pm UTC](https://community.memfault.com/t/using-asserts-in-embedded-systems-interrupt/98 "2024-01-30T17:28:43Z")

</div>

The use of asserts is one of the best ways to find bugs, unintended behavior, programmatic errors, and to catch when systems are no longer 100% functional and need to be reset to recover. If instrumented correctly, an as…

---

## [A Modern C Development Environment | Interrupt](https://community.memfault.com/t/a-modern-c-development-environment-interrupt/702)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 5\
**Last updated:** [January 18, 2024, 7:39am UTC](https://community.memfault.com/t/a-modern-c-development-environment-interrupt/702 "2024-01-18T07:39:06Z")

</div>

Sometimes, C/C++ projects have a long development cycle. When working on such a project, it can be easy to take our development environment for granted, and forget about the effort invested in its bring-up. The build env…

---

## [Cortex-M MCU Emulation with Renode | Interrupt](https://community.memfault.com/t/cortex-m-mcu-emulation-with-renode-interrupt/163)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 6\
**Last updated:** [January 10, 2024, 2:28pm UTC](https://community.memfault.com/t/cortex-m-mcu-emulation-with-renode-interrupt/163 "2024-01-10T14:28:59Z")

</div>

In this new era of work-from-home, firmware engineer may not have all the equipment and development board they are used to having at the office. One way around this? Emulation! This is a companion discussion topic for …

---

## [How to debug a HardFault on an ARM Cortex-M MCU | Interrupt](https://community.memfault.com/t/how-to-debug-a-hardfault-on-an-arm-cortex-m-mcu-interrupt/607)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 1\
**Last updated:** [January 8, 2024, 2:00pm UTC](https://community.memfault.com/t/how-to-debug-a-hardfault-on-an-arm-cortex-m-mcu-interrupt/607 "2024-01-08T14:00:47Z")

</div>

Faults happen on embedded devices all the time for a variety of reasons – ranging from something as simple as a NULL pointer dereference to something more unexpected like running a faulty code path only when in a zero-g …

[Previous page](https://community.memfault.com/latest.md)

[Next page](https://community.memfault.com/latest.md?page=2)
