Arduino (ATMEGA328) tabanlı PIC MCU için Açık kaynak USB Programlayıcı projesi. Atmega328 (arduino nano/uno) tabanlı PIC mikrodenetleyiciler için minimum bileşen ile ICSP bağlantısı ile programlama yapılabiliyor.
Ayrıca Yeni PIC modellerini kendiniz de ekleyebilirsiniz, bunun için “pic.xml” dosyasını düzenlemeniz gerekiyor. Yeni bir çip eklemek için “name” etiketinin içindeki değerleri düzenleyin
Şu anda aşağıdaki PIC modelleri desteklenmektedir:
PIC12: PIC12F1840,PIC12F629/675,PIC12F635,PIC12F683
PIC16: PIC16F1512,PIC16F1513,PIC16F1516,PIC16F1517,PIC16F1518,PIC16F1519,PIC16F1526, PIC16F1527,PIC16F1847,PIC16F1933,PIC16F1934,PIC16F1936,PIC16F1937,PIC16F1938,PIC16F1939, PIC16F1946,PIC16F1947,PIC16F627A,PIC16F628A,PIC16F648A,PIC16F676/630,PIC16F631, PIC16F636,PIC16F639,PIC16F677,PIC16F684,PIC16F685,PIC16F687,PIC16F688,PIC16F689, PIC16F690,PIC16F73,PIC16F74,PIC16F76,PIC16F77,PIC16F84A
PIC18: PIC18F2510,PIC18F2525,PIC18F2550,PIC18F2585,PIC18F25K80,PIC18F2610,PIC18F2620, PIC18F2680,PIC18F26K80,PIC18F4515,PIC18F4525,PIC18F4550,PIC18F45K80,PIC18F4585,PIC18F4610, PIC18F4620,PIC18F4680,PIC18F46K80
PIC10: PIC10F200, PIC10F202, PIC10F204, PIC10F206 PIC12: PIC12F510 PIC16F: PIC16F505, PIC16F506, PIC16F54, PIC16F57, PIC16F59
PIC16F183xx PIC10F32x, PIC16F150x, PIC16F88x
PIC16F170X, PIC16F18XX, PIC16F183XX, PIC16F184XX, PIC18FXXK22, PIC18FXXQ10
PIC16F871/872/873/874/876/877 PIC16F873A/874A/876A/877A PIC16F627/628
Arduino Modülsüz direkt ATMEGA328 ile yapılan programlayıcı devresi
Yeni bir PIC eklemek için pic.xml dosyasında “name” etiketinin içindeki değerleri düzenleyin
id – devid + revid
type – benzer şekilde programlanabilir pic modelleri ailesi, sayılar tamamen keyfi olarak alınır, veri sayfasında desteklenenlerden programlama algoritmasında benzer bir model buluruz
f_size – kod parçasının bayt cinsinden boyutu
f_psize – flaş sayfa boyutu
ee_size – bayt cinsinden eeprom boyutu
f_start – kod parçasının başlangıcının adresi (genellikle her zaman sıfıra eşittir)
ee_start – veri (eeprom) bellek segmentinin başlangıcının adresi
ee_type – hex dosyasındaki eeprom veri düzenlemesinin türü (1 – ardışık, 2 – boş bayt)
conf1-conf7 – hex dosyasındaki conf bitlerinin ofset adresleri (mevcut olmayan conf’un “none” değeri olmalıdır)
oscal1-oscal3 – jeneratör kalibrasyon bayt ofset adresleri, conf’a benzer
delay – bir kelime/sayfanın programlanmasının gecikmesi
word – flaş bellek kelime maskesi: 16 bit – FFFF, 14 bit – 3FFF, vb.
Pic programlama yazılımı Windows x64, Linux Fedora 39 x64, Ubuntu 22.04 aarch64, FreeBSD 14.1 x64’te test edilmiştir. Desteklenen modellerin listesi “pic.xml” dosyasında bulunmaktadır. Programın her iki versiyonunda da dosyalar aynıdır.
Linux’ta çalışmak için QSetialPort (libqt6-serialport-dev) ve qt6-base-dev’i ve muhtemelen başka birkaç paketi kurmanız gerekecektir. Terminalden çalıştırarak kontrol edebilirsiniz. /dev/ttyUSB0 görünmüyorsa veya erişilemiyorsa, şu komutun verilmesi gerekir: “sudo chmod a+rw /dev/ttyUSB0”. Ubuntu’da ch340 ve brltty sürücüleri çakışabilir, bu nedenle ikincisi “sudo apt autoremove brltty” ile kaldırılabilir. Qt’nin Windows versiyonu statik kütüphanelerle derlenmiştir, hemen çalışmaya hazırdır.
Kaynak: github.com/AndrejChoo/USB-PIC-Programmer-on-Arduino?tab=readme-ov-file
Yayım tarihi: 2025/03/02 Etiketler: arduino projeleri, usb pic programlayıcı