Bugün bitirme tezimde kullanmayı düşündüğüm dsPIC ile alakalı derleyici araştırması yaparken bir sitede gördüğüm haber ile oldukça fazla sevindim.
Bildiğiniz üzere çoğumuz gerek düşük gerekse yüksek seviyeli PIC’leri programlarken bir çok yazımda ya da konuşmamda belirttiğim gibi görünümü ve kullanımı oldukça kötü bir IDE olan MPLAB kullanmak zorunda kalıyorduk ve bu da biz programcıları hata takibinde ya da en basitinden kodumuzu bir başkasına anlatırken işimizi oldukça fazla zorlaştırabiliyordu. Dahası Microchip’in rakip firmaları, örneğin AVR, Eclipse tabanlı IDE’lere geçerken MPLAB hâlâ bizlere 80’lerin soğuk savaş yıllarını yaşatıyordu.
Tüm bu yakarışlarımızı Microchip mühendisleri duymuş olacak ki en sonunda bizlere, Java sevenlerin oldukça iyi bildiği, Netbeans tabanlı bir IDE tasarlamışlar: MPLAB X.
MPLAB X’i anlatmaya başlamadan önce söylemek isterim ki şu an elimizde olan IDE’nin sürümü beta 3 ve her beta sürümde olduğu gibi program çok da hatasız değil. Fakat tüm bunlara rağmen MPLAX X bana eski MPLAB sürümünü sildirtmeyi başardı. Nedenini merak ediyor ve siz de bu yeni IDE’yi denemek istiyorsanız programın tüm Windows ve hatta diğer platformlara uyumlu halini buradan indirebilirsiniz. Verdiğim adrese gittiğinizde MPLAB X‘in nasıl kurulacağına dair bir videoyu da hemen göreceksiniz.
Onun için bu kısmı atlıyorum. Ben ilk uygulamamı C18 v3.36 sürümü ile denedim ve gayet iyi sonuçlar elde ettim. Program hakkında detaylı bilgileri, yeni proje oluşturmayı, derlemeye ait bilgileri ve notları aşağıdaki videoda (tam ekran seyretmenizi öneririm) bulabilirsiniz.
Sonuç olarak bu sefer Microchip gerçekten beni can evimden vurmayı başardı ve bence her ne kadar beta da olsa MPLAB X işlerimizi bir adım daha kolaylaştıracağa benziyor.
Programda oluşabilecek sorunlar ve nasıl çözüldüklerini bilmek ve paylaşmak isterim. Bunun için bana yorum kısmından ulaşabilirsiniz.
Herkese iyi çalışmalar.
*Müzik: Hot Butter – Pop Corn
Yayım tarihi: 2010/11/07 Etiketler: mplab x, mplab x derleyici, mplabx
Hi-tech versiyon 9.64 te MPLAB X derleyiciye -chip=PIC18F4520 gibi bir argüman gönderiyor. Derleyici de chipinfo.ini dosyasında böyle bir işlemciyi bulamadığını söylüyor. MPLAB ın eski sürümünde bu tanımlamanın -chip=18F4520 şeklinde yapıldığını farkettim. MPLAP X içerisinde PIC önekini kaldırmak için bir ayar bulamadım. Bende chip.ini dosyası içerisindeki [18F4520] şeklindeki tanımlamanın kopyasını [PIC18F4520] olarak oluşturdum. Bu adımdan sonra bu hatayı geçti fakat başka bir dosyada benzer hata verdi. Aynı işlemi o dosya için de yaptım. Problem halloldu derleme başarılı bir şekilde gerçekleşti.
Hocam şu şekil bir hata aldım;
D:\Program Files\Microchip\MPLAB C18 Suite\bin\..\h\p18cxxx.h:503: #error Unknown processor!
make[2]: *** [build/default/production/newmainp18.o] Error 33
Kod ise şu;
#include
void main(void) {
return;
}
Sizce neden böyle bir hata verdi?
#include bu ifadeyi silince derledi.Hani dosyayı bulamıyor desem ctrl ile tıkladığımda dosyaya gidiyor.
Yanlışın include ifadesinde. #include şeklinde tekrar denemelisin.
İyi güzel de CCS C’yi göremedim, yoksa desteklemiyor mu??
🙁
@Welat: Açıkçası bunu denemediğim için göremiyorum. Help dosyalarına ve dokümanları arasında gezinti yapmak gerekebilir 😉
bende aynı şekilde kurdum ve bu hatayı alıyorum sorunu çözemedim
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `C:/Users/Muro/MPLABXProjects/AB/ara.X’
make -f nbproject/Makefile-default.mk dist/default/production/ara.X.production.hex
make[2]: Entering directory `C:/Users/Muro/MPLABXProjects/AB/ara.X’
“C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe” –pass1 main.c -q –chip=PIC16F628A -P –outdir=build/default/production -N31 –warn=0 –runtime=default,+clear,+init,-keep,+osccal,-resetbits,-download,-stackcall,+clib –summary=default,-psect,-class,+mem,-hex –opt=default,+asm,-asmfile,-speed,+space,-debug,9 –double=24 –float=24 –addrqual=ignore –mode=lite -g –asmlist “–errformat=%%f:%%l: error: %%s” “–msgformat=%%f:%%l: advisory: %%s” “–warnformat=%%f:%%l warning: %%s”
:: error: chip “PIC16F628A” not present in chipinfo file “C:\Program Files\HI-TECH Software\PICC\9.82\dat\picc.ini”
make[2]: *** [build/default/production/main.p1] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
make[2]: Leaving directory `C:/Users/Muro/MPLABXProjects/AB/ara.X’
make[1]: Leaving directory `C:/Users/Muro/MPLABXProjects/AB/ara.X’
BUİLD FAILED (exit value 2, total time: 738ms)
yazdıgım ise aşagıda
#define _PIC_H_
#define _AS16F628A_H_
int main(void) {
__delay_ms(200);
Delay_Ms(200);
return 0;
}
pic.ini dosyasını düzenlemeniz gerekiyor.
16F628 ise mesela
PIC16F628 yazmanız lazım.
mrb hocam mblabx ıde ile dsPIC30f2010 için program derlemeye çalıştığımda ;
c:\program files\microchip\mplab c30\bin\bin\..\bin/pic30-elf-ld.exe: cannot open linker script file dsPIC30F2010.gld.00: No such file or directory
make[2]: *** [dist/default/debug/dsfsdf.X.debug.elf] Error 255
şu hatayı veriyor(MPLAB C Compiler for PIC24 and dsPIC v3.31 programını kuruyorum) bu konuda yardımcı olursanız sevinirim.
Hocam daha önce mplab kullanmadım mplab x i burda görünce uğraşmak istedim ama
“c:\program files (x86)\microchip\mplab c30\bin\pic30-elf-ld.exe: cannot open linker script file PIC24FJ128GA010.gld: No such file or directory
make[2]: *** [dist/default/production/Explorer16PIC24MCU_1.X.production.hex] Error 255
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
make[1]: Leaving directory `C:/Users/Menduh/MPLABXProjects/Explorer16PIC24MCU_1.X’
BUİLD FAILED (exit value 2, total time: 778ms) ” şeklinde hata veriyor nedenini anlayamadım yardımcı olursanız sevinirim.
“c:\program files (x86)\microchip\mplab c30\bin\pic30-elf-ld.exe: cannot open linker script file PIC24FJ128GA010.gld: No such file or directory
Sorunu söylüyor aslında; “linker dosyasını bulamıyorum” diyor. Ne yapacaksın peki?
1. Projects => Linker File’a gel sag tikla => Add Existing Item’ı seç
2. /mplab c30/ klasörünü bul (nereye kurduysan gari) oradan şu yolu izleyeceksin:
mplab c30/v3.31/support/pic24F/gld/p24fj128ga010.gld
dosyasını bul ve projene ekle.
MPLAB 8.6′dan sonra linker’ı otomatik olarak ekliyordu artık, mamafih bu sağlıklı bir yöntem değil. Kullandığınız MCU’lar sektörlere bölünmeye açık (general/boot/secure gibi) ve bunları linker içersinde nereden nereye olabileceğine hükmedebiliyorsunuz. O bakımdan, zorla linker ekletmeleri iyi olmuş. Bi de XC16 v1.11′i kur artık, uğraşma C30′la.
Bir de PIC24F kullanacaksanız şu kitaptan başlayın:
http://www.amazon.com/Programming-16-Bit-PIC-Microcontrollers-Second/dp/1856178706
IDE’yi kullanmadan önce de bol bol MPLAB X TV izlemeni tavsiye ederim Youtube’dan, daha rahat öğrenirsin.
Kolay gelsin.
http://www.amazon.com/Programming-16-Bit-PIC-Microcontrollers-Second/dp/1856178706
bu WEB adresindeki kitabın türkçeya çevrilmişini bulabilirmiyiz c ve assembler örnekleri , açıklamalarıyla birlikte