xc8 tcp/ip stack çalıştırma?

Başlatan Gökhan BEKEN, 30 Nisan 2013, 15:36:13

Gökhan BEKEN

Barış Samancı çok güzel bilgiler vermiş. http://www.barissamanci.net/Makale/3/microchip-stack-v520-yaptiginiz-donanimlari-dunyaya-acin/
Ethernet konusunda MikroC nin çözümleri bana yetmediği için illaki microchip'in stack'ı ile çalışmam gerekiyor.
Barış bey c18 dili için anlatım yapmış ben xc8 kurdum daha yeni olduğu için(60 günlük full sürüm). Stack için toplu kurulum olayına girmişler.
Yani sadece tcp/ip değil genel olarak bütün kütüphaneleri birden indirdim.
bu sayfadaki: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en547784
bu linkten son sürüm kütüphaneleri indirdim: http://ww1.microchip.com/downloads/en/softwarelibrary/microchip-application-libraries-v2013-02-15-windows-installer.exe

bu kurulum ile tcp ip stack 5.42.06 versiyonu ile kurulmuş oldu.
Başlat çubuğundan tcp/ip wizard programını çalıştırıp ayarları da yaptım.
Ancak sorun örnek proje bulamadım sadece board devreleri var:


Benim zaten hali hazırda mikroc ile çalıştırabildiğim bir devre var bana sadece yazılım lazım.

işin özü sorularım şu:
1-kurulum yaparken bana java ortam yürütücüyü kurmak isteyip istemediğimi sordu ben kurma dedim. Java gerekli mi?
2-c18 ile yazılmış bir ethernet projesini xc8 ile çalıştırabilir miyim?
3-Sıfırdan bir ethernet projesi yapmak yerine xc8 için yazılmış basit bir örnek var mı? Sayfada merhaba dünya yazsın yeter(şimdilik)
4-Sizce xc8 ile devam mı edeyim yoksa daha eski sürüm olan c18 ile mi devam edeyim?
Özel mesaj okumuyorum, lütfen göndermeyin.

arslan74

Bende C18 den XC8 e geçerken ilk başta çok problem yasamistim. Ilk çıkan xc8 versiyonların da vardı. Ama yeni versiyonlarında bunların hepsini çözdüler. Yeni versiyon kütüphaneleri hepsini xc göre uyarladilar. Dolaysıyla xc geçmekte ilk başta belki biraz zorlanabilirsiniz. Ama daha sonra çok büyük faydasıni gorebilirsin.

Gökhan BEKEN

Teşekkürler hocam fazla ilgilenen yok galiba xc8 ile.
Stack konusunda bilginiz var mı? Projeye kütüphaneyi nasıl dahil edeceğim ya da hazır bir deneme projesini nerden bulacağım?
Özel mesaj okumuyorum, lütfen göndermeyin.

arslan74

Alıntı yapılan: meftun - 02 Mayıs 2013, 01:32:12
Teşekkürler hocam fazla ilgilenen yok galiba xc8 ile.
Stack konusunda bilginiz var mı? Projeye kütüphaneyi nasıl dahil edeceğim ya da hazır bir deneme projesini nerden bulacağım?

Merhaba,

Microchip'in için de örnek kodları var.

"C:\Microchip Solutions v2012-08-22\TCPIP"

verdiğim klasörün içinde bir örnek kodlar var onları bir incele. Eminim istediğin örnekleri bulacaksın.

Selamlar

Gökhan BEKEN

Hocam o projeyi bir türlü derleyemedim.
Mplab'ı açtıktan sonra open project ile projeyi açmaya kalktığımda config gibi içinde c dosyaları bulunan klasörleri es geçip direkt MPLAB.X klasörünü açmak zorunda kalıyorum. Diret demo app klasörünü olduğu gibi proje kabul etmiyor sadece mplab.x klasörünü proje olarak kabul ediyor bu birinci sorun.


2. sorun ise derleyici seçerken xc8 i bulamamam. Listede c18 den xc32 ye kadar birsürü seçenek olmasına ramen xc8 yok. Dolayısıyla onun için de extra hata veriyor.


Bunun dışında ben kullanacağım pic'in adını nereye yazacağım onuda bulamadım. Ama bu sorun değil şimdilik daha derlemeyi beceremedim.
Özel mesaj okumuyorum, lütfen göndermeyin.

Gökhan BEKEN

#5
Sonunda c18 ile bu projeyi yapmaya karar verdim. Bütün microchip programlarını kaldırıp mplab ide 8.90 kurup üstüne de c18 3.45(lite versiyon) kurdum. Son olarak tcp/ip stack 5.20 sürümünü kurdum. İstedimki Barış Samancı hocanın kullandıklarıyla aynı olsun ki problem çıkmasın. İyi de yaptığımı düşünüyorum. Daha önceden derleyemediğim "tcp ip demo app" projesini derleyebildim. Ancak demo app projesinde 18F97j60 ve harici eeprom kullanılmış. İşlemciyi değiştirmeden tcp/ip wizard ile eeprom yerine dahili flash memoryi seçtiğimde derlemiyor. Configure menüsünden select deviceye tıklayıp işlemci için 18f4620 yi seçtiğimde verdiği hatayı resimde görebilirsiniz:

