Andrzeju fusebity to tylko fisebity konfigurujące niektóre właściwości Atmegi.
Co do zajętości pamięci. Założeniem całego środowiska jest praca z bootloaderem, więc automatycznie do dyspozycji dla użytkownika jest mniejsza ilość dostępnego FLASH-a.
Ten bootloader gdzieś musi się zmieścić.
To ile dostępnego FLASH-a jest w Atmedze na danej platformie arduino dla użytkownika, zapisane jest w plikach konfiguracyjnych płytek w środowisku Arduino IDE. Zwróćcie uwagę, że używana Atmega328 posiada 32768 bajtów FLASH, a dokładniej 16384 słów. Tą informację widać na prezentowanych zrzutach ekranów MkAVRCalculator.
Natomiast w informacji po kompilacji w ArduinoIDE widać, że dostępna ilość pamięci FLASH dla użytkownika to 30728 bajtów. Reszta zarezerwowana jest na bootloader Arduinowy.
(18-03-2021 9:08)SP6AUO napisał(a): [ -> ]Dlaczego zawartość z bootloaderem jest mniejsza (97%) od standardu (100%) ?
Tu potrzebne są logi z kompilacji, aby zrozumieć co się dzieje.
Zapewne kompilacja z bootloaderem robiona jest dla wielkości FLASH-a 32768 bajtów, więc skoro główny program po kompilacji nie zajmuje całej dostęþnej przestrzeni FLASH-a dla użytkownika ( 30728 bajtów) to masz 97% zajętości, a nie 100%. Bootloader ładowany jest na sam koniec Flash-a do sekcji przeznaczonej dla bootloadera.
Zauważ, że kod wynikowy bez bootloadera też nie zajmuje całego dostęþnego FLASH-a dla użytkownika - 30728 bajtów.
(18-03-2021 9:08)SP6AUO napisał(a): [ -> ]Tak.To wiem,tylko dlaczego plik z bootloaderem da się zapisać,a bez bootloadera nie ?
W jaki sposób zapisujesz ten plik z bootloaderem ? Z poziomu ArduinoIDE przez bootloader, czy z poziomu MkAVRCalcilator-a i usbasp ?
Jeżeli z poziomu ArduinoIDE, to chcesz zrobić rzecz niemożliwą do zrobienia - nadpisać działający bootloader nowym bootloaderem.
Ale aby dojść do wyjaśnienia problemu potrzebne są logi, bo to podstawowa baza informacji co idzie nie tak.