- ustawienia mikrokontrolerów tego typu zostały rozdzielone i pogrupowane w kilka grup. Oto kolejna z nich - Fuse8. To są fuse czysto adresowe, bez „logiki bitowej” znanej ze starszych mikrokontrolerów. 8-bitowe pole zawierające adres końca sekcji rozruchowej. Wartość domyślna podana w opisie bezpiecznika jest wartością zaprogramowaną fabrycznie i nie należy jej mylić z wartością resetowania. Wartość Fuse8 jest powiązana z Fuse7.
- adres końca sekcji rozruchowej. Określa, do którego adresu w pamięci Flash kończy się bootloader.
- Koniec sekcji rozruchowej. MCU czyta Fuse8 i wie, które adresy Flash należą do bootloadera, których nie wolno nadpisać przy programowaniu aplikacji Szczegóły bitów:
BOOTEND[7:0] (bity 7-0) - Koniec sekcji rozruchowej. To pole bitowe określa adres końca obszaru bootloadera w pamięci Flash. Wartość 0x00 definiuje całą pamięć Flash jako sekcję BOOT. Gdy zarówno FUSE.APPEND, jak i FUSE.BOOTEND mają wartość 0x00, cała pamięć Flash stanowi sekcję BOOT.
Układ pamięci flash (uproszczenie):
0x0000 ──► Bootloader
BOOTEND ──┘
Aplikacja użytkownika
APPEND ─┘
✔️
Najczęstsze konfiguracje:
🔹 Fabryczna (bezpieczna): Fuse8 = 0x0. Bootloader nie istnieje, cała pamięć Flash przeznaczona na aplikację. ✔ Ustawienie domyślne.
📌 Czyli: cała Flash = aplikacja, brak bootloadera. Programowanie zawsze zaczyna się od 0x0000. Jeśli nie używasz bootloadera, nie zmieniaj tych fusów.
📌 Fuse7 i Fuse8 nie konfigurują funkcji. One wyznaczają granice obszarów pamięci Flash. MCU używa ich wewnętrznie.
Fuse8 – BOOTEND koniec bootloadera
Fuse7 – APPEND koniec aplikacji
Jeśli: APPEND = 0x00, BOOTEND = 0x00 → brak podziału Flash, cała pamięć Flash stanowi sekcję BOOT.