Tercih: CCS haricinde bir C derleyici

Başlatan Erol YILMAZ, 12 Temmuz 2008, 21:05:58

Erol YILMAZ

6 sene CCS kullanmış birisi olarak,
C programlamaya yeni başlayan arkadaşlar,
PIC için C derleyiciler içinde en pratik olan CCS i
özellikle önermiyorum.

Pratikliği ve sürücü bolluğu sizin görüşünüzü bozmasın.

Büyük düşünün ve CCS ten vazgeçin.

Neden?
Yaptığınız işlerin kaliteli olmasını istiyorsanız
CCS in yaptığı kişisel yorumlar size engel olabilir.

Neden?
Yazdığınız kod bu üreticiye bağlı kod olur, Başka platforma
dönüşümü çok zordur.

Neden?
TMR0 kesmesi oluşturursunuz, bu arada normal komutlarla
gidip delay komutunu kullanırsanız derleyici de bunun için
önce gider interruptları iptal eder, sonra gecikmeyi gerçekleştirir.
delay komutu tam istediğiniz gibi çalışmıştır fakat,
arada bir çok interrupt es geçilmiştir !

Neden?
İşlemci ile aranızda bir set oluşur. Datasheete bakarak yazılım
yazma zevkiniz ortadan kalkar. Registerlere direkt ulaşamazsınız.

Belki başka sebepleri de vardır fakat daha fazla uğraşmak
istemiyorum.

Peki ne yapacağız?
PIC in 18 ve 24 serileri için Microchip in C derleyicisi ilk tercihim.
16 serileri için Microchip in C derleyicisi yok.
Onu da Hi-Tech kapatıyor.

einstain90

Peki ilk başlangız için neyi tercih etmememiz iyi olur.Ben epeydir picbasic kullanıyodum ama şimci c dilini öğrenmek istiyorum.Çünki c dilinde nette daha fazla örnek var ve daha gelişmiş bir dil.
Her işte her zaman bir aksilik çıkar.Siz yeterki pes etmeyin...

picusta

CCS kullandigina bizzat sahit oldum, memnun görünüyordun,birgün böyle düsünecegini bilmiyordum.
Tabii ki prototip, ufak ve çabuk bir devre yapmak için avantajlari var. Ama dedigin gibi sorunlar çikariyor: debug zorlugu (C'yi kendisine göre yorumladigi için), kalite ve profesyonellik kalmiyor.
CCS PIC24 için kod üretebiliyormuydu? Hani CCS'te 16 serisinden bir üst PIClere (18) geçmek kolaydi?

Erol YILMAZ

Alıntı yapılan: "picusta"CCS kullandigina bizzat sahit oldum, memnun görünüyordun,birgün böyle düsünecegini bilmiyordum.
Tabii ki prototip, ufak ve çabuk bir devre yapmak için avantajlari var. Ama dedigin gibi sorunlar çikariyor: debug zorlugu (C'yi kendisine göre yorumladigi için), kalite ve profesyonellik kalmiyor.
CCS PIC24 için kod üretebiliyormuydu? Hani CCS'te 16 serisinden bir üst PIClere ( 18 ) geçmek kolaydi?

Picusta :)
Sanırım bakış açım değişti biraz.
Daha önce Ürün gözlüğü ile bakıyordum.
Şimdi ise Sistem gözlüğü ile bakıyorum.

CCS kullanmak bi yere kadar keyifli tabi, Aşmak lazım ama :)

Gerçek oyuncaklarla oynamalı :D

Logan

Haklısın @Allegro, sana kesinlikle katılıyorum. 2 yıl önce bende Basic'i bırakıp C'ye geçmeye karar verdiğimde CCS son derece cazip gelmişti. O zamanlar CCS'nin bahsettiğin gibi bazı konularda yetersiz olduğundan haberim dahi yoktu. Uzun uzun araştırmalar sonucu Ansi C kullanmaya karar verdim.  Gerek ASM'ye yakınlığıyla, gerekse hemen hemen bütün işi kullanıcıya bırakıyor olması ile Ansi C, insanı resmen öğrenmeye, araştırmaya ve çözüm üretmeye mecbur bırakıyor :)
İmza.

mucitotomasyon

yani bence ccs sanıldıgı kadar  kötü bir derleyici değil bazı dezavantajları olsada ccs pratiklik acısından mukemmel bir derleyci c cok az bilen bir kişi bile prof. projeler rahatlıkla cıkarabilir. tmr0 icinde delacalışmasına gelince yeni sürümlerde bu sarunlar yok  ama tabi eproma yazma bitlerinin kontrolunu etmek mumkün değil  ancak  program satırlarına asm kod yazmak mumkun bu şekilde ben bazı sorunları hallediyorum . ccs nin enbüyük avantajda geniş bir driverın olması  bu da projelede asırı derece zaman  kazanılmasına saglıyor ve ucuz bir derleyici

