Elektroda.pl
Elektroda.pl
X
BotlandBotland
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Bootloader arduino dla atmega 328p i 1284p

vobo 29 Paź 2014 12:52 1425 0
  • #1
    vobo
    Poziom 10  
    Witam wszystkich,
    Wykonałem prototyp arduino na bazie kilku sztuk mikrokontrolera atmega 328p,
    użyłem następujących komend avrdude do wgrania bootloadera optiboot (mam programator usbasp):
    Code:
    avrdude -b 19200 -c usbasp -p m328p -v -e -U efuse:w:0x05:m -U hfuse:w:0xD6:m -U lfuse:w:0xFF:m
    
    avrdude -b 19200 -c usbasp -p m328p -v -e -U flash:w:optiboot_atmega328.hex -U lock:w:0x0F:m

    mam też dwie sztuki atmega 1284p i chciałbym ich użyć, jakich parametrów muszę użyć, aby wgrać w nie bootloader?
    zmodyfikowałem powyższe komendy na bazie załączonego na stroniehttp://maniacbug.wordpress.com/2011/11/27/arduino-on-atmega1284p-4/
    projektu, a konkretnie na bazie załączonego pliku boards.txt
    Code:
    mighty_opt.name=Mighty 1284p 16MHz using Optiboot
    
    mighty_opt.upload.protocol=arduino
    mighty_opt.upload.maximum_size=130048
    mighty_opt.upload.speed=115200
    mighty_opt.bootloader.low_fuses=0xff
    mighty_opt.bootloader.high_fuses=0xde
    mighty_opt.bootloader.extended_fuses=0xfd
    mighty_opt.bootloader.path=optiboot
    mighty_opt.bootloader.file=optiboot_atmega1284p.hex
    mighty_opt.bootloader.unlock_bits=0x3F
    mighty_opt.bootloader.lock_bits=0x0F
    mighty_opt.build.mcu=atmega1284p
    mighty_opt.build.f_cpu=16000000L
    #mighty_opt.build.core=arduino:arduino
    mighty_opt.build.core=standard
    mighty_opt.build.variant=standard

    czy dobrze myślę?:
    Code:
    avrdude -b 115200 -c usbasp -p m1284p -v -e -U efuse:w:0xfd:m -U hfuse:w:0xde:m -U lfuse:w:0xff:m
    
    avrdude -b 115200 -c usbasp -p m1284p -v -e -U flash:w:optiboot_atmega1284p-4-5.hex -U lock:w:0x0F:m

    Zapytam tak na wszelki wypadek, jakimi parametrami komendy avrdude mogę przywrócić obie atmegi (328p i 1284p) do stanu "fabrycznego" (gdybym chciał programować w czystym C)?

    Korzystam z bootloadera optiboot, w przypadku atmegi 328p jest to wersja 5.0a, a w przypadku 1284p wersja 4.5. Czy ktoś próbował bootloadera na bazie optiboot 6.2 dla urządzeń o niskim poborze energii elektrycznej?:
    http://hallard.me/bp-ulpnode
    Chciałbym zrobić komunikację z czujnikami temperatury i wilgotności, mógłbym zrobić to bezprzewodowo na transceiverach RFM12B lub NRF24L01 a nie byłbym uwiązany do gniazdka elektrycznego i zasilacza.
    (mam co prawda doprowadzoną skrętkę do większości miejsc z myślą o zczytywaniu temperatury, ale 4 punktu są bez kabli z czego 2 na zewnątrz)

    Z góry dziękuję za wszystkie odpowiedzi.
  • BotlandBotland