Bende dedim ki Barış Samancının modifiye ettiği tcp ip demo app projesine bakıyım hiç birşeyini değiştirmeden derleyim dedim.
Aşağıdaki hataları veriyor( not: 18f4685 kullanılmış yani çalışsa işimi görecek 18f4620 ile benzer olduğu için)
Resim:
Özel mesaj okumuyorum, lütfen göndermeyin.

Gökhan BEKEN

Evet bu kısmıda hallettik
LCDBlocking.c dosyasını açtım
normalde böyle:
//#define FOUR_BIT_MODE
#define SAMSUNG_S6A0032		// This LCD driver chip has a different means of entering 4-bit mode. 
yazıyor

Bu satırları

#define SAMSUNG_S6A0032		// This LCD driver chip has a different means of entering 4-bit mode.  
//#define FOUR_BIT_MODE
şeklinde değiştirdim yani 4 bitlik lcd haberleşmesi seçeneğini seçip diğer modu iptal ettim. LCD sorunu çözüldü.
Şimdi zannımda daha basit bir sorun var, kütüphane dosyalarını bulamıyor. Yardımcı olurmusunuz nerden bulabilirim bu dosyaları. Aslında ben pwm felan istemiyorum komple iptal edebilsem iyi olur.
Özel mesaj okumuyorum, lütfen göndermeyin.

Gökhan BEKEN

Kendi kendime konuşuyorum ama bu sorunun da sebebini buldum.
Sol taraftaki "file not found" yazan dosyalara sağ tıklayıp "locate missing file" deyip. Açılan pencereden adresi "C:\Program Files\Microchip\mplabc18\v3.45\src\pmc_common" klasörü altından ilgili dosyaları bulup değiştirdiğimde sorun düzeldi. Projeyi derleyebildim.
Sadece ufak bir problem kaldı sanki. Derleyebildiğim proje 18F4685 için yazılmış. 18F4620 yi seçtiğimde aşağıdaki hatayı veriyor:
Error - section '.code_Hashes.o' can not fit the section. Section '.code_Hashes.o' length=0x00000b06
Errors    : 1

Bunu nasıl çözebilirim.
Özel mesaj okumuyorum, lütfen göndermeyin.

striger

#8
18F4620 nin hafızası 32K yeterli değil sanırım
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2505&param=en535724
Alıntı YapThe stack is modular in design and is written in the 'C' programming language. Effective implementations can be accomplished in roughly 28-34 KB of code, depending on modules used, leaving plenty of code space on Microchip's cost effective, high-density microcontrollers for the user application.
18F4685 ile derlediginde olusan .hex in boyutunu kontrol edebilirsin

Gökhan BEKEN

Teşekkürler, dediğiniz gibi oldu. Daha büyük hafızalı piclerde derliyor ama 18f4620 için derleyemiyor.
23 liraya pic mi alınır bilemiyorum ama başka yerde bulamadım. Sizce fiyatı normal mi?
http://www.elektriksel.com/pic18f4685-i-p.html
Özel mesaj okumuyorum, lütfen göndermeyin.

striger

 farnellde de yaklasık aynı sanırım fiyatı, pek uygun gorunmuyo ama yeri gelince 20 lira ya pic aldıgım oldu madem bulastık mantıgınla

kantirici

#11
Barış samancı dökümanda geliştiemek için  olabildigince yüksek hafızalı kullanın demiş. expkitsde 46k80 var 64kbit 10 lira. Belki buda iş görür.

Birdem 128K hafızalı dip kılıf PIC18F27J53 gördüm.

http://www.biltekelektronik.com/index.php?route=product/product&product_id=260

Gökhan BEKEN

Kafaya koydum arm'a geçeceğim. Bu ne ya bi projeyi yapabilmek için 50 takla atıyoruz.  8 bitlik pic 23 lira, o da bulabilirsen. Parası önemli değil de 3 tane dil değiştirilmez ki bir proje için. CCS C kullanıyordum MikroC ye geçtim o da yetersiz geldi MPLABX ve xc18 kurdum sorun oldu MPLAB ve c18 kurdum bi şekilde yaptık ama hafızası dar geldi. Zamana yazık.
Özel mesaj okumuyorum, lütfen göndermeyin.

arslan74

Alıntı yapılan: meftun - 06 Mayıs 2013, 17:59:12
Kafaya koydum arm'a geçeceğim. Bu ne ya bi projeyi yapabilmek için 50 takla atıyoruz.  8 bitlik pic 23 lira, o da bulabilirsen. Parası önemli değil de 3 tane dil değiştirilmez ki bir proje için. CCS C kullanıyordum MikroC ye geçtim o da yetersiz geldi MPLABX ve xc18 kurdum sorun oldu MPLAB ve c18 kurdum bi şekilde yaptık ama hafızası dar geldi. Zamana yazık.

PIC32 ye gec cok daha kolay olur.

tyildizak

Alıntı yapılan: kantirici - 06 Mayıs 2013, 17:52:30
Birdem 128K hafızalı dip kılıf PIC18F27J53 gördüm.

http://www.biltekelektronik.com/index.php?route=product/product&product_id=260

Bu mcu güzelmiş, 13,33 lira, 128 kb, full speed usb 2.0, ctmu, 2 usart, 12 bit adc, rtc de var. Ama dip kılıf değil sanırım.

Alternatif olarak 87k22 de kullanılabilir http://www.dorukanstore.com/PIC18F87K22-IPT-RoHS,PR-17040.html