Gönderen Konu: PICKit2 Kullanım Kılavuzu  (Okunma sayısı 34304 defa)

Çevrimdışı sigmoid

  • Emektar
  • *****
  • İleti: 781
PICKit2 Kullanım Kılavuzu
« : 19 Ocak 2011, 00:08:08 »
PicKIT2 yi bu kadar sevmememin nedenlerinden biride devre üzerinde debug işlemi yapmasıdır. Programlar içindeki hatalara bug denildiğini hepimiz biliriz. Debug ise bu hataların araması işlemidir. En kolay hata aramalardan biride kodu adım adım çalıştırmaktır. Özellikle şüphelendiğiniz kod bloklarını adım adım çalıştırarak değişkenlerin hangi değerleri aldığını kontrol edebiliriz. Gel gelelim mikrodenetleyici programlama bilgisayarda program yazmaya benzemiyor. kontrolümüz dışında bir çok şey var. Tüm ihtimalleri düşünerek yazdığınız program sensörden veya diğer çevre birimlerinden tahmin edilmeyen bir değer alıp programın hiç beklenilmeyen bir yerine dallanabilir. Bu nedenle proteus veya MPLAB SIM ile yapılan debug işlemi ile PICKit2 benzeri bir araçla yapacağınız devre üzerinde kod ayıklama arasında ciddi farklar vardır. Devre üzerinde kodu çalıştırırken çevre birimlerinden de istediğiniz değerlerin gelip gelmediğini canlı olarak kontrol etme imkanımız var. Öncelikle devre üzeri kod ayıklama (in-circuit debug) tüm PICler desteklememektedir. Bazı PICler için ise ekstra donanıma ihtiyaç vardır. Kullanmayı düşündüğünüz PIC'in debug işlemini destekleyip desteklemediğine bakmak için menüden Configure -> Select Device bölümüne gidip kullanacağınız PICi seçin. Burada PIC16F628A seçildiğinde aşağıdaki gibi bir ekran karşımıza çıkar.



Burada Debugger kısmında PICKit2nin 16F628Ayı debug işlemi için desteklediğini görüyoruz. Yalnız ICE/ICD Headers içindeki AC162053 (Req) yazısına dikkat edin. Bunun anlamı PIC16F628A yı debug edebilmek için ekstradan özel bir elemana ihtiyacımız olduğudur. Ben ilk çalışmalarımı hep PIC16F877A ile yapıyorum. Sonuçta ikiside aynı aileden.



 PIC16F877A tı seçince aynı ICE/ICD Headers içinde No headers yazdığını göreceksiniz. PIC16F877A yı debug yapmak için ekstra bir elemana ihtiyacımız yok. Elimizde sadece PICKit2 nin olması yeterli.



PICKit2yi PICe bağlamak için sıra pinler ve yassı kablolarla bir arakablo yaptım. Böylece breadboard üzerinde kurduğum devreleri rahatlıkla programlayabiliyorum. Yaptığım projelerde yaptığım projelerde daima baskıdevrenin bir köşesine sıra pinler ile pickit2 takabileceğim bir kısım
bırakırım. Böylece hem debug yapabilirim hem de PICi sökmeden programlama imkanım olur. Resimden de gördüğünüz gibi PICKit2nin 6 ucu var. Bize sadece 5 pin gerekiyor. Bu pinleri sırasıyla PICin reset, +5V, GND, RB7 ve RB6 ya bağlayın. Mecbur kalmadıkca RB7 ve RB6 pinlerini PICkit2 için ayırıyorum. Ayrıca mutlaka PIC'in osilatör devresi kurulmalı. Reset devresinin kurulup kurulmaması isteğe bağlıdır. Ben yinede 10K bir dirençle MCLR ayağını pullup yapıyorum. Ama asla devredeki reset butonunu kullanmıyorum. Reset işlemlerini MPLABdan yapmayı tercih ediyorum. Debug işlemini yapabilmek için ayrıca Watcgdogunda kapalı olması lazım.



MPLABtan yeni bir proje oluşturduktan sonra Debugger -> Select Tool -> PICKit2 yi seçin.



sonra Debugger -> Settings gidin. Ben buradan "Program after a successful build" seçeneğini seçmeyi tercih ediyorum. Böylece her hatasız derlemeden sonra yeni program PICe yüklenmektedir. PICKit2 ile COFF dosyası üreten tüm derleyicilerin kodlarını debug edebilirsiniz. Assembler, C18, Hitech, CCSC, MikroC vb.



Programı derleyip PICe yükledikten sonra PICKit2 otomatik olarak debug modunda PIC ile bağlantı kurar.



Kod: [Seç]
list p=16f877a
#include "p16f877a.inc"

sayac equ h'20'
sayac2 equ h'21'

clrf PORTB
bsf STATUS, RP0
clrf TRISB
bcf STATUS, RP0

movlw 0xff
movwf PORTB

incf PORTB,f
call gecikme
goto $-2

gecikme:
movlw .255
movwf sayac2
g2: movlw .255
movwf sayac
decfsz sayac,f
goto $-1
decfsz sayac2,f
goto g2
return

END


Debug menusü altındaki menülerin görevleri şu şekildedir.

Run : PIC'i gerçek hızında çalıştırır.
Animate : Kodlar adım adım sırayla çalıştırılır. Büyük programlar için sıkıcı olabilir.
Halt : Run veya Animate modundan çıkmak için kullanılır.
Step Into: Program kodu adım adım çalıştırılır. Herhangi bir alt programa rastlanırsa alt programın içine dallanılır.
Step Over: Program kodu yine adım adım çalıştırılır. Yalnız alt program sanki tek bir komutmuş gibi tek seferde çalıştırılır.
Step Out: Step Into ile adım adım çalıştırılırken bir alt programa girildiyse bu menü ile alt programdan çıkılması sağlanır.
Reset : PIC'i resetler



Breakpoints: Adım adım kod çalıştırmak çoğunlukla gereksizdir.

Şüphelendirğiniz kodlara kadar programın normal hızında çalışıp durmasını sağlamak için buralara breakpoint koyarız. Breakpoint koymak için satır numarasının yazdığı yere çift tıklamak yeterlidir. Başka bir noktayada breakpoint koymak için çift tıklandığında diğerinin kırmızı çember şeklini aldığını göreceksiniz. Çünkü PICkit2 sadece 1 tane breakpoint konulmasını desteklemektedir.

Ayrıca Sağ tuşa tıklayıp Run To Cursor menüsüde kullanışlıdır.

PIC içindeki değişkenleri görmek için View-> File Registers menüsünü kullanın.

Buradan PICin RAMindeki tüm değerleri görebiliriz. View-> Watch menüsü ile sadece görmek istediğimiz değişkenleri eklememiz yeterlidir. Watch menüsü özellikle C derleyicileri ile çalışırken çok kullanışlıdır. Değişken üzerine sağ tuşa tıklayarak değişken tipini elle tanımlamak zorundayız.

İyi çalışmalar. Herkese faydalı olması dileğiyle.




http://320volt.com/pickit2-klon-5-volt-3-3-volt/
http://320volt.com/usb-pic-programlayici-pickit2-klon-devre-arsivi/
http://320volt.com/avrisp-mkii-usb-blaster-pickit-2-pickit-3-klon-pcb/
http://320volt.com/pickit-2-icsp-cikisi-icin-zif-soket-adaptor-modulu/
http://320volt.com/pickit-2-orjinal-kopya-yari-smd-sprint-layout-pcb/
http://320volt.com/pickit2-desteklenmeyen-mikrodenetleyiciler-icin-pk2devicefile-dat/
« Son Düzenleme: 25 Nisan 2014, 14:46:52 Gönderen: gevv »

Çevrimdışı pro-TR

  • Kıdemli
  • ****
  • İleti: 237
  • tek bildiğim hiç birşey bilmediğimdir <SOCRATES>
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #1 : 19 Ocak 2011, 00:31:59 »
s.a.
bilgiler için teşekkür ederim. klonlanmış bir pickit2 elimde mevcuttu ama cesaret edip debug işlemini denemedim. üreticisi debug işleminin yapılabileceğini yazmış ama denemedim. ilk fırsatta denemek isterim.
vardım ilim meclisine eyledim talep, meğer ilim en gerideymiş illa EDEP, illa EDEP <muhyiddin Arabi K.S.>

Çevrimdışı Maxim

  • Profesyonel Üye
  • *****
  • İleti: 5391
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #2 : 19 Ocak 2011, 00:34:34 »
hocam eline sağlık, hemen ilk sorular benden .

osilatör takılı olması lazım dediniz, internal osc ile bu iş olmuyormu ?

coff dosyasını , file ,import kısmından yükleyebiliyoruz sanırım ?

watch dog kapalı olması lazım dediniz, peki picin config teki "debug" biti enable olmak zorundamı ?
background debugger enable bit 18F2520 mesela .


