Self Programming Mode (AVR SPM)
REAL EXAMPLE OF BOOT PROCESS:
https://microchipdeveloper.com/32mpu:boot-sama5d2-series#toc4
https://www.electronicwings.com/arduino/basics-to-developing-bootloader-for-arduino
https://interrupt.memfault.com/blog/how-to-write-a-bootloader-from-scratch
https://www.codeproject.com/Articles/376725/Writing-A-Bootloader