4 Uses for Assembly Language

An embedded tip that I often advocate is that developers should avoid using assembly language. The reason for avoiding assembly language is that it is specific to the processor architecture being used, it is difficult to read, understand and maintain. Today, we are going to look at the few areas where I believe it is … Continue reading 4 Uses for Assembly Language

7 Steps to Create a Reusable Debounce Algorithm

A quick google search reveals that there are over 212,000 websites that examine how to debounce a button.  After examining a number of them it is obvious that these implementations are not meant for reuse.  The implementations and strategies often lack scalability, the ability to debounce multiple buttons easily and portability.  They are tightly coupled … Continue reading 7 Steps to Create a Reusable Debounce Algorithm

5 Tips for using Arm TrustZone in Cortex-M Processors

As embedded system developers transition to creating connected, IoT devices, security has become one of the most important issues they face. The ARMv8-M processors do support TrustZone® which provides developers with a new mechanism to help them isolate their secure software from more general user software. Just like with any new tool, there are several … Continue reading 5 Tips for using Arm TrustZone in Cortex-M Processors