Operations | Monitoring | ITSM | DevOps | Cloud

Latest Posts

Selecting Your Next Project's MCU

Selecting the best chip can be tedious work but the best chip can save you a lot of time and money, and might even be faster! So should you spend time finding the best? I have some words on the topic. If a primary goal of your next project is to learn a new MCU, you want to create something easily reproducible, or if there will be only one machine building the project, then I recommend you to go with the chip you want to learn, the chip most readily available, or the easiest one to work with.

Nash's Four Favorite Firmware Debug Tools

As much as I enjoy writing firmware, I am, at heart, a hardware engineer. I love hunting for minutia in chip datasheets. I love fiddling with eval boards, tacking on wires, and reworking nets together. I love flipping through The Art of Electronics, finding a new circuit, and piecing through its operation. This is why, when invited to write for Interrupt, I jumped at the chance to write about a hardware-related topic that’s near and dear to my heart: debug tools.

Tracing & Logging with the `TRICE` Library (Interrupts too!)

If you develop software for an embedded system, you need some kind of system feedback. Debuggers are awesome tools, but when it comes to analyzing dynamic behavior in the field, they cannot be used. For remote debugging, many engineers turn to printf, which can usually be quickly put in place after having a putchar() implemented. This turns out to be an expensive way, in terms of processor clocks and required FLASH memory for the strings.

Pocket article: How to implement and use `.noinit` RAM

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 could be some external hardware information (what’s the position of a motor or actuator?) or a method to communicate the reset to the user (display some information on the device’s display). A simple way to store information through a reboot is to use what’s called“non-initialized” memory.

New Events and Jobs Pages on Interrupt

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, we think we’ve made a respectable attempt at this goal. Our goals for Interrupt were always more ambitious than just a blog with quality content. We wanted Interrupt to become a hub for everything related to embedded firmware.