Çevrimdışı Tagli

  • Profesyonel Üye
  • *****
  • İleti: 4119
  • twitter -> gTagli
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #3 : 19 Ocak 2011, 00:52:36 »
Öncelikle bu güzel açıklayıcı yazı için teşekkürler... Benim de birkaç sorum var: Besleme PicKit2'den mi oluyor yoksa devrenin elektriği normal yoldan mı geliyor? Burada yazılanları PicKit3 için de aynen uygulayabilir miyiz? Ve de konuyla alakasız bir soru: Bu yassı kablolar nerede bulunur?

Maxim, hocam benim tahminim, PicKit debug için config bitini kendisi ayarlıyor, belki de programı tekrar atıyordur. Ama emin değilim tabi.
Gökçe Tağlıoğlu

Çevrimdışı sigmoid

  • Emektar
  • *****
  • İleti: 781
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #4 : 19 Ocak 2011, 00:53:11 »
klonla ilede debug yapilabiliniyor. orjinal pickit2de eğerdevrede enerji kaynaği yoksa otomatik enejiyi kendisi üzerinden veriyor. klonda ise devrede enerji olup olmadiğini tam anlayamadiğindan elle settingden bu ayarlari yapmak gerekli.

 internal osilatörüde rahatlikla kullanabilirsiniz. önemli olan picin osilatör sistemini kurmanizdir. isterseniz rc devresi ilede pici çaliştirabilirsiniz. picin çalişma hizi düşünce debug işlemide yavaşliyor.

genellikle 16F ailesi ile çalişiyorum. debug bitinin anlamini size birakiyorum.

editör olarak mplab kullaniyorsaniz otomatik olarak coff dosyalarini yüklüyor. eğer mikroc veya ccsc gibi farkli bir editör ile yazildi ise dediğiniz gibi file import ile coff dosyasini mplaba yükleyebilirsiniz.

Çevrimdışı sigmoid

  • Emektar
  • *****
  • İleti: 781
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #5 : 19 Ocak 2011, 01:00:21 »
@tagli

az akim çeken devreler için beslemeyi pickit2den vermeyi tercih ediyorum. fazla akim çeken bir devre ise harici bir besleme sistemi kurulmali. pickit2 sisteme bağlanildiğinda otomatik olarak devrede enerji olup olmadiğini kontrol ediyor. eğer enerji yoksa enerjiyi devreyekendisi sağliyor.
konfigurasyon bitleri debug için uygun değilse zaten hata mesaji çikip nasil bir konfigurasyon yapmaniz gerektiğini söylüyor.

pickit3 kullanmadim. büyük ihtimal debug sistemi aynidir. pickit2 nin kendi yaziliminida kurmanizda fayda var. kendi yazilimi ile daha çok pic v eeprom programlayabiliyorsunuz. ayrica logic analizör ve usart terminal özelliğide var.

Çevrimdışı sigmoid

  • Emektar
  • *****
  • İleti: 781
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #6 : 19 Ocak 2011, 01:06:11 »
yassi kablo tüm elektronikcilerde var. kablo başina takilan soketlerede idc deniyor. ben onun yerine yassi kabloya sira pin lehimlemeyi tercih ediyorum. yaptiğim devrelere ise 90 derece yatik sira pin koyuyorum

Çevrimdışı X-Fi

  • Profesyonel Üye
  • *****
  • İleti: 1586
  • TB3EC
    • Coskun ERGAN
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #7 : 19 Ocak 2011, 02:16:54 »

pickit3 kullanmadim. büyük ihtimal debug sistemi aynidir. pickit2 nin kendi yaziliminida kurmanizda fayda var. kendi yazilimi ile daha çok pic v eeprom programlayabiliyorsunuz. ayrica logic analizör ve usart terminal özelliğide var.

pickit3de de debug menüsü aynı bi farkı yok extra olarak pic ailesi daha geniş ve daha hızlı program atıyor başkada bir işe yaramıyor.
http://www.coskunergan.com/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

Çevrimdışı eseneren

  • Kıdemli
  • ****
  • İleti: 405
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #8 : 19 Ocak 2011, 02:46:08 »
Ellerine saglık abdullaho, PICKIT2 icine hex atıp pc den bagımsız ıcındekı kod ıle pic porgramlanabıldıgını bılıyorum ama nasıl yapılacagı hakkında bılgım yok.
Eger tecruben varsa ltf onuda paylasırmısın.

Eskıden pc ler salon kadarmıs derler ya iki resime bakarak bızde ınanırız. Bir gun bır sorun karsılasılmıs ara ara ara bulamamıslar sonra donanım kontrolunde bır bocek bu aksaklıga sebep oldugu anlasılmıs ve bocegı cıkartmıslar.Bocek manasına gelen bug , zaman ıcerısınde :) bugging de-bugging dıye degısmış.
Kelimede oradan gelmiş derler...

Saygılar

Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

Çevrimdışı malpaslan1979

  • Emektar
  • *****
  • İleti: 680
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #9 : 19 Ocak 2011, 03:00:26 »
Ellerine saglık abdullaho, PICKIT2 icine hex atıp pc den bagımsız ıcındekı kod ıle pic porgramlanabıldıgını bılıyorum ama nasıl yapılacagı hakkında bılgım yok.
Eger tecruben varsa ltf onuda paylasırmısın.


video ingilizce fakat ayrıntılı olarak menüler görülebiliyor bu noktada faydalı olur diye düşünüyorum
[youtube]http://www.youtube.com/watch?v=Ka_TTxcaGx8&feature=channel[/youtube]

Çevrimdışı sigmoid

  • Emektar
  • *****
  • İleti: 781
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #10 : 19 Ocak 2011, 03:23:27 »
bu işlem için öncelikle PicKit 2 Programmer yazılımını kurmak gerekiyor. Ayrıca Pickit2yi PC den bağımsız çalıştırmak için bir besleme kaynağıda gerekli.


Dediğiniz işlem Programmer-To-Go diye geçiyor. Pickit2 programmerın helpinde bu konuyla ayrıntılı bilgi mevcut.

Hexi Pickite yüklemek için öncelikle Programmer-> Manual Device Select seçelim. Sonrada ilgili menülerden kullanmak istediğimiz pici seçelim. pickit sadece pcye bağlı ve pickit2 yi herhangi bir pice bağlamıyoruz. diğer ucu boşta.



Programmer -> PicKit2 Programmer-to-Go seçin. Bundan sonra bir sihirbaz çıkıyor, bu sihirbazı takip ederek geri kalanını yapabilirsiniz. Ben bu özelliği daha önce kullanmadım, fazla ihtiyacım olmadı. Pickit2yi daha çok debug amacıyla kullanıyorum. Debug kelimesinin nereden geldiğini öğrenmemizde güzel oldu.
« Son Düzenleme: 19 Ocak 2011, 03:25:01 Gönderen: abdullaho »

Çevrimdışı Maxim

  • Profesyonel Üye
  • *****
  • İleti: 5391
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #11 : 19 Ocak 2011, 03:32:30 »
PROGRAMM TO GO özelliğini kullanabilmeniz için, ya orjinal pickit2 veya üzerinde hafıza entegrelerinin takılı olduğu KLON pickit2 gerekir,
çoğu ucuz klonların üzerinde hafıza yani eeprom lar takılı değildir, dolayısı ile o özelliğide kullanamazsınız o zaman.

bendeki klon pickit2 yi alırken 2 versiyonu vardı, eepromları takılı olmayan daha ucuzdu, ben full olanı aldım ve denedimde o özellik güzel güzel çalışıyor

Çevrimdışı aykut54

  • Emektar
  • *****
  • İleti: 728
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #12 : 19 Ocak 2011, 07:19:54 »
@abdullaho
vermiş olduğunuz bilgiler için teşekkürler...

Pickit2 kullanan arkadaşlar için ICSP ile bir işlemciyi ne kadar üst üste programladınız? Olaki sürekli yaz, sil yaptıktan sonra işlemcide bozulma meydana gelebilirmi?





Çevrimdışı X-Fi

  • Profesyonel Üye
  • *****
  • İleti: 1586
  • TB3EC
    • Coskun ERGAN
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #13 : 19 Ocak 2011, 07:48:45 »
hocam pic 12F,16F kataloglarındaki bilgilere göre 

Flash  Memory 100.000
EEPROM Memory 1.000.000

kez silinip yazılabiliniyormuş.

ancak yeni nesilde flash yazım töleransı 10.000 lere kadar düşmekte ben nedenini XLP donanıma ve daha küçük nanometre ölçülerde üretilmesinden dolayı olduğunu zannediyorum.
http://www.coskunergan.com/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

Çevrimdışı sigmoid

  • Emektar
  • *****
  • İleti: 781
Ynt: PICKit2 Kullanım Kılavuzu
« Yanıtla #14 : 19 Ocak 2011, 08:31:17 »
ben yıllardır hep aynı pic ile çalışmalarımı yapıyorum. Hiçde sorun yaşamadım. Proje şekillenip oturduğu zaman yeni bir PIC alıp programı ona yüklerim.