Picproje Elektronik Sitesi

DERLEYİCİLER => Hi-Tech => Konuyu başlatan: EMG81 - 16 Mayıs 2011, 03:33:00

Başlık: Hi-tech ve Mplabx derleme sorunu
Gönderen: EMG81 - 16 Mayıs 2011, 03:33:00
Durum aşağıdaki gibidir. Hi-tech C18 compiler ayrıca C30 u kurdum. Mplabxbeta 6.0 ı kurdum. Mplab Hitech Compiler ı görüyor ama derlemiyor. Aşağıdaki iki hatayı veriyor.


[IMG]http://img31.imageshack.us/img31/2955/23626515.png[/img] (http://imageshack.us/photo/my-images/31/23626515.png/)

[IMG]http://img41.imageshack.us/img41/4972/78275423.png[/img] (http://imageshack.us/photo/my-images/41/78275423.png/)

Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Tagli - 16 Mayıs 2011, 09:05:53
Yanlış hatırlamıyorsam orada yazan picc-18.ini içinde ufak bir değişiklik yapmak gerekiyordu. Aptal bir hata vardı, dosyadaki isimlerin başında "p" mi vardı, onun gibi bir şeydi... Tam hatırlamıyorum. Ama onu değiştirirsen muhtemelen de eski MPLAB hata verecektir. Yani geçici bir çözüm bu sadece.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: NaMcHo - 16 Mayıs 2011, 09:26:15
C18 kullanıcaksanız mplab-x i kullanmayın,
LCD kütüphanem olmadan derliyorum bir çalışmamı hata vermiyor lcd kütüphanemi ekliyorum sacma sapan bir hata veriyor,mplab8.60'da derleyince aynı dosyaları sorun olmuyor.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Tagli - 16 Mayıs 2011, 09:42:25
Merak ettim verdiği hata nedir? LCD kütüphanesinin zaten kendisinde de hata var, gerçi derlenmesine engel olmuyor o ayrı. Bu başlıkta (https://www.picproje.org/index.php/topic,32773.0.html) anlatmıştım.

Kütüphanenin kullanımı zor zaten. Dosyaları proje klasörüne taşıyıp değiştirmek gerekiyor. Ayrıca header dosyaları için de, varsayılan klasördekileri değil (C18 kurulum klasörü), proje klasöründekileri göstermek gerekiyor. Yani hata yapmak çok kolay. MPLAB X'de denemedim ama eskisinde de biraz uğraştırmıştı bu LCD kütüphanesi.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: NaMcHo - 16 Mayıs 2011, 09:51:43
Mplab-x main.c
#include <p18f4520.h>
#include <delays.h>
#include "LCD216_benim.h"
#include "i2c.h"

#pragma config OSC = HS , LVP = OFF , WDT = OFF , PWRT = ON , BOREN = SBORDIS
#pragma config PBADEN = OFF ,CP1 = OFF ,CP2 = OFF , CP3 = OFF ,  CPB = OFF, WRTC = OFF
#pragma config WRTB = OFF

unsigned char veri;
volatile unsigned char x=0;

void INT(void);
void delay(unsigned long gecikme);
void _24C02_yaz(unsigned char veri,unsigned char wadres);
void _24C02_oku(unsigned char wadres);

void main(void)
{
ADCON1 &= 0x0F; //Tüm AN pinleri dijital.
TRISD=0x00;
TRISA=0x00;
TRISCbits.TRISC7=0;
TRISBbits.TRISB0=1;
LATCbits.LATC7=0;
LATD=0;
LATA=0;

INTCONbits.INT0IE=1;
INTCONbits.INT0IF=0;
INTCON2bits.INTEDG0=1;
INTCONbits.GIE=1;
INTCONbits.PEIE=1;


i2c_init(0);
lcd_init();
lcd_clear();
cursor(1,1);
lcd_send_data('V');lcd_send_data('E');lcd_send_data('R');
lcd_send_data('I');
lcd_send_data(':');

i2c_start();
i2c_write(0xA0);
i2c_write(0x28);
i2c_write(0xFF);
i2c_stop();
delay(0x00000FFF);

i2c_start();
i2c_write(0xA0);
i2c_write(0x28);
i2c_write('N');
i2c_stop();
delay(0x00000FFF);
i2c_start();
i2c_write(0xA0);
i2c_write(0x30);
i2c_write('A');
i2c_stop();
delay(0x00000FFF);

i2c_start();
i2c_write(0xA0);
i2c_write(0x28);
i2c_restart();
// delay(0x00000FFF);
i2c_write(0xA1);
veri=i2c_read();
i2c_stop();
delay(0x00000FFF);
lcd_send_data(veri);
veri=0;
delay(0x00000FFF);
i2c_start();
i2c_write(0xA0);
i2c_write(0x30);
i2c_restart();
i2c_write(0xA1);
veri=i2c_read();
i2c_stop();
delay(0x00000FFF);
lcd_send_data(veri);
for(;;)
{
LATCbits.LATC7=1;
delay(0x0000FFFF);
LATCbits.LATC7=0;
delay(0x0000FFFF);
if(x)
{

}
}

}

#pragma code high_vector = 0x08
void high_vector(void)
{
_asm
goto INT
_endasm
}
#pragma code
#pragma interrupt INT
void INT(void)
{
if(INTCONbits.INT0IF)
{
x++;
}
INTCONbits.INT0IF=0;
}
void _24C02_yaz(unsigned char veri,unsigned char wadres)
{
i2c_start();
i2c_write(0xA0);
i2c_write(wadres);
i2c_write(veri);
i2c_stop();
delay(0x00003FFF);
}
void _24C02_oku(unsigned char wadres)
{
i2c_start();
i2c_write(0xA0);
i2c_write(wadres);
i2c_restart();
i2c_write(0xA1);
veri=i2c_read();
i2c_stop();
delay(0x00003FFF);
}
void delay(unsigned long gecikme)
{
while(gecikme--);
}


Çıktı
/usr/bin/make -f nbproject/Makefile-default.mk SUBPROJECTS= .clean-conf
make[1]: Entering directory `/c/Users/NaMcHo/Documents/Projelerim/I2C.X'
rm -f  -r build/default
rm -f  -r dist/default
make[1]: Leaving directory `/c/Users/NaMcHo/Documents/Projelerim/I2C.X'

CLEAN SUCCESSFUL (total time: 902ms)
/usr/bin/make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `/c/Users/NaMcHo/Documents/Projelerim/I2C.X'
/usr/bin/make  -f nbproject/Makefile-default.mk dist/default/production/I2C.X.production.cof
make[2]: Entering directory `/c/Users/NaMcHo/Documents/Projelerim/I2C.X'
rm -f  build/default/production/LCD216_benim.o.d
mkdir -p build/default/production
C:\\MCC18\\bin\\mcc18.exe  -p18F4520 -I"C:/Users/NaMcHo/Documents/Projelerim/I2C.X"  -I C:\\MCC18\\bin\\..\\h  -fo build/default/production/LCD216_benim.o   LCD216_benim.c  > build/default/production/LCD216_benim.err 2>&1 ; if [ $? -eq 0 ] ; then cat build/default/production/LCD216_benim.err | sed 's/\(^.*:.*:\)\(Warning\)\(.*$\)/\1 \2:\3/g' ; else cat build/default/production/LCD216_benim.err | sed 's/\(^.*:.*:\)\(Error\)\(.*$\)/\1 \2:\3/g' ; exit 1 ; fi
C:/Program\ Files\ \(x86\)/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/mplab-cpp  -MMD build/default/production/LCD216_benim.o.temp LCD216_benim.c __temp_cpp_output__ -D __18CXX -I C:\\Users\\NaMcHo\\Documents\\Projelerim\\I2C.X -I C:\\MCC18\\bin/../h  -DPIC18F4520
C:\MCC18\bin\..\h\p18cxxx.h:549: #error Unknown processor!
make[2]: *** [build/default/production/LCD216_benim.o] Error 33
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
make[2]: Leaving directory `/c/Users/NaMcHo/Documents/Projelerim/I2C.X'
make[1]: Leaving directory `/c/Users/NaMcHo/Documents/Projelerim/I2C.X'

BUİLD FAILED (exit value 2, total time: 1s)


Mplab 8.69 main.c
#include <p18f4520.h>
#include <delays.h>
#include "LCD216_benim.h"
#include "i2c.h"

#pragma config OSC = HS , LVP = OFF , WDT = OFF , PWRT = ON , BOREN = SBORDIS
#pragma config PBADEN = OFF ,CP1 = OFF ,CP2 = OFF , CP3 = OFF ,  CPB = OFF, WRTC = OFF
#pragma config WRTB = OFF

unsigned char veri;
volatile unsigned char x=0;

void INT(void);
void delay(unsigned long gecikme);
void _24C02_yaz(unsigned char veri,unsigned char wadres);
void _24C02_oku(unsigned char wadres);

void main(void)
{
ADCON1 &= 0x0F; //Tüm AN pinleri dijital.
TRISD=0x00;
TRISA=0x00;
TRISCbits.TRISC7=0;
TRISBbits.TRISB0=1;
LATCbits.LATC7=0;
LATD=0;
LATA=0;

INTCONbits.INT0IE=1;
INTCONbits.INT0IF=0;
INTCON2bits.INTEDG0=1;
INTCONbits.GIE=1;
INTCONbits.PEIE=1;


i2c_init(0);
lcd_init();
lcd_clear();
cursor(1,1);
lcd_send_data('V');lcd_send_data('E');lcd_send_data('R');
lcd_send_data('I');
lcd_send_data(':');

i2c_start();
i2c_write(0xA0);
i2c_write(0x28);
i2c_write(0xFF);
i2c_stop();
delay(0x00000FFF);

i2c_start();
i2c_write(0xA0);
i2c_write(0x28);
i2c_write('N');
i2c_stop();
delay(0x00000FFF);
i2c_start();
i2c_write(0xA0);
i2c_write(0x30);
i2c_write('A');
i2c_stop();
delay(0x00000FFF);

i2c_start();
i2c_write(0xA0);
i2c_write(0x28);
i2c_restart();
// delay(0x00000FFF);
i2c_write(0xA1);
veri=i2c_read();
i2c_stop();
delay(0x00000FFF);
lcd_send_data(veri);
veri=0;
delay(0x00000FFF);
i2c_start();
i2c_write(0xA0);
i2c_write(0x30);
i2c_restart();
i2c_write(0xA1);
veri=i2c_read();
i2c_stop();
delay(0x00000FFF);
lcd_send_data(veri);
for(;;)
{
LATCbits.LATC7=1;
delay(0x0000FFFF);
LATCbits.LATC7=0;
delay(0x0000FFFF);
if(x)
{

}
}

}

#pragma code high_vector = 0x08
void high_vector(void)
{
_asm
goto INT
_endasm
}
#pragma code
#pragma interrupt INT
void INT(void)
{
if(INTCONbits.INT0IF)
{
x++;
}
INTCONbits.INT0IF=0;
}
void _24C02_yaz(unsigned char veri,unsigned char wadres)
{
i2c_start();
i2c_write(0xA0);
i2c_write(wadres);
i2c_write(veri);
i2c_stop();
delay(0x00003FFF);
}
void _24C02_oku(unsigned char wadres)
{
i2c_start();
i2c_write(0xA0);
i2c_write(wadres);
i2c_restart();
i2c_write(0xA1);
veri=i2c_read();
i2c_stop();
delay(0x00003FFF);
}
void delay(unsigned long gecikme)
{
while(gecikme--);
}


Çıktısı
----------------------------------------------------------------------
Debug build of project `C:\Users\NaMcHo\Documents\Projelerim\C18 Denemelerim\i2c\24C02.mcp' started.
Language tool versions: mpasmwin.exe v5.37, mplink.exe v4.37, mcc18.exe v3.36, mplib.exe v4.37
Preprocessor symbol `__DEBUG' is defined.
Mon May 16 09:51:16 2011
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\Users\NaMcHo\Documents\Projelerim\C18 Denemelerim\i2c\i2c.o".
Clean: Deleted file "C:\Users\NaMcHo\Documents\Projelerim\C18 Denemelerim\i2c\LCD216_benim.o".
Clean: Deleted file "C:\Users\NaMcHo\Documents\Projelerim\C18 Denemelerim\i2c\main.o".
Clean: Deleted file "C:\Users\NaMcHo\Documents\Projelerim\C18 Denemelerim\i2c\24C02.cof".
Clean: Deleted file "C:\Users\NaMcHo\Documents\Projelerim\C18 Denemelerim\i2c\24C02.hex".
Clean: Deleted file "C:\Users\NaMcHo\Documents\Projelerim\C18 Denemelerim\i2c\24C02.mcs".
Clean: Done.
Executing: "C:\MCC18\bin\mcc18.exe" -p=18F4520 /i"D:\MCC18\h" "i2c.c" -fo="i2c.o" -D__DEBUG -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Executing: "C:\MCC18\bin\mcc18.exe" -p=18F4520 /i"D:\MCC18\h" "LCD216_benim.c" -fo="LCD216_benim.o" -D__DEBUG -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Executing: "C:\MCC18\bin\mcc18.exe" -p=18F4520 /i"D:\MCC18\h" "main.c" -fo="main.o" -D__DEBUG -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Executing: "C:\MCC18\bin\mplink.exe" /p18F4520 /l"C:\MCC18\lib" "i2c.o" "LCD216_benim.o" "main.o" /u_CRUNTIME /u_DEBUG /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /o"24C02.cof" /M"24C02.map" /W
MPLINK 4.37, Linker
Copyright (c) 1998-2010 Microchip Technology Inc.
Errors    : 0

MP2HEX 4.37, COFF to HEX File Converter
Copyright (c) 1998-2010 Microchip Technology Inc.
Errors    : 0

Loaded C:\Users\NaMcHo\Documents\Projelerim\C18 Denemelerim\i2c\24C02.cof.
----------------------------------------------------------------------
Debug build of project `C:\Users\NaMcHo\Documents\Projelerim\C18 Denemelerim\i2c\24C02.mcp' succeeded.
Language tool versions: mpasmwin.exe v5.37, mplink.exe v4.37, mcc18.exe v3.36, mplib.exe v4.37
Preprocessor symbol `__DEBUG' is defined.
Mon May 16 09:51:17 2011
----------------------------------------------------------------------
BUILD SUCCEEDED
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Tagli - 16 Mayıs 2011, 09:59:31
MPLAB X'de ben de benzer bir hata alıyorum normal programlarda bile. Garip bir şekilde derleme düğmesine tekrar bastığımda hatasız derliyor. Aynı şey debug için de geçerli. Yalnız "clean" olan düğmeye (üzerinde süpürge olan) basmadan dene, diğerini kullan.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: NaMcHo - 16 Mayıs 2011, 10:05:08
Şimdi düzeldi  :D bende hep ilk derlememi yaptıkdan sonra süpürge ile derliyodum , Mplab-x e devam
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: EMG81 - 16 Mayıs 2011, 21:25:51
Evet sorunum çözüldü. sağolasın FX.

Bu sorun neden oluyor ? Yani bir derleyicinin bu tarz bir sorunu olmaması lazım bence..  >:(
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: EMG81 - 16 Mayıs 2011, 21:31:47
Bir dakika ! Verdiği çıktılar aşağıdaki gibi ama Program hex file üretmiyor.. !

make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `/c/Users/Desktop/testio/Mplabx deneme.X'
make  -f nbproject/Makefile-default.mk dist/default/production/Mplabx_deneme.X.production.cof
make[2]: Entering directory `/c/Users/Desktop/testio/Mplabx deneme.X'
make[2]: `dist/default/production/Mplabx_deneme.X.production.cof' is up to date.
make[2]: Leaving directory `/c/Users/Desktop/testio/Mplabx deneme.X'
make[1]: Leaving directory `/c/Users/Desktop/testio/Mplabx deneme.X'

BUİLD SUCCESSFUL (total time: 804ms)
Loading C:/Users/Desktop/testio/Mplabx deneme.X/dist/default/production/Mplabx_deneme.X.production.cof...
Loading completed



Ayrıca 5-10 kerede bazen 1-2 kerede 1 kez hata veriyor. Hiç birşeyi düzeltemeden Tekrar build diyorum. BU sefer hiç hata vermiyor..
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: EMG81 - 16 Mayıs 2011, 22:05:21
C:\Program Files\HI-TECH Software\PICC-18\PRO\9.65\dat

İçerisindeki dosyaya Kullandığım MCU nun önüne PIC yazınca Pic in registerlarına ulaşamıyor fakat hatada vermiyor, Hex üretmiyor 2-3 kerede 1 hata veriyor. Klasik Mplab 8.60 ile denedim. Dosya içerisindeki PIC yazısını kaldırdım. Onda herşey sağlam. Hex ini de üretiyor, hatasız da derliyor. Mplab x "beta" tabirinden kurtulana kadar gereksiz bir derleyici olmaktan kurtulamayacak gibi.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Erhan YILMAZ - 17 Ağustos 2011, 14:34:07
Microchipin kendi c18 derleyicisini kurdum fakat mplapx'e adapte edemedim.Proje oluşturacakken sadece mspasm ile asm30 derleryicisi görünüyor.Tool kısmından yeni derleyici ekliyeyim dedim c18in kurulu olduğu dizini gösteriyorum fakat bi sonuç alamadım. Nasıl yapıldığını bilen arkadaşlar yardımcı olabilir mi?
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Tagli - 17 Ağustos 2011, 15:07:28
MPLAB 8 ile MPLAB X'in kullandığı C18 derleyicileri farklı olabilir. Buradaki (http://ww1.microchip.com/downloads/mplab/X_Beta/installer.html) C18'i çekip dene. MPLAB X içinde yer göstermeye gerek kalmadan çalışması lazım.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Erhan YILMAZ - 17 Ağustos 2011, 15:20:08
Sağol hocam hemen çekip deniyorum. Peki c18 için hangi lite sürümü tavsiye edersiniz. Hitechmi mcc18 mi? Birde mplab ide üzerinde mcc18 projesi açtım kodlar içinde asm komutlarda vardı mcc18 derleyici hata verdi. Bu sorunu nasıl aşabilirim? Asm komut kullanmak için projede ne gibi değişiklikler gerekiyor?
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Erhan YILMAZ - 17 Ağustos 2011, 15:23:47
Hocam bu arada bahsettiğinizi derleyicileri de kurdum sonuç aynı proje oluştururken derleyicileri görmüyor.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Tagli - 17 Ağustos 2011, 15:29:22
C18 denince benim aklıma, şimdiki adıyla "Microchip C Compiler for PIC18 MCUs" olarak bilinen derleyici geliyor. Yani Hi-Tech derleyicisi C18 olarak bilinmez. Benim deneyimlerim maalesef C18 ile sınırlı. Hi-Tech için yorum yapamam.

Henüz hiç C ve assembly kodunu karıştırma deneyimim olmadı. Ancak, C18'de kesmeler için bir satır asm kodu yazmak gerekiyor. MPLAB X bu asm kodlarının altını çizip hatalı olduklarını söylüyor. Ancak derleme sırasında herhangi bir hata vermiyorlar ve program sorunsuz çalışıyor.

MPLAB X'i bayadır Linux üzerinde kullanıyorum. Zamanında Windows üzerinde de kurmuştum ama bu tür bir sorunla karşılaştığımı hatırlamıyorum. Bir ara Windows'takini silip yeniden yükleyerek (zaten eski versiyon vardı) sonucu yazarım.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Erhan YILMAZ - 17 Ağustos 2011, 15:34:00
Evet hocam bende o tek satırlık kesme programının çağıran komuttan bahsediyorum mplap ide üzerinde hata veriyor. Mplabx üzerinde deneyemedim malesef. İlginiz için teşekkürler sonuçlarınızı bekliyorum. Bu arada hangi linux sürümünü kullanıyorsunuz?
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Tagli - 17 Ağustos 2011, 15:38:57
Xubuntu 10.04. Eski LTS (long term support) versiyonu ama yeni versiyonda dizüstü bilgisayarın wireless'ını tanıtamadım bir türlü nedense. Ubuntu'dan Xubuntu'ya geçiş ise GNOME 3'e alışmakta zorlanmam sebebiyle oldu. Xfce daha sade ve hızlı gibi, ama bazı eksikleri var tabi.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Erhan YILMAZ - 17 Ağustos 2011, 15:41:02
Hocam peki bu xubuntunun ubuntudan farkı nedir? Bende notebooku formatlayıp ubuntuyu kurmayı düşünüyorum? Xubuntu dah mı iyi?
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Tagli - 17 Ağustos 2011, 15:56:27
Görsellik ve masaüstü kullanımı haricinde hiçbir farkı yok. Bir de içinde gelen programlar biraz farklı olabilir. Xubuntu da zaten Ubuntu. Tek farkı, masaüstü ortamı olarak GNOME değil Xfce kullanıyor. Bir de Kubuntu var, o da KDE kullanıyor. Bence hepsini birer CD'ye çekip ayrı ayrı dene. Kurulum CD'leri aynı zamanda live cd oldukları için bilgisayara kurmadan denemek mümkün. Eğer bilgisayarın USB'den boot alabiliyorsa, flash bellek üzerinden de çalıştırabilirsin. Flash belleğin nasıl hazırlanması gerektiği Ubuntu'nun sitesinde anlatılıyor.

Dediğim gibi, birinin diğerinden iyi olduğunu söylemek yanlış olur. Olay tamamen kişisel tercih meselesi.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Erhan YILMAZ - 17 Ağustos 2011, 19:41:01
Anladım sağolun. Bu KDE pardusta kullanılan masaüstü programı herhalde? O ise ona pardusdan biraz aşinalığım var. Olmadı flasha atar hepsini denerim dediğiniz gibi bilgilendirme için teşekkürler.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Tagli - 18 Ağustos 2011, 10:20:57
Az önce Windows tarafındaki tüm Microchip programlarını yeni versiyonlarını yüklemek üzere sildim. MPLAB 8, MPLAB X ve C18'in son versiyonlarını yükledim.

Öncelikle, yukarıda bahsettiğim konuda yanılmışım. MPLAB 8 ve MPLAB X aynı C18 kurulumunu kullanıyormuş.

Ancak, MPLAB X herhangi bir ayar gerektirmeden derleyiciyi tanıdı. Bilmiyorum, belki de önceki kurulumdan arta kalan registery falan gibi bir yerlerden faydalanarak bulmuştur, ama dediğim gibi, daha önce de bu konuda sorun yaşadığımı hatırlamıyorum.

Aynı şekilde MPLAB 8 de yeni kurulan C18'i sorunsuz olarak gördü.

Eğer sorunun devam ediyorsa, MPLAB X'te derleyicilerin yerini elle göstermeyi deneyebilirsin. Gerekli ayar Tool -> Options -> Embedded -> Build Tools menüsü altında.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Erhan YILMAZ - 18 Ağustos 2011, 14:59:51
İlginiz için teşekkürler. Olabilir hocam işletim sistemini de bayağıdır yenilemiyordum. Bi ara formatlayıp öyle deniyeyim. Hocam şu ubuntu ile ilgili son bir soru daha sorayım. Ubuntu da ntfs sürücüleri tanımama sorununu aşabildiniz mi? Kubuntu veya Xubuntu da da aynı sorun var mı? Pardusta böyle bir sorun görmedim Ubuntuda görünce garipsedim açıkcası.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Tagli - 18 Ağustos 2011, 15:09:10
Ubuntu herhangi bir ayara gerek kalmadan, ntfs biçiminde formatlanmış Windows tarafına erişebiliyordu. En azından yeni versiyonları öyle, eskilerini hatırlamıyorum. Xubuntu 10.04 ise otomatik olarak görmüyor o sürücüyü, daha doğrusu otomatik olarak mount'lamıyor. Konsoldan komut yazıp yapmak gerekiyor. Komutu başlangıçta otomatik olarak çalıştırmak da mümkün ama kurcalamadım hiç.

Belki sendeki durum da aynıdır. Sürücünün gözüküp gözükmediğini "Disk Utility" adındaki program ile görebilirsin. Bu programda, gözüken bölümü mount'laman da mümkün.
[IMG]http://i51.tinypic.com/2mpj51y.png[/img]
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Erhan YILMAZ - 18 Ağustos 2011, 15:11:10
Peki hocam anladım sağolun.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: vastar - 24 Ağustos 2011, 15:28:37
merhaba arkadaşlar benimde bir sorum olacaktı. şimdi CCS C kullanıyordum ancak mplab X e geçme kararı aldım. Microchip in bütün derleyicileri indirip kurdum. Lite edition olarak kurulu hepsi. Help dosyasından başladım okumaya. İşte yeni proje oluşturmak felan. Help dosyasında adam oluşturuyor main dosyası headerlar ile birlikte hazır ve nazır geliyor adamın koyduğu ekran görüntüsünde. Bende help dosyasındaki anlatılanların hepsini yapıyorum ancak ne header geliyor ne main dosyası geliyor bom boş bir proje oluşuyor. Bu sorunu nasıl aşabiliriz. Birde önceki sayfalarda saçma sapan derleme hataları verdiğini yazmış arkadaşlar şimdi birden düşündüm buna hiç girmeden CCS C ile yoluma devam mı etsem anlamadım??
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Tagli - 24 Ağustos 2011, 15:47:24
CCS C hakkında hiçbir fikrim olmadığı için yorum yapamayacağım. MPLAB X'e entegre edilir mi edilmez mi bilmiyorum.

MPLAB X'te proje oluşturunca bende de bomboş bir ekran geliyor. Buna dosya eklemek kullanıcının görevi. Ama hiç zor değil. Zaten yeni dosya ekleme menüsünde  hazır örnek dosya olabiliyor. Header'ları ise eklemeye zaten gerek yok. Kurulumla beraber gelen standart header'lar zaten #include yazarken çıkıyor. Ctrl + Space'e basılarak IDE'nin yardımcı olması sağlanabilir. Ancak kullanıcı kendisi bir header yazmışsa, onun projeye ekli olması gerekiyor.

Hi-Tech C'yi de hiç denemedim ama MPLAB X'te C18'i sorunsuz olarak kullanıyorum, buna Linux ortamı da dahil.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: vastar - 24 Ağustos 2011, 16:38:46
Kendi sample dosyasını bile derlemiyor ne biçim iş anlamadım gitti bizdemi sorun var bu adamlarda mı sorun var çözemedim kaç saatimi yedi bu iş. Microchipin saçmalığıyla uğraşacağıma daha faydalı şeylere vakit ayırabilirdim.

Bu resim kendi sample dosyasının direk build edilmeye çalışılmış hali.
[IMG]http://img853.imageshack.us/img853/4295/hata1y.th.jpg[/img] (http://imageshack.us/photo/my-images/853/hata1y.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)

Bu da Fx in önerdiği tekniğin yapılması

[IMG]http://img705.imageshack.us/img705/1339/hata2u.th.jpg[/img] (http://imageshack.us/photo/my-images/705/hata2u.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)

ini dosyası değiştirildikten sonra aldığım diğer hata bu seferde TRISB yi tanımadı.

[IMG]http://img845.imageshack.us/img845/3632/hata3.th.jpg[/img] (http://imageshack.us/photo/my-images/845/hata3.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Tagli - 24 Ağustos 2011, 16:55:59
Hi-Tech C bilmediğim için soruyorum, programın başında işlemcinin .h dosyasını #include ile göstermek gerekmiyor mu? C18'de öyle yapılıyor çünkü.
Şuna benzer birşey yani:
#include <p18f252.h>
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: vastar - 25 Ağustos 2011, 14:38:36
bu işin hitech ile alakası yok. Durum şu.

ANSI-C de #include komutu bizim gerçek hayattaki kopyala yapıştır ifadesinin aynısıdır.

yani senin yazdığın kodlar derlenmeden önce kodlara eklediğin *.h uzantılı dosyaların içindeki kodlar esas kod bluğuna eklenir ve ondan sonra derleme işlemi yapılır.

Örnek: notepad e şunları yaz uzantısı .h olcak şekilde kaydet ve o notepad dosyasını kullandığın derleyicinin source dosyalarının olduğu yere yapıştır
---------------------------------------------------------------------------
/* Bu header file olacak tır. cabbar.h olarak kaydet bunu*/

printf("Merhaba dünya/n");

-----------------------------------------------------------------------------------

Esas program dosyası

#include <cabbar.h>

int main (void)
{
   
return (0);
}

şimdi sen bu kaynak kodu yazdın sonra compile dedin hangi derleyici olursa olsun farketmez. Derleme işlemine geçmeden önce önişlemci komutları dediğimiz ve kesinlikle # işaretiyle başlayan komutları işler. Ne demiştik #include komutu kopyala yapıştır gibi çalışır demiştik. İşte compile dediğin zaman derleyici önceden tanımlanmış olan bir klasörün içinde cabbar.h dosyasını arar. Bulduğu zaman onun içindeki yazıyı aynen kopyalayıp kaynak koda ekler.

yani özetle bir kaynak kodun derlenmesi aşağıdaki gibi işler

Kaynak Kod ----------|| Ön işlemci komutların çalıştırılması || --------------- || Derleme işlemi || --------- Object file, hex file


Yukardaki kodların önişlemci işlemlerinden geçirildikten sonraki hali aşağıdaki gibidir.

printf("Merhaba dünya/n");
int main (void)
{
   
return (0);
}

işte derleyiciye yukardaki gibi gider kodlar.

Faydam dokunmuştur ümidiyle.

Daha güzel ve ayrıntılı bilgi için
internette
başlık dosyaları nedir?
önişlemci komutları nedir?
c compiler lar nasıl çalışır?

aramalarını yapabilirsin.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Tagli - 25 Ağustos 2011, 14:56:15
vastar, teşekkürler ancak bu anlattıklarını biliyordum zaten. Bilmeyen arkadaşlar için güzel anlatmışsın, eline sağlık.

Sen sorunu çözebildin mi? Yukarıdaki mesajımda anlatmaya çalıştığım şey, ilgili işlemcinin header dosyası eklenmediği zaman derleyicinin örneğin PORTB gibi sabit tanımlamalarını bilemeyeceği idi. Vermiş olduğun son ekran görüntüsündeki gibi hatalar genelde bundan kaynaklanır.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: vastar - 26 Ağustos 2011, 10:10:31
mplab i şimdilik bıraktım. pic ile işim olursa ccs c ile hallediyorum. Şu anda enerjimi başka bir projeye ayırmaya başladım. Bunun içinde keil ile haşır neşir olmam lazım bir de projemde Allah nasip eder de bitirebilirsem EMI çok önemli. EMI ile alakalı bilgi araştırıyorum. MPLAB X e gelince görselliği ve CCS C den çok daha güzel gel bana kod yaz der gibi :D ancak hala beta ve ben şahsen microchip in kobayı olmak istemiyorum. Bütün sorunları düzeltilip gerçek sürümü çıktığında kullanmaya başlayacağım. Belki benim takıldığım ya da becemediğim nokta basit bir nokta çünki hatırı sayılır bir mplab X kullanıcısı var dünyada ve burda ancak saatlerce forum forum gezip nerde hata var diye aramak istemiyorum. Çünki okumam gereken çok fazla kitap var onları okurum daha iyi. Özetle şimdilik CCS candır :) . İlerde MPLAB X e geçicem gibi.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: ErsinErce - 26 Ağustos 2011, 14:35:36
<htc.h> eklemeniz yeterli
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: vdtklc - 18 Eylül 2011, 19:10:25
Merhaba arkadaşlar MPLAB x de C18 compiler i kullanırken bir sıkıntıyla karşılaştım.
.h uzantılı dosyada #include <> dediğim zaman hiçbir şey bulamıyor.İçine yazdığım ifadeleride hatalı sayıyor.Sadece benim tanımladığım .h uzantılarını bulabiliyor.Acilen yardım.Bu sıkıntıyla karşılasanınız olmuştur umarım.
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: nos89 - 05 Nisan 2012, 00:46:46
 bende bu hatayi alıyorum anlamadım gitti kaçgündür halletmeye çalışyorum olmadı yardımcı olursanız sevinirim yazdıgım kodlarda aşagıda

make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `C:/Users/Muro/MPLABXProjects/het.X'
make  -f nbproject/Makefile-default.mk dist/default/production/het.X.production.hex
make[2]: Entering directory `C:/Users/Muro/MPLABXProjects/het.X'
"C:\Program Files\HI-TECH Software\PICC\9.82\bin\picc.exe" --pass1 ../main.c  -q --chip=PIC16F628A -P  --outdir=build/default/production/_ext/1472 -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"
make[2]: *** [build/default/production/_ext/1472/main.p1] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
:: error: chip "PIC16F628A" not present in chipinfo file "C:\Program Files\HI-TECH Software\PICC\9.82\dat\picc.ini"
make[2]: Leaving directory `C:/Users/Muro/MPLABXProjects/het.X'
make[1]: Leaving directory `C:/Users/Muro/MPLABXProjects/het.X'

BUİLD FAILED (exit value 2, total time: 447ms)


Program:


/*
* File:   newmainpicc.c
* Author: Muro
*
* Created on 05 Nisan 2012 Per?embe, 00:13
*/

#define __PIC16F628A_H
#include "pic.h"

int main(void) {
    return 0;
}
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: Kazım - 10 Nisan 2012, 07:17:10
:: error: chip "PIC16F628A" not present in chipinfo file "C:\Program Files\HI-TECH Software\PICC\9.82\dat\picc.ini"

picc.ini Dosyasında PIC16f628A chip'i ilgili bilgi yok diyor.Şu örneği derlemeyi dene

boş sayfa aç

#include <htc.h>

void main(void)
{

   for ( ; ; )
       {
       
        }

}

yaz c uzantılı olarak kaydet ve sources kısmına ekle ve derle .Normalde hata almaman lazım
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: nos89 - 13 Nisan 2012, 00:55:27
ewt senin dedigin gibi yaptım ama bu seferde şu şekilde hata aldım




newmainpicc.c:15: error: function "_main" redefined
make[2]: Leaving directory `C:/Users/Muro/MPLABXProjects/het.X'
make[1]: Leaving directory `C:/Users/Muro/MPLABXProjects/het.X'
make[2]: *** [dist/default/production/het.X.production.hex] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

BUİLD FAILED (exit value 2, total time: 875ms)
Başlık: Ynt: Hi-tech ve Mplabx derleme sorunu
Gönderen: gogge - 06 Ağustos 2012, 04:26:15
Asm ve hi-tech pic c'nin çeşitli sürümleriyle kullanıyorum MPLABX'i. Kod yazması zevkli. Derleme süresi hızlı sayılır. Derleyicileri kurduktan sonra tek yaptığım dili İngilize yapmak. Kobay olmaya falan da gerek yok. Gayet stabil çalışıyor.