iyonosfer

CCS-C derleyicisinin hızlı iş çıkarmadaki üstünlüğü tartışılamaz. Dahili fonksiyonları ve hazır driverları sayesinde pratik ve hızlı çözümler üretebilirsiniz. Proje istediğiniz gibi çalışıyorsa yaptığınız iş kalitesiz olmuş sayılmaz. Özel bir derleyici olması nedeniyle başka paltformlara kodu taşımakta diğerlerine  göre zorlanacağınız doğru fakat, PIC için bir kod yazmışsınız ve güzel güzel çalışıyorsa bunu başka platforma niye aktarasınız?

Ben PIC için kod geliştirecek programcı profilini şöyle çiziyorum;
Az da olsa assembler bilen, C ile kod yazan, yazdığı derleyiciye asla bağımlı kalmayan ve gerektiğinde #use rs232 direktifi vermek yerine data sheet'e bakip kendi UART rutinini yazabilen insan tipi :)

Ayriyeten CCS-C derleyicisinin hazır fonksiyonlarının hicbirini kullanmadan da kod yazabilirsiniz ve bu kodu diğer platformlara aktarmakta zorlanmazsınız. Diğer derleyicilerde çip'in SFR'lerinin tanımlandığı dosyalar vardır, aynı dosyaları siz CCS-C için de oluşturabilirsiniz.

CCS-C ile kod yazdığım bir çok ürün şu an piyasada sorunsuz olarak çalışmakta.

Ben CCS-C' yi bilin ama başka derleyicileride öğrenmekten geri durmayın derim

Saygılar..
Blog Sayfam: www.teknobakis.com

F493

selam;

  Bundan tam 2 yıl önce bir bahar akşamıydı CCS C yi bıraktıgımda 8) .

     Neden diye soracak olursanız ; yapısı rahatsız etti beni sistemden çok uzak herşey makro,fonksiyon ,  hatta ticari bir projeyi bitirdim ona ragmen   bıraktım .
       o projeyi yaptıgımda C nin . sını bilmezdim ve dedimki kendi kendime bukadar kolay ,basit ve birikim,emek gerektirmeden sonuç almak TEHLIKELI .

   Ben uzun süredir forrumdada bunu dile getirdim CCS C kullanmayınız  diye,  basit projeler de olsa.

 Bende 16 serisinde hi-tech kullanıyorum ve 16 serinde c derleyicsi olarak hi-tech üzerine embedded  düzeyde derleyici yok, ben ticari olarakta bir  kaç projemde kullandım.(printf in hatalı çalışması dışında onu da kendimiz yazıyoruz artık).


18 serisinde kendi şahsi fikrim  HI-TECH kullanmayın ben ticari bir projede çok ciddi sıkıntılar yaşadım yine özellikle printf de..

Tabiki yine kendimiz yazarız printf'i ancak program büyüdükçe artık kontrolüde zorlaşıyor o yüzden fazlada dallanmamk lazım diye düşünüyorum.

...ve HI-TECH 9.61 pro da yazdıgım tüm kodu MCC18 e çevirdim.

  Ve şuan programımı tamamladım ,sorunsuz , birde microchip in kendi derleyicisi olunca destek te daha fazla oluyor...

         Bu şekilde C18 kullanımı biraz daha zor ancak tam embedded..

  Çok büyük projelerde  sorunsuz çalışıyor .. açıkcası benim için derleyiciye güven çok önemli ..


*yukarıda yazdıklarım tamamen bu işi profesyonel düzeyde ele alanlar içindir , hobi olarak ugraşanlar veya öylesine ugraşanlar bunları dikkate almayabilir  .nedeni bu tip derleyicilerle yol almak biraz zor ve zahmetli  özellikle çok uzun süre alıyor bazı programları yazmak.

Esen kalın;

KAZIMUGUR

Ustaları bulmuşken CC5X i sormak istiyorum.
Hazır şeylerle olsa da denedim , ciddi biçimde daha az kod üretiyor.Ansi c destekli deniyor.
Buna rağmen neden az tanınıyor ve ya rağbet yok.Picproje de , sanırım ,@macera ve @ipek hocalarım kullanıyor.
Sadece 16-18 serisini desteklediği için mi ? Şirket değilde şahıs malı gibi durduğu için mi ?..
Bizleri aydınlatırsanız seviniriz,teşekkür ederiz.

