Go Down

Topic: sulla programmazione dei chip (tipo topic di menniti) (Read 11599 times) previous topic - next topic

Quote

visto la complessita del topic di menniti (vedi. Topic di programmazione newbie) non mi andava di leggere tutto per trovare quello che io cerco.  :smiley-mr-green:

allora questo topic lo volevo incentrare piu sulla programmazione dei chip, su come usare a pieno il programma avrdude, come funzionano i lock e unlockbits, e come funzionano gli high-low-extended fuses.


io ho tra le mani diversi tipi di chip (tiny85, tiny2313,mega328p,mega8). vorrei conoscere a fondo la parte che di solito non rientra nella programmazione da ide ma la programmazione di fondo dei registri ecc.

innanzitutto voglio apprendere a fondo come usare l'avr fuse calculator (impostazioni manuali).poi via via imparando meglio altre cose.
voglio sapere in particolare ogni bit a cosa corrisponde.
Grazie, Igor  :smiley-sweat:

Michele Menniti

Igor, senza stare a disperarti, procura i numeri di Giugno e Luglio/Agosto di Elettronica In, nei miei due articoli c'è tutto ciò che ti serve sapere su: fuse e lock bits, signature, uso di Fuse Calc, qualche cenno di AVRDUDE.
Riguardo i fuse e lock ho realizzato della tebelle bellissime che sono poi supporttate da spiegazioni teoriche sull'articolo, davvero non saprei come meglio aiutarti ;)
Il Topic a cui ti riferisci lo aprii in quanto mi serviva una mano per comprendere certi meccanismi, anche a leggerlo tutto sfuggiranno molte cose che ho studiato e compreso da me e per le quali non ho ovviamente aperto post.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html


Igor, senza stare a disperarti, procura i numeri di Giugno e Luglio/Agosto di Elettronica In, nei miei due articoli c'è tutto ciò che ti serve sapere su: fuse e lock bits, signature, uso di Fuse Calc, qualche cenno di AVRDUDE.
Riguardo i fuse e lock ho realizzato della tebelle bellissime che sono poi supporttate da spiegazioni teoriche sull'articolo, davvero non saprei come meglio aiutarti ;)
Il Topic a cui ti riferisci lo aprii in quanto mi serviva una mano per comprendere certi meccanismi, anche a leggerlo tutto sfuggiranno molte cose che ho studiato e compreso da me e per le quali non ho ovviamente aperto post.

capisco, solo che dalle mie parti non si vendono questi numeri di elettronica in. li compro online domani penso..

al volo: devo impostare a 20mhz un mega8 (cristallo esterno)
qualsi CKSEL devo ailitare?

Michele Menniti

a mia memoria il mega8 non lavora oltre i 12MHz, sei sicuro o devo controllare?
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html


a mia memoria il mega8 non lavora oltre i 12MHz, sei sicuro o devo controllare?


ooops hai ragione in pieno, metto il 16..
quali clock imposto?

Michele Menniti



a mia memoria il mega8 non lavora oltre i 12MHz, sei sicuro o devo controllare?


ooops hai ragione in pieno, metto il 16..
quali clock imposto?

ma mi prendi per il c? :smiley-eek-blue:
Mi sembra la storia del barista del mio paese: Nicò, fammi un gelato! -Come lo vuoi?- Quello che c'è purché non sia banana o fragola - Allora te lo faccio nocciola e banana - No Nicò, la banana te la mangi tu - Allora te lo faccio limone e fragola ]:D Nicò, dammi un cornetto al cacao!
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html




a mia memoria il mega8 non lavora oltre i 12MHz, sei sicuro o devo controllare?


ooops hai ragione in pieno, metto il 16..
quali clock imposto?

ma mi prendi per il c? :smiley-eek-blue:
Mi sembra la storia del barista del mio paese: Nicò, fammi un gelato! -Come lo vuoi?- Quello che c'è purché non sia banana o fragola - Allora te lo faccio nocciola e banana - No Nicò, la banana te la mangi tu - Allora te lo faccio limone e fragola ]:D Nicò, dammi un cornetto al cacao!

aeeem non direi, dipende da cosa ti riferisci:
la frequenza massima dell'8 è 16mhz a quanto lego.

