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

3 Tips for Writing External Device Drivers

A major advantage to using a microcontroller today is that embedded software developers typically don’t have to write their own drivers anymore. It’s very common for the microcontroller vendor to provide software frameworks that abstract the hardware and allow developers to make simple function calls to initialize, read and write to peripherals such as SPI, … Continue reading 3 Tips for Writing External Device Drivers