ATmega128 programos užkrovimas naudojant windows hyper terminal

Neseniai išbandžiau “bootloaderį” ant Atmega128 mikrovaldiklio. Atrodytų nieko ypatingo, tačiau tai padariau su standartine Windows programa – Hyper Terminal. Hyper Terminal yra universali komunikavimo programa kurios pagalba galima jungtis prie telnet, įvairių modemų, kito kompiuterio null modemo pagalba ir t.t. Taigi ši programa turi galimybę jungtis prie kompiuterio COM porto.

Pirmiausia reikia Atmega128 bootloaderio kuris palaikytų kurį nors HyperTerminal komunikavimo protokolą (mano atveju Xmodem). Bootloaderio rašyti nereikia – jį parsisiunčiam iš čia http://piconomic.co.za arba tiesiogiai bootloader byla.

Pirmiausia įrašom bootloaderį į Atmega128 naudojantis vienu iš programatorių-dažniausiai ISP. Kaip mikrovaldiklis upžrogramuotas, belieka sutvarkyti fuse bitus kad po reset mikrovaldiklis pradėtų vykdyti nuo bootloader pozicijos. Taigi mano nustatymai (naudojamas išorinis kvarcas):

boot_fuses.JPG

Kai bootloader’is paruoštas galima bandyti užprogramuoti Atmega128 jo pagalba. Prijungiama savo plokštę prie kompiuterio COM (mano atveju COM2) porto ir tada Iš Start->All Programs->Accessories->Communication->HyperTerminal. Pasirenkame connection type – COM2:

Hyper_Settings.JPG

Paspaudę “OK” atsivers COM2 prisijungimo nustatymai:

connection_settings.JPG

Kai nustatymai paruošti gali pradėti mikrovaldiklio programavimą. Toliau viskas paprasta -meniu punte pasirinkite Transfer->Send file:

send_file_to_Atmega128.JPG

Atsivėrusiame “Send File” dialoge nurodykite kurią programą norite įrašyti į mikrovaldiklį. Nepamirškit jog sukompiliuota programa turi būti BIN, o ne HEX formato. Kitame laukelyje pasirinkite reikiamą protokolą. Mūsų atveju booloader’is supranta Xmodem protokolą:

Xmodem.JPG

Spaudžiame send mygtuką po kurio Hyper Terminal laukia booloader atsakymo:

bootload_atmega128.JPG

Belieka paspausti įvykdyti mikrovaldiklio pertraukimą kad bootloader’is pradėtų Atmega128 programavimą. Procesas vyksta automatiškai-po mikrovaldiklio užprogramavimo programa pradedama vykdyti iškarto.

Kaip ir minėjau AVR fuse bitas užprogramuotas taip, kad po perkrovimo programos vykdymas prasidėtų nuo bootloader sekcijos. Tai reiškia jog bootloaderis bus visada vykdomas pirmiausia, tačiau jeigu po 1 sekundės nebus gaunamas XMODEM-CRC duomenų paketas programos skaitiklis bus nukreiptas į adresą 0x0000, kur prasideda normali mikrovaldiklio programa. Todėl męs pirmiausia ir paleidom Hyper terminal siuntimą o tik po to perkrovėm mikrovaldiklį – kad pataikytumėm į pirmą 1 sekundės intervalą kol vykdomas bootloader’is.

Pažymėti: , ,
One comment on “ATmega128 programos užkrovimas naudojant windows hyper terminal
  1. Anonymous parašė:

    sveiki,kaip naudotis programa?

Parašykite komentarą