mucitotomasyon

ccx5 derleyicisi microchip derleyicisidir. ve oldukça pahalı bir  derleyicidir. sonucta pic ürünlerini microchip üretiyorsa derleyicisinide aynı firmanın üretmesi  bu işi daha iyibildikleri anlamına gelir. ama fazla bilinmiyor ama
piyasada kitabı bile mevcut bazı yonleri bizim alısmadıgımız icin olması gerek sorun yaratıyor gibi geliyor. daha az hex kod üretiyor. ücretsiz sürümleride mevcut

KAZIMUGUR


picusta

Alıntı yapılan: "mucitotomasyon"ccx5 derleyicisi microchip derleyicisidir. ve oldukça pahalı bir  derleyicidir. sonucta pic ürünlerini microchip üretiyorsa derleyicisinide aynı firmanın üretmesi  bu işi daha iyibildikleri anlamına gelir. ama fazla bilinmiyor ama
piyasada kitabı bile mevcut bazı yonleri bizim alısmadıgımız icin olması gerek sorun yaratıyor gibi geliyor. daha az hex kod üretiyor. ücretsiz sürümleride mevcut
Arkadasim galiba baska bir derleyici ile karstiriyorsun, dediklerinin çogu yanlis. microchip ile alakasi yok.
PIC için kullandigim ilk derleyici. Hitech'den pahali oldugunu sanmiyorum.

Kendine ait IDE'si olmadigindan baska bir kod editöründe yazmalisin veya MPLAB'a entegre edeceksin.
ücretsiz versyonu 1k'lik kod üretebiliyor. Ama linker script'inde ufak bir ayar ile bu sorun asiliyor (yasal olarak, hiç kürege gerek kalmadan). Hatta forumdan bir arkadas sagolsun bu programa bir kürek yapivermisti.

Fazla kullanilmamasinin sebebi CCS gibi genis fonksyon kütüphanesinin bulunmamasi ve IDE'sinin olmamasi  yeni baslayanlari sogutuyor.

Salih

Alıntı yapılan: "mucitotomasyon"yani bence ccs sanıldıgı kadar  kötü bir derleyici değil bazı dezavantajları olsada ccs pratiklik acısından mukemmel bir derleyci c cok az bilen bir kişi bile prof. projeler rahatlıkla cıkarabilir. tmr0 icinde delacalışmasına gelince yeni sürümlerde bu sarunlar yok  ama tabi eproma yazma bitlerinin kontrolunu etmek mumkün değil  ancak  program satırlarına asm kod yazmak mumkun bu şekilde ben bazı sorunları hallediyorum . ccs nin enbüyük avantajda geniş bir driverın olması  bu da projelede asırı derece zaman  kazanılmasına saglıyor ve ucuz bir derleyici
Bu görüşe bende katılıyorum. CCS C ye haksızlık yapılıyor gibime geliyor. Hazır fonksiyonların ve driver ların olması, kullanılması zorunlu anlamına gelmezki. İsteyen kullanır isteyen kendi kodlarını yazar. Driver ların içi görülebiliyor. Kullanılmasa bile kullanıcaya fikir vererek yardımcı olmaktadır. Compile işlemi sonrasında oluşturduğu assembly kodlarınıda anlaşılır bir şekilde sunmaktadır. Dolayısı ile bir tereddüt kalmamakta bana göre.

Erol YILMAZ

Arkadaşlar,

Başlığı açtığım günden beri Hi-Tech kullanıyorum.

Daha öncede kısa süreli kullanmışlığım vardı.

CCS yi 6 sene aktif olarak kullandım.

Donanıma tam hakimiyet kurmak varken artık CCS kullanmam.
İstediği kadar pratik olsun :)

F493

selam;

        Sevgili Allegro  hangi işlemciler için hi-tech kullanıyorsunuz.
16 serisi ,18 serisi 24serisi .

    Sizin 4 yıllık tecrübeniz sonucunda kafanızda birşeyler oluşmuş ve CCS C den vazgeçmişsiniz.

    Ben yine tekrarlamak istiyorum 16 serisinde hi-tech oldukça iyi( printf'i kendiniz yazdıgınız zaman ).

Ancak 18 ve 24 serisinde C18 kullanın derim çünkü daha kararlı ,ben de 1 yıl HI-TECH kullanmış bir programcı olarak bunu söylüyorum, C18 hem microchip'in kendi derleyicisi hemde destek daha fazla .


Eger C18 de takıldıgınız noktalar olursa ben ve bilen arkadaşlar yardımcı olmaya çalışırız..

esen kalın;