What is a BootLoader?
A Bootloader is the first program which executes (before the main program) whenever a system is initialized. In PC It is used to boot the OS of the system. In case of microcontrollers, a bootloader enriches the capabilities of the microcontrollers and makes them self programmable device.

Continue reading


Spoiler: EEPROM is in fact Flash


what is the difference between flash and EEPROM?

EEPROM is an evolution of the older UV-erasable EPROMs. EEPROM’s “EE” stands for “Electrically Eraseable”.However, despite it being an improvement to its old pal, today’s EEPROM’s way of holding information is the exact same of the flash memory.
The ONLY major difference between the two is Continue reading

Pointers to Functions and Callbacks in C

Function Pointers provide some extremely interesting, efficient and elegant programming techniques. You can use them to replace switch/if-statements, to implement callbacks. probably due to their complicated syntax – beginners find it hard to understand them. In fact, they are less error causing  than normal pointers cause you will never Continue reading

Memory Padding and The Art of Memory Packing Part1

Who should read this

This article is about a technique for reducing the memory footprint of C programs -manually repacking C structure declarations for reduced size. To read it, you will require basic knowledge of the C programming language.
You need to know this technique if you intend to write code for memory-constrained embedded systems, or operating-system kernels Continue reading