ATMEGA USB 002 (LED mirksiukas)

Jei jau surinkom schemą, reikia ją pratestuoti. O kad pratestuoti, reikia parašyti kažkokią programą. O kad prašyti programą reikalingas kažkoks softas. Jei neturit softo, tai reikia iš interneto nusikrauti WinAVR paketą: http://winavr.sourceforge.net/
Dar gerai būtų, bet neprivaloma, nusikrauti “Programmer’s Notepad 2”. Tai kiek palengvins darbą.

Pirmoji programa tai paprasčiausias mirksiukas- paeiliui uždeginėjam šviesos diodus ant plokštės. Tai pratestuosim ar veikia procesoriukas ir ar diodai šviečia. Nieko čia stebūklingo ar svarbaus nėra. Nuotrauka daryta su ilgu išlaikymu, todėl atrodo, kad visi diodai dega. Iš tikro, pastoviai dega tik vienas diodas- tas kuris indikuoja maitinimo pajungimą. Kiti diodai skirtingu greičiu mirksi.

mirksiukas
(baisi plokštė. Mano printeriui šakės ir todėl gaunasi “kiauri” takeliai)

Programos archyvas: 20070916.zip

Programėlė labai paprasta- nustatom naudojamas kojeles išėjimui, paleidžiam amžina ciklą ir ciklo duomenis pumpuojam į portus. Realiai tai daryti nereikėtu- nes dabar programa pumpuoja visus bitus, o reikia keisti tik tuos bitus kurių kojeles norime valdyti. Bet čia programa tik ištestuoti ar veikia konstrukcija.

Keletas komentarų. Mano archyvo makefile jums garantuotai neveiks “program” užduočiai. Čia todėl, kad mano LPT1 portas nebegyvas ir aš naudoju papildoma PCI plokštę su papildomom LPT jungtim. Todėl reikia persirašyti “program” sekciją- ten kur parašyta:

program: $(PRG).hex
avreal32 -pBC00 -ab -e +$(AVREALMCU)
avreal32 -pBC00 +$(AVREALMCU) -ab -w -c $(PRG).hex -v

reikia pakeisti -pBC00 į jūsų naudojamo porto parametrus. Daugiau informacijos paleidus “avreal32 -h”. O jei naudojat kitą programatorių, tai šias eilutes reikia pakeisti iš esmės. Arba nenaudoti “make program” funkcijos.

Visiškai žaliam žmogui dar vienas paaiškinimas kurio niekas nerašo, nes tipo “visi tai žino”. Programa kompiliuojasi su komanda “make all” ar iš to Notepado, Tools->[WinAVR] Make All
Kompiuteris turi prirašyti visokių ten užrašų, kuriu dauguma nieko blogo nesako, nes make failas yra universalus. Mums esmė yra pačiam gale: > Process Exit Code: 0 ir kad niekur nebuvo ERROR.
Komanda “make clean” arba Tools->[WinAVR] Make Clean išvalo visus sukompiliuotus ir paruoštus failus. Todėl jei ką nors pakeitėt programoje, neužmirškit paleidinėti “clean”.

Nu ir paskutinė komanda ar užduotis: make program arba Tools->[WinAVR] Program užprogramuoja programą į mikrokontrolerį.

Truputis informacijos apie “security” bitus. Pas Atmelį tie bitai kiek miglotai paaiškinti, o ir daugelis interneto puslapių tai aiškina kiek kitaip (dažnai teisingai, bet dėl terminalogijos subtilybių būna sunku suprasti). Labai lengva kaitaliojant bitus “užrakinti” mikroschemą taip, kad ji nebeatsiliepinės į serial/jtag programavimą. O tada jau bus problemos, nes cipuką teks lupti lauk. Mano čipukas išluptas iš kažkokio prietaiso ir jo bitai atrodo taip:
Fuses
OSCCAL = AD, AB, A7, A8
BODLEVEL = 0
BODEN = 1
SUT = 2
CKSEL = F
BLB1 = 3
BLB0 = 3
OCDEN = 1
JTAGEN = 1
CKOPT = 1
EESAVE = 0
BOOTSZ = 3
BOOTRST = 1

Aš ju neliečiu, nes kolkas viskas veikia. 🙂 O šiaip rekomenduoju pradžiai pasiskaityti gamintojo datasheetą. Nes gamintojas stengiasi kiek galima mažiau klaidų rašyti savo dokumentacijos. Beja, tie bitai skiriasi pas skirtingus MCU. Todėl kartais perkeliant programą iš vienos šeimynos į kitą, tenka pasukti galvą.

Beja, archyve yra ir HEX failas skirtas mano plokštei. Todėl galima pratestuoti geležius be jokio kompiliavimo.

One reply

Leave a Reply

Your email address will not be published. Required fields are marked *