Witajcie, dziś postaram się wam przedstawić prostą i szybką metodę na wypalenie bootloadrea, oraz zaprogramowanie mikro-kontrolera atmega328-pu. Jak wiadomo, mikroprocesory bez wgranego bootloadrea są droższe, nie warto jednak w nie inwestować, skoro można przeprowadzić taką operację samemu. Mimo tego, że internet jest pełen porad na ten temat, mi osobiście było bardzo ciężko znaleźć tą właściwą. Dlatego własnie postanowiłem opisać swoją tutaj.
Po pierwsze- przygotowanie
Najpierw musimy ściągnąć bootloader do Atmegi:
Bootloader do Atmega 328-PUNastępnie rozpakowujemy go do do /hardware/arduino/bootloaders/atmega/. Póżniej na końcu pliku /hardware/arduino/boards.txt dodajemy następujący wpis:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
################################################################# atmega8a.name=ATmega8a @ 8 MHz atmega8a.upload.maximum_size=7168 atmega8a.upload.using=arduino:arduinoisp atmega8a.bootloader.low_fuses=0xe4 atmega8a.bootloader.high_fuses=0xc4 atmega8a.bootloader.path=atmega atmega8a.bootloader.file=ATmegaBOOT_8.hex atmega8a.bootloader.unlock_bits=0x3F atmega8a.build.mcu=atmega8 atmega8a.build.f_cpu=8000000L atmega8a.build.core=arduino atmega8a.build.variant=standard ################################################################# atmega328p8.name=ATmega328P @ 8 MHz atmega328p8.upload.maximum_size=30720 atmega328p8.upload.using=arduino:arduinoisp atmega328p8.bootloader.low_fuses=0xE2 atmega328p8.bootloader.high_fuses=0xDA atmega328p8.bootloader.extended_fuses=0x05 atmega328p8.bootloader.path=atmega atmega328p8.bootloader.file=ATmegaBOOT_328.hex atmega328p8.bootloader.unlock_bits=0x3F atmega328p8.bootloader.lock_bits=0x0F atmega328p8.build.mcu=atmega328p atmega328p8.build.f_cpu=8000000L atmega328p8.build.core=arduino atmega328p8.build.variant=standard ################################################################# atmega328p16.name=ATmega328P @ 16 MHz atmega328p16.upload.maximum_size=30720 atmega328p16.upload.using=arduino:arduinoisp atmega328p16.bootloader.low_fuses=0xE2 atmega328p16.bootloader.high_fuses=0xDA atmega328p16.bootloader.extended_fuses=0x05 atmega328p16.bootloader.path=atmega atmega328p16.bootloader.file=ATmegaBOOT_328.hex atmega328p16.bootloader.unlock_bits=0x3F atmega328p16.bootloader.lock_bits=0x0F atmega328p16.build.mcu=atmega328p atmega328p16.build.f_cpu=16000000L atmega328p16.build.core=arduino atmega328p16.build.variant=standard |
Po drugie – podłączanie
Podłączamy Amtegę wg. schematu:
Następnie wchodzimy do programu obsługującego Arduino i kopiujemy na niego program, który zmieni go w programator ISP. W tym celu wybieramy: Plik -> Przykłady -> Arduino as ISP i ładujemy program na urządzenie. Następnie wchodzimy w Narzędzia ->Płytka i wybieramy naszą wersję Atmegi, po czym Narzedzia -> Programator i wybieramy Arduino as ISP. Na końcu wchodzimy znów w Narzędzia-> Wypal Bootloader. Wypalanie zajmie chwilkę. Natomiast gdy już się zakończy, możemy spokojnie w miejsce kodu wybranego z przykładów, wkleić to co chcemy zaprogramować, i przesłać na mikro-kontroler.Trzeba pamiętać o tym,że bootloader wypala się tylko raz, później tej czynności nie trzeba już powtarzać.