Derleyici Farkı?

Başlatan Tagli, 05 Aralık 2010, 19:42:05

justice_for_all

#15
daha 8 bitliklerin mantigini anlamadan 16 bitlikleri nasil yapmayi dusunuyosunuz peki...

cunku 16 bitlerin registerleri biraz daha karmasik ve ayrintili yeni baslayan birisi soguyabilir...
hem devren kucukse ve 8bitlik denetleyici yetiyosa 16 bitlik kullanmanin amaci nedir?devir ekonomi  devri oldugu icin ureticiler minimum fiyatta urun uretmek istiyolar bana gore 8bitten baslanarak yavasca yukari dogru cikilmasi...(merdiveni teker teker cikmak varken neden ucer ucer cikarak kendinizi yormak isteyesiniz?)
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

cetinkaya

16 bitligi ögrenen 8 bitlikler cocuk oyuncagi gelir.

justice_for_all

okuma yazmayi yeni ogrenen cocuklara neden kelime kelime degilde harf harf ogrettiklerini dusundun mu?
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

cetinkaya

hocam ne alaka 8 bitlik bilmeyen bir islemciyi simdi bilmeyen birisi fpga cpld yi ögrenemezmi yani ? Ordada sifirdan basliyor insanlar belli temel bilgiler haric.

justice_for_all

ogrenir hocam o daha farkli ama 16 bitliktan baslasa bile 8 bitligi yine ogrenmek zorunda bu sitede bile agirlik hangi serilerde projeler yapiliyo ,sorular soruluyo?
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

cetinkaya

tamam orda hakli olabilirsiniz ama ben kendi dusundugumu söyledim.

justice_for_all

dusundugunuze saygi duyuyorum hocam...Iyi Calismalar...
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

cetinkaya

ne zaman ve nereye askere gidiceksin kac aylik ?

iyildirim

Bir buçuk iki yıl kadar öncesine kadar eline bir mikrodenetleyici almamış olan ben, kafamdaki proje için başlamadan önce işlemci, dil, derleyici, örnek uygulamaları  gibi şeyleri yaklaşık 1-2 ay inceledim. Benim avantajım yazılım konusuna hakim olmamdı. Önce proje ihtiyaçlarına göre işlemci belirledim. Bunu yaparken konuya çok yeni olduğum için yurtiçinde bulabildiğim 16 bitlik işlemcilerle başladım. ARM, Atmel vs. gibi diğer işlemcileri düşününce dil olarak; taşınabilirliği ve işlemci üzerindeki hakimiyet vs. gibi nedenlerle daha önce hiç C kullanmamış olmama rağmen C seçtim. Şu anda baktığımda ne kadar doğru karar verdiğimi görüyorum. 16 bitlik değilde PIC18 işlemcilerle çalışsaydım da yine C seçerdim.

sigmoid

basit bir röle kontrolü içinde 16bit işlemci mi kullanalım? Şu ana kadar yaptığım projelerde pic16 serisinden başka picleri dahi nadir kullanmışımdır.

iyildirim

Benim amacım ticari olmadığından röle için de 16 bitlik bir işlemci kullanabilirim.  Sonuçta seri üretim falan yapmıyorum. 
Benim için önemli alışık olduğum ortamın olabildiğince esnek olması. Ayrıca 16 bitlik işlemci kullanın da demedim. Söylediğim "8 bitlik işlemci kullansaydım da PIC18 ve C seçerdim" di.  Herhangi bir işlemciyi de kötülemiyorum .
Düşündüğüm; işlemci seçiminin tamamen uygulamaya, maliyete, esnekliğe vs bağlı olduğu. Bu parametreler de doğal olarak herkese göre değişebilir.
Birşeyler yazmamın nedeni sadece kendime ait karar verme sürecimi paylaşmak.

Tagli

Er ya da geç ileri PIC modellerine (veya PIC harici bir işlemciye) geçmemiz gerekecek çünkü asıl amacımız kontrol teorisi ile ilgili çalışma yapmak ve bu da yüksek bir hesaplama gücü gerektirecek sanıyorum.

Bu arada merak edip dsPIC30F'lerin komut setlerine baktım da, neredeyse C de yazar gibi assembly kodu yazmak mümkün. Döngü kurmak için donanımsal destek bile varmış.
Gökçe Tağlıoğlu

CLR

Alıntı yapılan: muuzoo - 06 Aralık 2010, 19:10:51
Alıntı yapılan: eemkutay - 06 Aralık 2010, 01:59:49
Alıntı yapılan: Tagli - 05 Aralık 2010, 19:42:05
MPLAB C ile HI-TECH C arasında ne fark vardır? Gerçi destekledikleri aileler farklı ama 18 serisi için iki derleyinin de desteği var gibi görünüyor. Program yazımı açısından bir fark var mıdır yoksa fark sadece optimizasyon vs. gibi şeyler için mi söz konusudur?

Karşılaştırmaları burada,
http://www.xargs.com/pic/picc18-vs-c18.html

Ticari uygulamalarda
C18, PICC18'den %29 daha fazla yer kaplıyor, dolayısıyla yavaş çalışıyor,  Hitech daha iyi

Microchip TCP/IP Stack uygulamalarında , microchip stack kullanılırsa
C18 biraz daha iyi

Matematik uygulamalarında ise (floating lerde)
hitech, C18den %137 daha az yer kaplıyor, dolayısıyla hızlı çalışıyor

Microchip boşuna hitech'i almadı, düşünsenize chip'i üreten adamlardan daha iyi code opmizasyonu yapan derleyici yazmışlar.


Yalnız şöyle bir durum var karşılaştırmanın yapıldığı tarih Nisan 2004.  6 yıl önce yapılmış bir karşılaştırma ile şimdi yorum yapmak çok sağlıklı değil bana göre.

Merhaba,

Yorumunu daha yeni okudum, C18 ve PICC18 ikisinide kullandım, hitech kullanıyorum diye yorum yapmıyorum. 6 yıl içinde microchip assembly komut tablosunu mu değiştirdi ki bu karşılaştırma değişsin? Asm komut tablosu değişmediğine göre hitech daha iyi(ydi). Veya microchip hitech'i veya iar'ı örnek alıp biz üreticiyiz ama bizden daha iyi macro yazan adamlar var demekki c18'in asm macrolarını daha çok kompanze etmeliyiz diye karar almışlar veya ne yapsak olmuyor "en iyisi hitech'i satın alalım" diye karar vermiş olabilirler. :)    Hitech kullandım çünkü daha fazla C standartlarına uygun. Bunun anlamı şudur, Microchip C18 deki kodu C30'a bile geçirirken birsürü değişiklik gerekir ama Hitech PICC18den PICC30'a geçirirken işlemci tanımıyla ilgili kısımlardan başka değişiklik gerekmez.  Çoğu insanın C18'i seçmesinin sebebi, üreticinin derleyicisi olması ve library'si, maksat işlemci içine düşmeden kod yazmak. Yoksa hitech'le yazdım kod şişti, c18 ile yazdım rahat çalışıyor diye birşey olmaz. İkiside birbirine çok yakın derleyici.

Sonuç olarak C18 değişti :) evet ama microchip hitech'i satın aldıktan sonra. 
Knowledge and Experience are Power

Tagli

Ben buradaki tabloya bakarak Hi-Tech derleyicisinin 18 serisinde sonra desteği olmadığı sonucuna varmıştım. Ama şimdi farkettim ki Enterprise Edition tüm PIC'leri destekliyormuş.
Gökçe Tağlıoğlu