Category: Microcontroller programming

Quad-SPI, Everything You Need To Know!

If you have just mastered this SPI interface, then looking at Dual and Quad SPI can be overwhelming. I had to read several pdfs to wrap my mind around this concept. In this article, I am presenting all the useful and interesting facts on Quad-SPI that I have learned through my research. What is Quad-SPI? It is a serial interface, where 4 data lines are used to read, write and erase flash chips. Quad-SPI Quad-SPI, also known as QSPI, is a peripheral that can be found in most modern microcontrollers. It has been specifically designed for talking to flash chips...

Profiling of Embedded Code Explained Through Examples!

I remember the time when I first heard the term Profiling, I could barely write source code without googling every 10 minutes at that time and when I heard about profiling, I couldn’t help but tell myself that I will never be able to master programming! Then after a few years I became very comfortable with programming, I came across the term again, but this time I was not scared anymore! So went out and did some research about it and what I found out was shocking, the concept of profiling was not so difficult, it was just another technical...

FreeRTOS, A Complete Beginners Guide

When I started out learning about FreeRTOS, I was not able to find good short resources to read, and hence I had to spend weeks reading a 400 page eBook, see a bunch of webinars and videos, then cross-reference to some other resources when concepts were not clear, before I was finally able to understand what FreeRTOS is, how it works and how to use it in applications. So I decided to write this guide to summarise all the information I have learned over my research in an easy to understand manner so that you can get started with FreeRTOS...

How to Detect, Debug and Prevent Stack-Overflow!

Today I ran into my very first stack overflow bug. It was a frustrating experience to find the actual bug as I had to go through all of my code and double-check the logic, buffers, pretty much my entire code before I was finally able to detect that the bug I got was due to stack overflow. But once I managed to find out the fact that the source of my problem is stack overflow, the fix was a pretty easy one. This is one of those bugs that will make you doubt pretty much everything you know..! I am...