Go Down

Topic: ATmega328PB (Read 103214 times) previous topic - next topic

astrobeed

E per quale motivo ? :o  La scheda di Watterott ha il quarzo a 16MHz ? Se si non c'è nulla da cambiare ... DEVE funzionare ugualmente ...
Purtroppo non è così, quando ho provato a caricare il bootloader di Watterott, con i loro fuse, sulla Xplained, tramite IDE e AVRISP MKII, il micro è rimasto senza clock ed è cominciata l'odissea per collegare tutti i 20 cavi richiesti per la HVPP per ripristinare i fuse.

Scientia potentia est

astrobeed

... aggiornamento, il problema del ___REMOVE___ deve essere altrove ... sto facendo delle verifiche ...
Facci sapere perché è la prima volta che vedo un simile errore.
Scientia potentia est

PaoloP

Mi correggo.
Bisogna controllare i fuse.  :)

gpb01

#438
Mar 16, 2016, 06:22 pm Last Edit: Mar 16, 2016, 06:23 pm by gpb01
Purtroppo non è così, quando ho provato a caricare il bootloader di Watterott, con i loro fuse, sulla Xplained ...
Frena ... io mi sono ben guardato da usare il LORO fuse ... conosco i miei polli, NON mi fido mai e i fuse me li calcolo io :D :D :D

Per cui quelli della mia boards.txt sono i MIEI non quelli di Watterott e funzionano perfettamente con la Xplained ;)

Guglielmo

P.S.: E non vedo motivo perché non debbano funzionare con la loro board, purché abbia il quarzo ;)
Search is Your friend ... or I am Your enemy !

PaoloP

#439
Mar 16, 2016, 06:25 pm Last Edit: Mar 16, 2016, 06:27 pm by PaoloP
Non posso credere che vada a cercare in qualche modo la toolchain originale (che ho cancellato) invece di prendere quella nuova
Si, va a cercare la toolchain originale perché i percorsi sono quelli della originale.
Io li ho modificati così nel mio platform.txt
Code: [Select]
compiler.path={runtime.hardware.path}/avr/tools/avr8-gnu-toolchain/bin/
tools.avrdude.path={runtime.hardware.path}/avr/tools/avr8-gnu-toolchain/


Nota che io ho messo la toolchain nella stessa cartella di platform.txt.

astrobeed

Invece il problema c'è, infatti nella Xplained i fuse del clock sono settati per "EXTCLK_6CK_14CK_65MS", che è una configurazione specifica per il clock esterno e non è compatibile con il quarzo, idem il contrario.

Dal data sheet del 328P/328PB.

Code: [Select]
To drive the device from an external clock source, EXTCLK should be driven as shown in the Figure
below. To run the device on an external clock, the CKSEL Fuses must be programmed to '0000':


Scientia potentia est

gpb01

No, no, era qualche altra cosa che dovevo aver incasinato nelle prove ...
... ora sono riuscito a creare una cartella come quella di astro che ho provato su più macchine e che NON da alcun problema :)

C'è però un particolare con la toolchain ...
... contrariamente a quella per Win (... almeno credo), su quella per OS X tocca mettere le mani copiando alcuni files da una cartella all'altra.

Per evitare problemi ho creato uno zip che contiene già tutto quello che occorre bello che pronto ...

1. tasto destro su Arduino.app
2. selezionare la cartella Contents, Java, hardware
3. cancellare la cartella tools che si trova dentro hardware
4. copiare le due cartelle che sono nello zip (atmega328pb e tools) dento la hardware

... finito ;)

Solo che lo zip, causa toolchain, è di ... 44MB e non la posso allegare ...
... la metto su DropBox e metto il link pubblico da dove scaricarla ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

PaoloP

Alla fine la via più pratica è creare una distribuzione con file JSON.

gpb01

#443
Mar 16, 2016, 06:55 pm Last Edit: Mar 16, 2016, 06:56 pm by gpb01
Invece il problema c'è, infatti nella Xplained i fuse del clock sono settati per "EXTCLK_6CK_14CK_65MS"
Arggghhh ... hai ragione ... m'era sfuggita la cosa ...  :smiley-confuse:

... a questo punto mettiamo TRE configurazioni nel boards.txt:

1. Con quarzo, 16MHz
2. Con external clock
3. con internal clock a 8Mhz

... così abbiamo coperto una bella gamma di possibilità, poi, se uno vuole, aggiunge le altre. Che dici ?

Guglielmo
Search is Your friend ... or I am Your enemy !

astrobeed

Arggghhh ... hai ragione ... m'era sfuggita la cosa ...  :smiley-confuse:
Io l'ho scoperta nel peggiore dei modi, 328PB brickato :)
Un paio di info aggiuntive nel caso succede, per poter usare la programmazione HVPP è necessario rimuovere la resistenza da 0 ohm R101, collega le linea di reset del 328PB con un pin del 32u4, onde evitare di friggere il 32u4 con i 12V applicati al reset.
Il clock generato dal programmatore HVPP, nel mio caso un AVR Dragon, va applicato al vias marcato EXT_CLK, si trova di fianco al led del mEDBG.

Quote
... a questo punto mettiamo TRE configurazioni nel boards.txt:
Concordo.

Scientia potentia est

PaoloP

#445
Mar 16, 2016, 07:11 pm Last Edit: Mar 16, 2016, 07:13 pm by PaoloP
Code: [Select]
menu.speed=Speed

##############################################
watt328pb.name=Watterott Pro Mini PB

watt328pb.bootloader.tool=avrdude
watt328pb.bootloader.low_fuses=0xFF
watt328pb.bootloader.high_fuses=0xD6
watt328pb.bootloader.extended_fuses=0xFD
watt328pb.bootloader.file=optiboot_m328pb.hex
watt328pb.bootloader.unlock_bits=0x3F
watt328pb.bootloader.lock_bits=0xCF

watt328pb.upload.tool=avrdude
watt328pb.upload.protocol=arduino
watt328pb.upload.maximum_size=32256
watt328pb.upload.maximum_data_size=2048
watt328pb.upload.speed=57600

watt328pb.build.mcu=atmega328pb
watt328pb.build.f_cpu=16000000L
watt328pb.build.board=AVR_PRO_MINI
watt328pb.build.core=arduino:arduino
watt328pb.build.variant=atmega328pb

##############################################
Xplained328pb.name=ATmel Xplained328PB mini

Xplained328pb.menu.speed.16mhz=16 MHz
Xplained328pb.menu.speed.16mhz.build.f_cpu=16000000L
Xplained328pb.menu.speed.8mhz=8 MHz
Xplained328pb.menu.speed.8mhz.build.f_cpu=8000000L

Xplained328pb.bootloader.tool=avrdude
Xplained328pb.bootloader.low_fuses=0xFF
Xplained328pb.bootloader.high_fuses=0xD6
Xplained328pb.bootloader.extended_fuses=0xFD
Xplained328pb.bootloader.file=optiboot_m328pb.hex
Xplained328pb.bootloader.unlock_bits=0x3F
Xplained328pb.bootloader.lock_bits=0xCF

Xplained328pb.upload.tool=avrdude
Xplained328pb.upload.protocol=arduino
Xplained328pb.upload.maximum_size=32256
Xplained328pb.upload.maximum_data_size=2048
Xplained328pb.upload.speed=57600

Xplained328pb.build.mcu=atmega328pb
Xplained328pb.build.board=AVR_XPLAINED
Xplained328pb.build.core=arduino:arduino
Xplained328pb.build.variant=atmega328pb

##############################################
atmega328pb.name=ATmega328PB standalone

atmega328pb.menu.speed.16mhz=16 MHz
atmega328pb.menu.speed.16mhz.build.f_cpu=16000000L
atmega328pb.menu.speed.8mhz=8 MHz
atmega328pb.menu.speed.8mhz.build.f_cpu=8000000L
atmega328pb.menu.speed.4mhz=4 MHz
atmega328pb.menu.speed.4mhz.build.f_cpu=4000000L
atmega328pb.menu.speed.1mhz=1 MHz
atmega328pb.menu.speed.1mhz.build.f_cpu=1000000L
atmega328pb.menu.speed.20mhz=20 MHz
atmega328pb.menu.speed.20mhz.build.f_cpu=20000000L

atmega328pb.bootloader.tool=avrdude
atmega328pb.bootloader.low_fuses=0xFF
atmega328pb.bootloader.high_fuses=0xD6
atmega328pb.bootloader.extended_fuses=0xFD
atmega328pb.bootloader.file=optiboot_m328pb.hex
atmega328pb.bootloader.unlock_bits=0x3F
atmega328pb.bootloader.lock_bits=0xCF

atmega328pb.upload.tool=avrdude
atmega328pb.upload.protocol=arduino
atmega328pb.upload.maximum_size=32256
atmega328pb.upload.maximum_data_size=2048
atmega328pb.upload.speed=57600

atmega328pb.build.mcu=atmega328pb
atmega328pb.build.board=AVR_STANDALONE
atmega328pb.build.core=arduino:arduino
atmega328pb.build.variant=atmega328pb


Bisogna cambiare i fuse.  :)
Tre configurazioni.  :smiley-mr-green:
Bisogna lavorare sulla terza per settare diversi fuse per i clock interni o esterni.

astrobeed

Tre configurazioni.  :smiley-mr-green:
Ottimo, adesso ti tocca provare tutti i fuse sulle tue schede. :D

Scientia potentia est

gpb01

Io l'ho scoperta nel peggiore dei modi, 328PB brickato :)


Concordo.
... ok, allora dopo lo preparo e più tardi lo metto qui, così lo includi nel tuo zip ;)

Guglielmo

@PaoloP: Lo standalone senza quarzo lo mettiamo a 8MHz fissi (è da fuse) ... e non si può scegliere da menu la velocità.
Search is Your friend ... or I am Your enemy !

PaoloP

#448
Mar 16, 2016, 07:17 pm Last Edit: Mar 16, 2016, 07:19 pm by PaoloP
Perchè fisso?
Oltre alla velocità puoi cambiare tutti i parametri che vuoi quando scegli una configurazione.

Ad esempio --> https://github.com/SpenceKonde/ATTinyCore/blob/master/avr/boards.txt
Cambiando velocità cambiano anche i fuse.

gpb01

#449
Mar 16, 2016, 07:21 pm Last Edit: Mar 16, 2016, 07:21 pm by gpb01
Ad esempio --> https://github.com/SpenceKonde/ATTinyCore/blob/master/avr/boards.txt
Cambiando velocità cambiano anche i fuse.
Ah, be, se ti vuoi mettere tu a scrivere tutte le varie combinazioni velocità/fuse per l'internal clock fai pure ...
... per me è sufficiente la 8MHz che è la più usata  :smiley-twist:

Guglielmo
Search is Your friend ... or I am Your enemy !

Go Up