Go Down

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

astrobeed

... non so, dimmi tu, e solo la questione di un nome, come ritieni più logico ... ::)
Farlo non è certo un problema, basta modificare "atmega328pb.build.variant=standard" in "atmega328pb.build.variant=atmega328pb" dentro boards.txt.
Scientia potentia est

astrobeed

Comunque, a breve, mi riallineo alla versione di Astro.
Tieni presente che la "mia" versione è un mix tra quella di Watterott, che ho usato come base, a cui ho modificato il file pin_arduino.h, che alla fine è quasi identico a quello che avevi fatto tu, e ho aggiunto le librerie per la Wire e la SPI, per quest'ultima ho usato il lavoro di Guglielmo per estrarre la classe SPI1.
Alla fine questa patch è un lavoro di diverse persone :)
Visto che hai già postato sulla sezione internazionale nel topic sul 328PB se gli segnali questa patch magari rimediamo altri beta tester :)
Ho fatto molte prove però non posso essere certo al 100% che è tutto ok.
Scientia potentia est

gpb01

#422
Mar 16, 2016, 04:52 pm Last Edit: Mar 16, 2016, 04:52 pm by gpb01
Farlo non è certo un problema, basta modificare "atmega328pb.build.variant=standard" in "atmega328pb.build.variant=atmega328pb" dentro boards.txt.

Io nella versione OS X l'ho fatto ... per pulizia ... ora dimmi tu se lo lascio così e allinei tu la versione Win o lo cambio io e mettiamo "standard" (... che standard non è :D :D :D). ;)

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

astrobeed

Visto che la questione software ora è sistemata possiamo ricominciare a parlare della scheda Arduino like, con molte feature aggiuntive, con sopra il 328PB.
Scientia potentia est

astrobeed

Io nella versione OS X l'ho fatto ... per pulizia ...
Ok, lo faccio pure io così abbiamo le versioni allineate, almeno per Win e Mac OS, che sono quelli ci interessano sul serio, se poi VB ha voglia di fare prove con Linux ben venga così abbiamo la certezza per tutti i tre S.O., io di sicuro non mi metto a rifare tutte le prove sotto Linux. :)
Scientia potentia est

astrobeed

In allegato la patch modificata con "variants->atmega328pb"

Scientia potentia est

gpb01

#426
Mar 16, 2016, 05:05 pm Last Edit: Mar 16, 2016, 05:05 pm by gpb01
Argh ... sei troppo svelto ...  :smiley-confuse: :smiley-confuse: :smiley-confuse:

... volevo proporti il boards.txt che ho usato io ... come vedi i fuse sono leggermente diversi da quelli di Watterott (Brown-out enabled a 2.7V, Serial Programming enabled, Boot size 512, Boot reset vector enabled, External clock RESET:6 CK/14 CK +65ms) :

Code: [Select]
##############################################################
menu.speed=Speed

atmega328pb.name=Atmel ATmega328PB
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=0xE0
atmega328pb.bootloader.high_fuses=0xDC
atmega328pb.bootloader.extended_fuses=0xF5
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_UNO
atmega328pb.build.core=arduino:arduino
atmega328pb.build.variant=atmega328pb

##############################################################

Che ne pensi ?

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

astrobeed

... volevo proporti il boards.txt che ho usato io ... come vedi i fuse sono leggermente diversi da quelli di Watterott
Se li hai già provati con il loro bootloader per me va bene, purtroppo non hanno messo i sorgenti, sembra essere un optiboot modificato per andare a 57600 bps, invece dei 115200 standard, probabilmente perché pure loro hanno iniziato a fare le prove con la Xplained dove l'mEDBG non funziona correttamente a 115200 bps.
Scientia potentia est

PaoloP

A questo punto meglio fare due configurazioni all'interno di board.txt. Una per l'Xplained e una per la Mini di Watterott. I fuse sono diversi.

gpb01

#429
Mar 16, 2016, 05:53 pm Last Edit: Mar 16, 2016, 05:53 pm by gpb01
Se li hai già provati con il loro bootloader per me va bene, purtroppo non hanno messo i sorgenti, sembra essere un optiboot modificato per andare a 57600 bps, invece dei 115200 standard, probabilmente perché pure loro hanno iniziato a fare le prove con la Xplained dove l'mEDBG non funziona correttamente a 115200 bps.
Si, si, il bootloader è il loro e l'ho installato sulla Xplained ... a 57600 non da alcun problema e quel boards.txt, come vedete, usa appunto i 57600 ;)

@PaoloP: non dovrebbe essere necessario ... la velocità è quella richiesta, il resto ... sono "gusti" personali (es. il BOD attivo a 2.7) ;)

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

astrobeed

Mi sa tanto che è meglio fare così visto che se si carica il bootloader da IDE, tramite un qualunque programmatore ISP, i fuse standard per la UNO, ma pure quelli di Watterott, non vanno bene per via del diverso sistema di clock.
Sulla Xplained il clock arriva dal mEDBG e non c'è il quarzo sul 328PB, ci sono già passato e senza un programmatore che supporta HVPP vuol dire ritrovarsi il micro brickato. :)
Scientia potentia est

PaoloP

#431
Mar 16, 2016, 06:02 pm Last Edit: Mar 16, 2016, 06:05 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.  :)

gpb01

Ho invece un problema su OS X ...
... nella prova che avevo fatto con la 1.6.7 NON avevo messo le cose del 328PB in una cartella a parte, hardware/atmega328PB, ma avevo direttamente toccato i files nella  hardware/arduino e NON ho avuto alcun problema.

Sto ora provando lasciando intatta la hardware/arduino ed utilizzando la hardware/atmega328pb per i files relativi al PB.

Tutto va bene, ma quando arriva a dover lanciare avrdude per caricare il programma ... cerca una path inesistente che inizia con ___REMOVE___/bin/avrdude :o :o :o

Da dove salta fuori quel ___REMOVE___ ? ? ? Non posso credere che vada a cercare in qualche modo la toolchain originale (che ho cancellato) invece di prendere quella nuova ... e poi ... perché solo per avrdude e non pe tutto il resto ? ? ?

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

gpb01

#433
Mar 16, 2016, 06:05 pm Last Edit: Mar 16, 2016, 06:05 pm by gpb01
Bisogna cambiare i fuse.  :)
E per quale motivo ? :o  La scheda di Watterott ha il quarzo a 16MHz ? Se si non c'è nulla da cambiare ... DEVE funzionare ugualmente ...

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

gpb01

... aggiornamento, il problema del ___REMOVE___ deve essere altrove ... sto facendo delle verifiche ...

Guglielmo


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

Go Up