# Latest

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

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

**Page:** 4

---

## [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/106)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 20\
**Last updated:** [October 14, 2022, 4:21pm UTC](https://community.memfault.com/t/how-to-debug-a-hardfault-on-an-arm-cortex-m-mcu-interrupt/106 "2022-10-14T16:21:50Z")

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

---

## [Embedded C/C++ Unit Testing with Mocks | Interrupt](https://community.memfault.com/t/embedded-c-c-unit-testing-with-mocks-interrupt/193)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 3\
**Last updated:** [August 15, 2022, 2:14pm UTC](https://community.memfault.com/t/embedded-c-c-unit-testing-with-mocks-interrupt/193 "2022-08-15T14:14:49Z")

</div>

Writing a unit test from scratch for an embedded software project is almost always an exercise in frustration, patience, and determination. This is because of the constraints, as well as breadth, of embedded software. It…

---

## [Automatically format and lint code with pre-commit | Interrupt](https://community.memfault.com/t/automatically-format-and-lint-code-with-pre-commit-interrupt/457)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 12\
**Last updated:** [June 29, 2022, 4:08am UTC](https://community.memfault.com/t/automatically-format-and-lint-code-with-pre-commit-interrupt/457 "2022-06-29T04:08:15Z")

</div>

I love clean and tidy codebases. I love them even more if I don’t have to manually spend hours doing it myself. The problem is not everyone shares the same love and passion for tidy codebases, especially when we’re press…

---

## [Trouble Adding New Metrics](https://community.memfault.com/t/trouble-adding-new-metrics/578)

<div class="topic-metadata">

**Author:** [@jbahr](https://community.memfault.com/u/jbahr)\
**Replies:** 1\
**Last updated:** [June 1, 2022, 2:10pm UTC](https://community.memfault.com/t/trouble-adding-new-metrics/578 "2022-06-01T14:10:31Z")

</div>

I have an existing firmware application that already uses memfault metrics and successfully sends heartbeats on a timer. I added 2 metrics and while running the debug build on a single device I get the following error in…

---

## [Customized sprintf: complete unit test to check it](https://community.memfault.com/t/customized-sprintf-complete-unit-test-to-check-it/561)

<div class="topic-metadata">

**Author:** [@mastupristi](https://community.memfault.com/u/mastupristi)\
**Replies:** 1\
**Last updated:** [May 5, 2022, 8:30am UTC](https://community.memfault.com/t/customized-sprintf-complete-unit-test-to-check-it/561 "2022-05-05T08:30:56Z")

</div>

I am using a custom version of sprintf (written for embedded bare metal systems). I would like to test if the string conversions are reliable, especially the float ones. Is there and where can I find a complete set of t…

---

## [Pocket article: How to implement and use .noinit RAM | Interrupt](https://community.memfault.com/t/pocket-article-how-to-implement-and-use-noinit-ram-interrupt/472)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 2\
**Last updated:** [April 21, 2022, 6:04pm UTC](https://community.memfault.com/t/pocket-article-how-to-implement-and-use-noinit-ram-interrupt/472 "2022-04-21T18:04:22Z")

</div>

Imagine there’s an embedded system that needs to persist some state when the processor restarts (either intentionally or due to a catastrophic error). This is a companion discussion topic for the original entry at http…

---

## [Stuck Debugging a Hardfault on a cortex M7](https://community.memfault.com/t/stuck-debugging-a-hardfault-on-a-cortex-m7/548)

<div class="topic-metadata">

**Author:** [@AJLumsden](https://community.memfault.com/u/AJLumsden)\
**Replies:** 3\
**Last updated:** [April 5, 2022, 4:50am UTC](https://community.memfault.com/t/stuck-debugging-a-hardfault-on-a-cortex-m7/548 "2022-04-05T04:50:00Z")

</div>

I am currently trying to debug a hardfault on a cortex M7 running freertos. I have been using your great blog post and webinar on this subject and I have learnt a lot from it, so thank you very much for that. Although it…

---

## [Hard fault on STM32 with freertos (missing task stack trace)](https://community.memfault.com/t/hard-fault-on-stm32-with-freertos-missing-task-stack-trace/555)

<div class="topic-metadata">

**Author:** [@PaoloC](https://community.memfault.com/u/PaoloC)\
**Replies:** 3\
**Last updated:** [April 1, 2022, 3:35pm UTC](https://community.memfault.com/t/hard-fault-on-stm32-with-freertos-missing-task-stack-trace/555 "2022-04-01T15:35:36Z")

</div>

Hi all, I am trying memfault sdk on STM32 project with Cube-IDE, freeRtos and crash dump saved in flash. This is done on a nucleo board with a simple test program (3 tasks) for possible inclusion in the real project. …

---

## [C Structure Padding Initialization | Interrupt](https://community.memfault.com/t/c-structure-padding-initialization-interrupt/532)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 3\
**Last updated:** [March 11, 2022, 5:13pm UTC](https://community.memfault.com/t/c-structure-padding-initialization-interrupt/532 "2022-03-11T17:13:25Z")

</div>

This article takes a look at a few different aspects of C structure initialization. In particular, we’ll look at when it matters, the current state of things in Clang and GCC, recommendations, and the ✨ future ✨. This …

---

## [I2C in a Nutshell | Interrupt](https://community.memfault.com/t/i2c-in-a-nutshell-interrupt/126)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 12\
**Last updated:** [February 16, 2022, 1:17am UTC](https://community.memfault.com/t/i2c-in-a-nutshell-interrupt/126 "2022-02-16T01:17:31Z")

</div>

I2C is perhaps the most commonly used bus to connect ICs together. As such, firmware engineers encounter it on most project. In this post, we explain how I2C works, explore common bugs and investigate how to debug these …

---

## [Peeking inside CMSIS-Packs | Interrupt](https://community.memfault.com/t/peeking-inside-cmsis-packs-interrupt/449)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 2\
**Last updated:** [November 11, 2021, 12:55am UTC](https://community.memfault.com/t/peeking-inside-cmsis-packs-interrupt/449 "2021-11-11T00:55:15Z")

</div>

CMSIS-Packs are a package format defined by ARM for vendors to provide various software artifacts that simplify dealing with target devices. This is a companion discussion topic for the original entry at https://interr…

---

## [New Events and Jobs Pages on Interrupt | Interrupt](https://community.memfault.com/t/new-events-and-jobs-pages-on-interrupt-interrupt/465)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 1\
**Last updated:** [November 10, 2021, 6:03pm UTC](https://community.memfault.com/t/new-events-and-jobs-pages-on-interrupt-interrupt/465 "2021-11-10T18:03:07Z")

</div>

François, Chris, and I started Interrupt 2.5 years ago because we wanted a repository of great embedded firmware content, which didn’t exist. Looking back at all the posts that our community contributors have published, …

---

## [What we’ve been reading in September | Interrupt](https://community.memfault.com/t/what-we-ve-been-reading-in-september-interrupt/451)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 1\
**Last updated:** [October 14, 2021, 11:13pm UTC](https://community.memfault.com/t/what-we-ve-been-reading-in-september-interrupt/451 "2021-10-14T23:13:52Z")

</div>

Here are the articles, videos, and tools that we’ve been excited about this September. We hope you enjoy these links, and we look forward to hearing what you’ve been reading in the comments or on the Interrupt Slack. T…

---

## [What kind of Hardfault is tracable and how to do it?](https://community.memfault.com/t/what-kind-of-hardfault-is-tracable-and-how-to-do-it/441)

<div class="topic-metadata">

**Author:** [@duyanh-y4n](https://community.memfault.com/u/duyanh-y4n)\
**Replies:** 2\
**Last updated:** [September 13, 2021, 8:46am UTC](https://community.memfault.com/t/what-kind-of-hardfault-is-tracable-and-how-to-do-it/441 "2021-09-13T08:46:34Z")

</div>

Hello Memfault community! I’m trying to implement tracing on my customized nrf91 based board. When running sample coding on the nrf9160dk, I’ve figured out, that some of the hardfaults are not traceable (return with 0xa…

---

## [Firmware Static Analysis with CodeChecker | Interrupt](https://community.memfault.com/t/firmware-static-analysis-with-codechecker-interrupt/410)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 7\
**Last updated:** [September 2, 2021, 8:28am UTC](https://community.memfault.com/t/firmware-static-analysis-with-codechecker-interrupt/410 "2021-09-02T08:28:01Z")

</div>

The pitfalls of C programming are well known: undefined behavior abounds, uninitialized variables lie in wait, memory leaks, and buffers overflow. This is a companion discussion topic for the original entry at https://…

---

## [Number of device registrations](https://community.memfault.com/t/number-of-device-registrations/434)

<div class="topic-metadata">

**Author:** [@Jim](https://community.memfault.com/u/Jim)\
**Replies:** 1\
**Last updated:** [August 30, 2021, 11:04pm UTC](https://community.memfault.com/t/number-of-device-registrations/434 "2021-08-30T23:04:37Z")

</div>

Nordic customers can register 100 devices for free. How to calculate these 100 devices, is it calculated by the company or by the individual？

---

## [Building a CLI for Firmware Projects using Invoke | Interrupt](https://community.memfault.com/t/building-a-cli-for-firmware-projects-using-invoke-interrupt/74)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 8\
**Last updated:** [August 16, 2021, 7:29pm UTC](https://community.memfault.com/t/building-a-cli-for-firmware-projects-using-invoke-interrupt/74 "2021-08-16T19:29:32Z")

</div>

Building a small (or large) command line interface (CLI) for a project is a great way to get an entire team to build, test, debug, and work with a project in the same way using the same set of tools. This post goes into …

---

## [Can Cortex M4 MPU protect itself](https://community.memfault.com/t/can-cortex-m4-mpu-protect-itself/417)

<div class="topic-metadata">

**Author:** [@rolo](https://community.memfault.com/u/rolo)\
**Replies:** 2\
**Last updated:** [August 4, 2021, 10:24pm UTC](https://community.memfault.com/t/can-cortex-m4-mpu-protect-itself/417 "2021-08-04T22:24:40Z")

</div>

We are close to a product release, and our security team are dropping a number of requirements on us this late in the game. Somewhat schedule constrained about what can be realistically changed. It is unlikely we have…

---

## [Defensive Programming - Friend or Foe? | Interrupt](https://community.memfault.com/t/defensive-programming-friend-or-foe-interrupt/323)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 7\
**Last updated:** [June 11, 2021, 7:54pm UTC](https://community.memfault.com/t/defensive-programming-friend-or-foe-interrupt/323 "2021-06-11T19:54:21Z")

</div>

One of the worst things about embedded development (especially in C) is receiving a return value of -1 or unknown\_error from a function, with no other information about why the failure took place. It provides no informat…

---

## [Practical Design Patterns: Opaque Pointers and Objects in C | Interrupt](https://community.memfault.com/t/practical-design-patterns-opaque-pointers-and-objects-in-c-interrupt/402)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 14\
**Last updated:** [May 17, 2021, 9:29pm UTC](https://community.memfault.com/t/practical-design-patterns-opaque-pointers-and-objects-in-c-interrupt/402 "2021-05-17T21:29:13Z")

</div>

I’ve written a lot of C++ in my career, but I still prefer to design in C for most embedded projects (“why” is the subject of a much longer, rant-filled post). I’m not a big proponent of OOP in general, but I do think ha…

---

## [Memfault April 2021 Changelog](https://community.memfault.com/t/memfault-april-2021-changelog/398)

<div class="topic-metadata">

**Author:** [@tyler](https://community.memfault.com/u/tyler)\
**Replies:** 0\
**Last updated:** [May 6, 2021, 11:21pm UTC](https://community.memfault.com/t/memfault-april-2021-changelog/398 "2021-05-06T23:21:21Z")

</div>

Memfault Now Offering Free Trial The day you have all (maybe) been waiting for is here! Anyone can now sign up for a free trial of Memfault! There is no sales tea in your way of getting your devices integrated with Memfa…

---

## [Share Your Debugging Scripts | Interrupt](https://community.memfault.com/t/share-your-debugging-scripts-interrupt/383)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 3\
**Last updated:** [May 4, 2021, 12:47am UTC](https://community.memfault.com/t/share-your-debugging-scripts-interrupt/383 "2021-05-04T00:47:03Z")

</div>

One of my favorite ways to debug is to let GDB and a set of previously written Python scripts do all the work for me. These scripts could parse the heap and data structures, investigate fault registers, and paint an accu…

---

## [Balancing Test Coverage vs. Overhead | Interrupt](https://community.memfault.com/t/balancing-test-coverage-vs-overhead-interrupt/373)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 2\
**Last updated:** [April 27, 2021, 3:27pm UTC](https://community.memfault.com/t/balancing-test-coverage-vs-overhead-interrupt/373 "2021-04-27T15:27:24Z")

</div>

This article is written by an external contributor, Erik Fogg of ProdPerfect, along with Tyler Hoffman representing the firmware side of the story. Enjoy! This is a companion discussion topic for the original entry at h…

---

## [Store load with volatile](https://community.memfault.com/t/store-load-with-volatile/381)

<div class="topic-metadata">

**Author:** [@Spencer](https://community.memfault.com/u/Spencer)\
**Replies:** 5\
**Last updated:** [April 16, 2021, 12:42pm UTC](https://community.memfault.com/t/store-load-with-volatile/381 "2021-04-16T12:42:16Z")

</div>

Hi everyone, I have a problem about the load and store instructions related to volatile global variables. I am using the MPU to constrain the accessible memory range of the unprivileged application code. However, I fin…

---

## [Placing a function in RAM](https://community.memfault.com/t/placing-a-function-in-ram/379)

<div class="topic-metadata">

**Author:** [@sjalloq](https://community.memfault.com/u/sjalloq)\
**Replies:** 6\
**Last updated:** [April 15, 2021, 8:55pm UTC](https://community.memfault.com/t/placing-a-function-in-ram/379 "2021-04-15T20:55:08Z")

</div>

Hi there, been following the blog series and trying to get my head around a few things. I have a requirement to execute some system control functions from RAM rather than flash and after some reading found a suggestion…

---

## [GNU Binutils: the ELF Swiss Army Knife | Interrupt](https://community.memfault.com/t/gnu-binutils-the-elf-swiss-army-knife-interrupt/168)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 7\
**Last updated:** [March 21, 2021, 8:28pm UTC](https://community.memfault.com/t/gnu-binutils-the-elf-swiss-army-knife-interrupt/168 "2021-03-21T20:28:21Z")

</div>

There’s a lot that takes place between the C code you write and the binary that winds up executing on a device. Understanding how to look at and inspect what is emitted by the compiler saves time and can improve your eff…

---

## [Bluetooth Low Energy: A Primer | Interrupt](https://community.memfault.com/t/bluetooth-low-energy-a-primer-interrupt/62)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 1\
**Last updated:** [March 7, 2021, 12:23am UTC](https://community.memfault.com/t/bluetooth-low-energy-a-primer-interrupt/62 "2021-03-07T00:23:20Z")

</div>

You’ve probably heard the term IoT (Internet of Things) many times, and seen the hype in the media surrounding it. Simply stated, IoT refers to connecting devices to each other and to the Internet. IoT often depends on w…

---

## [What we’ve been reading in Februrary | Interrupt](https://community.memfault.com/t/what-we-ve-been-reading-in-februrary-interrupt/364)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 1\
**Last updated:** [March 5, 2021, 5:03pm UTC](https://community.memfault.com/t/what-we-ve-been-reading-in-februrary-interrupt/364 "2021-03-05T17:03:02Z")

</div>

Here are the articles, videos, and tools that we’ve been excited about this February. We hope you enjoy these links, and we look forward to hearing what you’ve been reading in the comments or on the Interrupt Slack. Th…

---

## [What we’ve been reading in December | Interrupt](https://community.memfault.com/t/what-we-ve-been-reading-in-december-interrupt/331)

<div class="topic-metadata">

**Author:** [@discobot](https://community.memfault.com/u/discobot)\
**Replies:** 3\
**Last updated:** [February 24, 2021, 3:53pm UTC](https://community.memfault.com/t/what-we-ve-been-reading-in-december-interrupt/331 "2021-02-24T15:53:48Z")

</div>

Happy New Year! Here’s to a wonderful 2021. Here are the articles, videos, and tools that we’ve been excited about this December. This is a companion discussion topic for the original entry at https://interrupt.memfaul…

---

## [BSS section larger than expected](https://community.memfault.com/t/bss-section-larger-than-expected/355)

<div class="topic-metadata">

**Author:** [@sjalloq](https://community.memfault.com/u/sjalloq)\
**Replies:** 3\
**Last updated:** [February 20, 2021, 8:02am UTC](https://community.memfault.com/t/bss-section-larger-than-expected/355 "2021-02-20T08:02:17Z")

</div>

As a followup question to this post, I’m trying to work out why the .bss section of my Elf file is being reported as so large. My test program is CMSIS based and is minimal - it reads a value from one of the peripherals…

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

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