Bu derste PICkit 2 programlayıcısı ile nasıl Arduino ve ATMEGA serisi yongaları programlayabileceğinizi anlatmaya çalışacağım.
PICkit 2 MicroChip firmasının üretmiş olduğu bir programlayıcı.
Bu bölümde Pic Kit2 ile ATMEGA yongalarının nasıl programlanabileceği anlatılmıştır.
Ubuntu altında PICKit2 kullanarak ATMEGA serisi yongaları programlayabilmek için iki tane yazılım kurmanız gerekebilir. Derleyici yazdığımız programları hex uzantılı dosyalara çeviriyor. Derleyici olarak avrdude programını kullanacağız. Derleyici kurulumu için
$ sudo apt-get install avrdude
yazmamız yeterli.
pk2cmd programı ise oluşturulan hex dosyasını mikro denetleyiciye atarak programlıyor.Şimdi bu programın kurulumuna bakalım.
Bu programı kurduğumuzda /usr/local/bin dizinine kuruyor. Linux çalıştırılabilir dosyaların listesini '$PATH'' ortam değişkeni içinde tutuyor. Bu nedenle eğer programı kuracağımız dizin ''$PATH'' içinde yoksa eklememiz gerekecek.
$ echo $PATH
/home/erdem/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
Eğer ''$PATH'' içinde /usr/local/bin göremiyorsanız bir editörle ev dizinizdeki .profile dosyasını açarak aşağıdaki satırları ekleyin.
$ gedit ~/.profile
export PATH=$PATH:/usr/local/bin
Değişikliklerin etkili olabilmesi için bilgisayarı, ya da oturumu kapatıp tekrar açmamız gerekecek.
pk2cmd programını kaynak kodundan derleyerek kuracağız.İlkönce eğer kurulu değilse libusb-dev kütüphanesini kurmanız gerekebilir.
$ sudo apt-get install libusb-dev
Komut satırından yazılımı indirip açıp kurmak için aşağıdaki komutları verelim.
$ wget http://ww1.microchip.com/downloads/en/DeviceDoc/pk2cmdv1.20LinuxMacSource.tar.gz
$ tar xf pk2cmdv1.20LinuxMacSource.tar.gz
$ cd pk2cmdv1.20LinuxMacSource
$ make linux
$ sudo make install
$ sudo cp /usr/share/pk2/PK2DeviceFile.dat /usr/local/bin/
Bu noktada PIC kit2'yi takıp her şeyin PIC kit2'nin algılandığını teyit etmek için aşağıdaki komutları verebilirsiniz.
$ pk2cmd -?V
Executable Version: 1.20.00
Device File Version: 1.55.00
OS Firmware Version: 2.32.00
Operation Succeeded
PIC Kit2'yi deneme tahtasına takmak için 6'lı bağlantı uçlarını hafifçe kıvırabilirsiniz. Yeşil üçgene dikkat edin PIC Kit2'nin 1 numaralı ucunu gösteriyor.
Burada PIC Kit2'nin 2 numaralı VDD ucunu kullanmak isteğe bağlı. Eğer devreyi başka bir kaynaktan besleyecekseniz bunu kullanmaya gerek yok.
Eğer aldığınız ATMEGA328P boşsa işletim sistemi yüklemek gerekecek. Eğer zaten programlandıysa bu adımı atlayabilirsiniz.
Arduino yazılımını kurduğunuz dizinin arduino-1.6.12/hardware/arduino/avr/bootloaders/optiboot alt dizinine gidelim. Burada optiboot_atmega328.hex kütüğü ile aldığımız ATMEGA328P'ye eğer boşsa işletim sistemi yükleyebiliriz.
$ avrdude -c pickit2 -p m328p -e -u -U lock:w:0x3f:m -U efuse:w:0x05:m -U hfuse:w:0xDE:m -U lfuse:w:0xFF:m -U flash:w:optiboot_atmega328.hex
PIC Kit2 ile Arduino programlamak için sizin için bir make kütüğü hazırladım.
$ git clone https://zayifakimkolu@bitbucket.org/zayifakimkolu/arduino.git
$ cd arduino/
$ emacs ilkprogram.cc
Bu dosyaları indirdikten sonra ilkprogram.cc dosyasında ledin bağlı olduğu kapıyı 9 numaralı ikili çıkış kapısı olacak şekilde belirliyoruz. Çıkarken de kaydetmeyi unutmayın.
#include `<Arduino.h>`
/*
PIC Kit2 ile Arduino programlama
*/
int ledCikis = 9;
void setup()
{
pinMode(ledCikis, OUTPUT);
}
void loop()
{
digitalWrite(ledCikis, HIGH);
delay(1000);
digitalWrite(ledCikis, LOW);
delay(1000);
}
Programı derlemek ve hex dosyasını mikrodenetleyiciye yüklemek için sadece
$ make nano
komutunu vermeniz yeterli. Durdurmak için de make dur komutunu verebiliriz.
Bu komutu verdiğinizde eğer ARDUINODIR dizinini bulamadığını söylüyorsa
ARDUINODIR is not set correctly; arduino software not found
ve yukarıdakine benzer bir hata iletisi alıyorsanız bir bağ oluşturmanız gerekecek.
$ sudo ln -s /home/erdem/İndirilenler/arduino-1.8.5 /usr/share/arduino
Burada Arduino hangi dizinde kuruluysa o dizine bir bağ vermeniz gerekebilir. Benim verdiğim örnekte indirilenler dizininde kuruluydu.
Make kütüğü kullanmadan hex dosyasını mikrodenetleyiciye yüklemek isterseniz aşağıdaki komutu kullanarak yapabilirsiniz:
$ avrdude -c pickit2 -p m328p -v -V -U flash:w:"dosya.hex":a
Yorumlar