Sistem Başlatma (Boot) Mekanizması
İşlemci sıfırlama (reset) durumundan çıktığında, ilk komutlarını alacağı ve donanımı başlatacağı mekanizma aşağıdaki gibi tasarlanmıştır.
1. Boot ROM ve Başlangıç Adresi
Sistemin başlangıç adresi şartname gereği 0x0000_0000 olarak sabitlenmiştir. İşlemci ayağa kalktığı anda doğrudan bu adresteki veriyi okumaya başlar.
Bu adreste, kodun çalıştırılması için donanımsal olarak yerleştirilmiş 1 kB boyutunda bir Boot ROM bulunur.
2. Bootloader ve QSPI Flash Bağlantısı
1 kB'lık Boot ROM içerisine küçük bir bootloader programı gömülmüştür. İşlemci bu kodu çalıştırdığında;
- Sistemdeki QSPI Master arayüzü konfigüre edilir.
- Dışarıdaki (harici) QSPI Flash belleğe erişim sağlanır.
- Çekirdek, asıl çalıştırılacak kodu QSPI Flash üzerinden çekerek SRAM'e (IMEM bölgesine) yükler veya duruma göre doğrudan oradan çalıştırmaya başlar.
3. Donanım Durumu
Sistem başlatılırken CPU dışındaki master birimler (örneğin UART-Stream veya NPU) pasif durumda bekler. Tüm bellek alanlarına ve çevre birimlerine erişim işlemci tarafından, QSPI üzerindeki kod çalıştırıldıkça aktif edilir. Boot süreci bitip main() fonksiyonuna geçildiğinde çevre birimleri yazılımsal olarak kullanılabilir hale gelir.