Atmel Studio + avrdude პროგრამატორი

როდესაც Atmel Studio – სთან თავსებადი პროგრამატორი არ გაქვს, საკმაოდ დისკომფორტს გიქმნის მიკროკონტროლერის პროგრამირების პროცესი. მაგ. წერ პროგრამას Atmel Studio-ში აკომპილირებ, შემდეგ ცალკე უნდა გახსნა პროგრამა პროგრამატორი მიუთითო კონტროლერი, მიაბა .hex ფაილი და ჩატვირთო მიკროკონტროლერში (მოცემული პროცესი დეტალურადაა აღწერილი წინა სტატიაში).  პროცესი საკმაოდ მარტივდება პროგრამა პროგრამატორის Atmel Studio -ზე მიბმით. შედეგათ ვწერთ პროგრამას და Atmel Studio-თივე ვაპროგრამებთ მიკროკონტროლერს.  მივყვეთ თანმიმდევრობით და Atmel Studio-ს მივაბათ avrdude პროგრამატორი.

ვინდოუსზე avrdude-ს დაინსტალირებისთვის ვიწერთ WinAVRIDE-ს, რასაც თავისთავად მოყვება avrdude. windows-ზე avrdude-თი პროგრამირების დროს, არის შემდეგი პრობლემა,  avrdude ვერ ხედავს პროგრამატორს რადგან არ აქვს პორტებთან წვდომა, ამიტომ საჭიროა giveio.sys -ის დაინსტალირება. დაინსტალირება შეიძლება მარტივათ cmd-დან C:\WinAVR-20100110\bin\install_giveio.bat ფაილის გაშვებით.  შემდეგი პრობლემა arvdude-ზე რაც შემემთხვა ეს იყო, რომ მინდოდა atmega328 -ის დაპროგრამირება მაგრამ avrdude აპროგრამებს atmega328P (Pico. power) ხოლო atmega328-ს არ აპროგრამებს, რადგან განსხვავებული ID აქვს. სინამდვილეში პრობლემა ადვილათ მოგვარებადია, რადგამ განსხვავება atmega328-სა და atmega328P-ს შორის არის მხოლოდ ის რომ atmega328P უფრო ენერგო ეკონომიურია, დანარჩენი თითქმის ერთიდაიგივეა. იმისთვის რომ ჩვენთვის სასურველი კონტროლერი დაემატოს პროგრამირებად კონტროლერების სიაში საჭიროა შევცვალოთ C:\WinAVR-20100110\bin\avrdude.conf ფაილი, მარტივად დავაკოპიროთ atmega328P-ის პროგრამირების პარამეტრები, ჩავამატოთ და შევცვალოთ დასახელებები atmega328P- ს ნაცვლათ atmega328, m328p-ს ნაცვლათ m328, “signature = 0x1e 0x95 0x0F” ის ნაცვდათ “signature =  0x1e 0x95 0x14”. ამის შემდეგ უპრობლემოთ დავაპროგრამებთ. ( მსგავსი თემა avrfreak-ზე )

პროგრამატორის AtmelStudio-თან დასაკავშირებლათ, შევდივართ AtmelStudio-ში შემდეგ Tools>External Tools> გაიხსნება External Tools ფანჯარა, მოცემულ ფანჯარას ვავსებთ შემდეგნაირად:
ვამატებთ ორ მოწყობილობას პირველი როგორც Debug და მეორე Release.
1) ვავსებთ პროგრამატორის დასახელებას, როგორც გვინდა რომ გამოჩნდეს
Title: STK200 Debug

2) პროგრამა პროგრამატორი
Command: avrdude.exe

3) პროგრამირების ბრძანება
Argument: -c stk200 -P lpt1 -p t2313 -U flash:w:$(ProjectDir)Debug\$(ItemFileName).hex:i

მოცემული ბრძანება ეკუთვნის პროგრამატორის კონკრეტულ ტიპს stk200 და ATtiny2313 კონტროლერს, სხვა შემთხვევაში საჭიროა აღნიშნული დასახელებების შეცვლა, avrdude-ს მიერ მხარდაჭერილი პროგრამატორების ჩამონათვალი შეგვიძლია გავიგოთ CMD-ში avrdude -c asdf ბრძანებით, ხოლო მიკროკონტროლერების ჩამონათვალი avrdude -c avrisp ბრძანებით.  avrdude-სთან მუშაობისათვის და მატებითი ინფორმაციისთვის გადახედეთ ტუტორიალს Starting out with avrdude.

Release-სთვის მონაცემები მსგავსია, განსხვავებაა მხილოდ Argument-ში
ანუ Debug -ის ნაცვლად წერია Release
Arguments: -c stk200 -P lpt1 -p t2313-U flash:w:$(ProjectDir)Release\$(ItemFileName).hex:i

lsadfkjhalsjkdfa

სურ.1 მონაცემები Debug-ისთვის

a;slkdh;laksdf

სურ.2 მონაცემები Release-სთვის

ამის შემდეგ შედარებით გამარტივებულია პროგრამირების პროცესი. მაგ. თუ პროექტი არის Debug რეჟიმში, პროგრამირება მოხდება შესაბამისად Tools>STK200 Debug, ხოლო თუ Release რეჟიმშია Tools>STK200 Release.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: