(13-03-2017 20:19)TOMEKT napisał(a): Zastanawia mnie: Pamięć flash Atmega328 to 32kB, wsad który został wgrany to 80kB, domyślam się że te przestawione fusbity to dodatkowy obszar pamięci.?
Absolutnie nie jest to dodatkowy obszar pamięci. Atmega328 ma 32KB FLASH-a i tyle. Natomiast plik z firmwarem, który wgrywałeś,jest w postaci IntelHEX.
Format IntelHEX jest to plik tekstowy, w którym są zapisane wartości komórek pamięci w postaci tekstu. Oczywiście są jeszcze w nim zawarte dodatkowe informacje takie jak suma kontrolna danej linii tekstu, adres pamięci pod którym mają być umieszczone dane itd.....
AvrDude taki plik "przerabia" z tekstu na wartości binarne i ładuje do procka. Dlatego też ,takie pliki mają duży rozmiar. Poczytaj o strukturze formatu IntelHex, a wszystko Ci się rozjaśni.
FuseBit-y w AVR w zależności od modelu, służą do ustawiania zabezpieczeń przed odczytem, ustawiania źródła taktowania, rezerwacji obszaru dla bootloadera, itd..... reszta do doczytania w internecie lub dokumentacji producenta....
Nieumiejętne posługiwanie się FuseBitami doprowadzić może do "zablokowania" procka, co nie znaczy, że wówczas nadaje się tylko do wyrzucenia. Bardzo częstym błędem jest ustawienie zewnętrznego źródła taktowania z generatora, a nie rezonatora kwarcowego. Tak ustawione fusebity powodują, że procek nie pracuje i nie jest rozpoznawany przez programator. W takim przypadku wystarczy podpiąć sygnał taktujący z generatora zamiast kwarcu.
Jak przez przypadek fusebitami wyłączy się interfejs ISP pozostaje programator równoległy.
W najmniejszych AVR-ach, gdzie można zamienić funkcję nóżki RESET na pin portu, pozostaje adapter, który ostatnio wypuściła firma Atnel.
To są niektóre z wielu przypadłości błędnego ustawiania fusebitów.