Bu derste PIC kit 2 programlayıcısını kullanırken ortaya çıkan sorunların nasıl çözülebileceği anlatılmıştır.
Bu derste PIC kit 2 programlayıcısı kullanırken ortaya çıkabilecek sorunların nasıl çözümlenebileceği anlatılmıştır.
Hatanın tespiti için aşağıdaki çıktılara bakınız.
pk2cmd -P
çıktısı
No PICkit 2 found
veriyor.
sh -c "pk2cmd /?V"
komutu
OS Firmware Version: PICkit 2 not found
hatası veriyor.
Bu durumda PIC kit 2'nin kendi işletim sistemini yeniden yüklemek gerekiyor.
1 - PIC kit 2'ye giren ufak USB kablosunu çıkarıp en az 30 saniye bekleyiniz.
2 - PIC kit 2 üzerinde düğmeye basınız ve basılı halde tutunuz.
3 - Düğme hala basılı iken ufak yuvalı USB kablosunu PIC kit2'ye takınız. USB kablosunun geniş yuvalı kısmı bilgisayara takılı durumdadır.
4 - PIC kit 2 üzerinde bulunan kırmızı meşgul Busy
ışığının yanıp sönmeye başladığını görebilirsiniz. Bu PIC kit 2'nin üzerindeki işletim sisteminin silindiğini gösteriyor.
5 - Yeni işletim sistemini buradan indirebilirsiniz.
6 - İşletim sistemini yüklemek için şu komutu vermeniz gerekiyor.
pk2cmd -D PK2V023200.hex
7 - Eğer işletim sistemi yüklendiyse aşağıdaki gibi bir çıktı görebilirsiniz.
Downloading OS...
Verifying new OS...
Resetting PICkit 2...
OS Update Successful.
Operation Succeeded
Eğer yongayı programlarken aşağıdakine benzer bellek hataları alıyorsanız devrede kabloların doğru bağlanıp bağlanmadığını, yerinden çıkan kablo olup olmadığını kontrol ediniz.
Program Memory Errors
Address Good Bad
000000 002BFE 000000
make: *** [Makefile:9: default] Error 34
avrdude: MicroChip's PICkit2 Programmer firmware version 2.32.0
program_enable(): sending command. Resp = ff ff ff ff
avrdude: initialization failed, rc=-2
Double check connections and try again, or use -F to override
this check.
Arduino programlarken eğer bu hatayı alıyorsanız büyük ihtimal PIC Kit2 ya da kablolarla da bir bağlantısızlık olabilir. Tüm kabloları çıkartıp tekrardan dikkatlice devreyi kurmanızı tavsiye ederim.
PIC Kit2 üzerindeki meşgul ışığı (kırmızı olan) bir saniye aralıklarla yanıp sönüyorsa bu sağlıklı çalışan bir işletim sistemi olmadığını gösteriyor.
Yeni işletim sistemini buradan indirebilirsiniz.
İşletim sistemini yüklemek için şu komutu vermeniz gerekiyor.
$ pk2cmd -D PK2V023200.hex
Eğer işletim sistemi yüklendiyse aşağıdaki gibi bir çıktı görebilirsiniz.
Downloading OS...
Verifying new OS...
Resetting PICkit 2...
OS Update Successful.
Operation Succeeded
Linux altında yetkili kullanıcı olmadan normal kullanıcı olarak PIC Kit2'yi kullanmak istediğinizde aşağıdaki gibi bir hata mesajı alabilirsiniz.
Could not set configuration. Error code -1, could not set config 1: Operation not permitted.
You may need to run avrdude as root or set up correct usb port permissions.Could not claim interface.
Error code -1, could not claim interface 0: Operation not permitted
You may need to run avrdude as root or set up correct usb port permissions.
Bu hatanın nedeni sadece yetkili kullanıcıya aygıta yazma hakkının verilmiş olmasından kaynaklanıyor.
lsusb komutu ile PIC Kit2'nin veriyolu ve aygıt numarasını öğrenebiliriz.
$ lsusb
Bus 005 Device 003: ID 04d8:0033 Microchip Technology, Inc. PICkit2
Yukarıya baktığımızda veriyolu numarasının 005 ve aygıt numarasının 003 olduğunu görebiliyoruz. Denemek için kontrol edelim.
$ ls -al /dev/bus/usb/005/003
crw-rw-r-- 1 root root 189, 514 Eki 1 20:56 /dev/bus/usb/005/003
Gerçekten de şimdilik sadece yetkili kullanıcının yazma hakkı olduğunu görebiliyoruz. Geçici çözüm olarak aygıt izinlerini elle şu komutla değiştirebiliriz. Ancak bu seferde aygıtı her takıp çıkarttığımızda bu komutu tekrarlamamız gerekiyor.
$ sudo chmod 666 /dev/bus/usb/005/003
Kalıcı çözüm için aygıt yöneticisi kuralı eklememiz gerekiyor. Bunun için aşağıdaki komutu vererek PIC Kit2 için bir aygıt yöneticisi kuralı oluşturalım. Burada emacs kurulu değilse nano gibi başka bir metin düzenleyici de kullanabilirsiniz.
$ sudo emacs /etc/udev/rules.d/99-PICkit2.rules
Oluşturduğumuz kütüğün içine de şunları girip kaydedelim.
# PICKit2 için grup oluştur
SUBSYSTEM=="usb", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="0033", GROUP="dialout"
Ubuntu'da dialout grubu modem, avuçiçi aygıtlar gibi seri ve USB aygıtları kullanma izni olan ekibi belirtiyor.
Son olarak da kendimizi bu gruba ekliyoruz.
$ sudo gpasswd -a erdem dialout
Değişikliklerin etkili olması için bilgisayarını kapatıp açabilirsiniz.
Yorumlar