Jawaban:
Booting dari Memori Sistem memanggil bootloader on-chip, yang ada di dalam chip langsung dari pabrik, sebelum Anda memprogram apa pun ke dalam flash on-chip. Ini memungkinkan Anda memuat kode (program) ke perangkat dari antarmuka eksternal seperti UART atau USB. Ini dijelaskan secara rinci dalam manual.
Memori flash utama adalah tempat kode Anda biasanya digunakan. Dalam operasi normal, kode Anda akan berada dalam flash, dan pada Power On Reset (POR), CPU akan mengambil vektor reset dan penumpukan stack awal (SP) dari flash. Anda dapat memuat flash melalui JTAG, bootloader on-chip (di atas), dll.
Terakhir, Anda dapat memuat kode ke dalam RAM (JTAG, runtime) dan kemudian boot / jalankan dari sana. Ini tidak sering digunakan, biasanya Anda melakukan sesuatu yang rumit seperti bootloader sementara atau sejenisnya.