su"quali clock imposto" intendo i CKSEL del calcolatore avr dicevo..
forse ho trovato: va bene low E0 e high D9?
:smiley-mr-green:

Michele Menniti

come dicevo ricordavo che fossero 12MHz, mi hai dato ragione e poi mi hai detto monto il 16 :smiley-eek-blue:
i fuse che hai indicato vanno bene, sempre se non devi mettere bootloader ma direttamente lo sketch.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html


come dicevo ricordavo che fossero 12MHz, mi hai dato ragione e poi mi hai detto monto il 16 :smiley-eek-blue:
i fuse che hai indicato vanno bene, sempre se non devi mettere bootloader ma direttamente lo sketch.

si uso per solo sketch....

ma riguardo la frequenza quel mio ooops si riferiva al fatto che a 20mhz non arriva il chip.
io qui nel datasheet leggo:
Speed Grades
- 0 - 8MHz (ATmega8L)
- 0 - 16MHz (ATmega8) /nel mio caso

o sono bacato che non capisco i ds o non lo so ma di 12mhz non ne vedo nemmeno l'ombra  :smiley-sweat:

Michele Menniti

Allora il mega 8 esiste in tre versioni:
8L
8
8A

la versione L non supera 8MHZ, le altre due arrivano a 16MHz, ma l'8 deve essere alimentato tr 4.5V e 5.5V, mentre l'8A può scendere fino a 2.7V.

quelle indicate sono le frequenze massime, poi tu puoi settarlo a frequenze intermedie, in base al quarzo che usi o alle impostazioni che dai all'oscilatore interno ed al divisore x8.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html


Allora il mega 8 esiste in tre versioni:
8L
8
8A

la versione L non supera 8MHZ, le altre due arrivano a 16MHz, ma l'8 deve essere alimentato tr 4.5V e 5.5V, mentre l'8A può scendere fino a 2.7V.

quelle indicate sono le frequenze massime, poi tu puoi settarlo a frequenze intermedie, in base al quarzo che usi o alle impostazioni che dai all'oscilatore interno ed al divisore x8.


aaaaaaa ora capisco perchè mi dicevi se ti avevo preso per il lato b...
io ti avevo fatto capire che il chip va max a 12 ma montavo poi un 16mhz ahahahaahah scusami  :smiley-mr-green:

cmq io ho il mega8....mi sembra di capire che sia E0 cche E5 sono uguali ma mi sembra di capire anche che quelli indicano solo che c'è un quarzo esterno..la frequenza poi si indica qua'?: atmega8_new.build.f_cpu=16000000L

Michele Menniti

per carità non mi parlare di lato b :smiley-mr-green: :smiley-mr-green: :smiley-mr-green: che ancora ho in mente l'altra storia :smiley-sweat:

No, E5 parla di oscillatore esterno fino (-) a 0.9MHz, va bene E0, la riga della frequenza è quella e lasci quel valore.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html


per carità non mi parlare di lato b :smiley-mr-green: :smiley-mr-green: :smiley-mr-green: che ancora ho in mente l'altra storia :smiley-sweat:

ahahah gia dimenticavo :P

in quella riga basta sostituire il 16 con un valore di clock? (per un altro chip)

Michele Menniti



per carità non mi parlare di lato b :smiley-mr-green: :smiley-mr-green: :smiley-mr-green: che ancora ho in mente l'altra storia :smiley-sweat:

ahahah gia dimenticavo :P

in quella riga basta sostituire il 16 con un valore di clock? (per un altro chip)

si, le diffrenze tra le board, riguardo il clok, stanno appunto nei fuse ed in quella riga, se usi i fuse per 8MHz, in quella riga devi scrivere _cpu=8000000L
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html




per carità non mi parlare di lato b :smiley-mr-green: :smiley-mr-green: :smiley-mr-green: che ancora ho in mente l'altra storia :smiley-sweat:

ahahah gia dimenticavo :P

in quella riga basta sostituire il 16 con un valore di clock? (per un altro chip)

si, le diffrenze tra le board, riguardo il clok, stanno appunto nei fuse ed in quella riga, se usi i fuse per 8MHz, in quella riga devi scrivere _cpu=8000000L

benissimo, allora appena mi procuro le riviste studierò :D
Grazie comunque x l'aiuto e..scusa il fraintendimento

Go Up