Programming the STM32 Option Bytes using SEGGER J-Flash

Nearly every microcontroller contains option bytes, fuses, or some method to control general settings on the processor. These settings often control features such as whether debugging is enabled or disabled, flash can be written or read, and even how the processor will boot. In this post, we will explore how to program the STM32 option … Continue reading Programming the STM32 Option Bytes using SEGGER J-Flash

3 Tips for Speeding Up Interrupt Handlers

Embedded software developers today are a bit spoiled. Many microcontrollers come with an ecosystem that includes peripheral drivers, an RTOS, middleware and even example application code. Many developers can spend most of their time in high-level application code, ignoring the software that meets the hardware. The problem is that while this prebuilt ecosystem can accelerate … Continue reading 3 Tips for Speeding Up Interrupt Handlers

Understanding Weak Symbols

If a developer closely looks at framework and library files, they may come across functions that have __weak in front of them. The weak symbol is a special linker symbol that denotes a function that can be overridden during link time. In today’s post, we will take quick look at weakly linked functions. Weak symbols … Continue reading Understanding Weak Symbols

There is No Hardware

My favorite line from the Matrix is that “there is no spoon”, and today that is a wise statement for embedded software developers to take to heart. Embedded software developers traditionally are hardware centric, believing that they can’t move forward without the hardware (sometimes this is true). Much like Neo, developers need to accept that … Continue reading There is No Hardware

Celebrating the Microprocessors 50th Birthday

Happy 50th Birthday to the microprocessor! This month, 50 years ago, the first microprocessor became commercially available, the Intel 4004. This little 4-bit processor launched a revolution that has not only kept electrical and software engineers busy, but has completely revolutionized, well, everything! It’s quite interesting that the original intent for the 4004 processor was … Continue reading Celebrating the Microprocessors 50th Birthday