Koleżankom i Kolegom Radioamatorom, Krótkofalowcom,
Konstruktorom i Waszym Rodzinom – w tych trudnych czasach –
Zdrowych, Spokojnych i Pogodnych Świąt Bożego Narodzenia oraz
Szczęśliwego Nowego Roku

Życzy Zespół Home Made


Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Programowanie Atmega328AU
SP9RQA Online
Krzysztof
****

Liczba postów: 380
Dołączył: 30-09-2009
Post: #11
RE: Programowanie Atmega328AU
hex != bin

W pliku hex masz m.in sumy kontrolne i adresy, dlatego też plik HEX zawsze jest większy od pliku czysto binarnego i nie ma to nic wspólnego z fusebitami.
(Ten post był ostatnio modyfikowany: 13-03-2017 22:41 przez SP9RQA.)
13-03-2017 20:38
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #12
RE: Programowanie Atmega328AU
(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.

73 Paweł
(Ten post był ostatnio modyfikowany: 13-03-2017 21:09 przez SQ8MVY.)
13-03-2017 21:08
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości