I'm currently attending a basic course inon real-time embedded systems. Recently, we have been talking about embedded systems memory architecture. When doing some extra studying on memory maps, I came across the memory map for the Atmega328P-microcontrollerATmega328P microcontroller. As can be seen from the image, the flash is divided into a boot section and an application section.
My question is, whyWhy is the boot section not starting from address 0? As I've understood it, the microcontroller application won't run without a bootloader. So why doesn't the bootloader occupy the lower addresses if everything else relies on it?