Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: mokan - 08 Mayıs 2012, 12:09:42

Başlık: Derleyici ve Programlayıcı Seçimi
Gönderen: mokan - 08 Mayıs 2012, 12:09:42
Merhaba arkadaşlar,
        Mikrodenetleyici dünyasına pic ile başladım ama artık avr atmel ile çalışmak istiyorum. PIC serisine başlarken çok bilinçli değildim, insanlar hangi derleyiciyi kullanıyorsa bende onu tercih ettim. Tercih kriterim derleyici kalitesi değildi yani. Haliyle tecrübe kazandıkça bu kriterlerin önemli olduğunu fark ediyor insan.
       Ben de avr atmele geçerken kafama takılan bazı konlarda, ustalara danışayım dedim. Bunlar haliyle derleyici seçimi ve programlayıcılar ile alakalı olacak.
1.) Derleyici olarak avr studio, win avr ve eclipse den hangisini önerirsiniz? neden? bu derleyicilerin birbirlerine göre avantajları ve dezavantajları nelerdir?

2.) Dil olarak C kullanacağım. Ancak merak ettiğim şey şu; yukarıdaki derleyicilerden herhangi birinde yazdığım C kodunu bir diğerinde sorunsuz derleyebiliyor muyuz? Yani bu derleyicilerin arasında kütüphane (temel kütüphaneler) uyumu mevcut mu? Yoksa her derleyicin kütüphanelerinde ki temel fonksiyonlar (örneğin giriş çıkış fonksiyonları, port işlemlerinde kullanılan fonsiyonlar) farklı mı?

3.)Atmel'e geçişle birlikte programlama cihazına da ihtiyacım olacak haliyle. Ancak artık programlama cihazım ile yukarıda saydığım derleyicilerin uyumlu olmasını istiyorum. Ayrıca programlama kartımın bir çok seriyi desteklemesini istiyorum (8 bitlik ve 16 bitlik serinin bir çok entegresi desteklensin) önerebileceğiniz programlama kartları var mıdır?
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: parda - 08 Mayıs 2012, 13:22:18
AVR ler için C dili ile 2 şekilde program yazabilirsiniz.

1. Meşhur GCC nin AVR için uyarlanmış hali. (benim fikrim Avr ile uğraşanların %50 den fazlası kullanıyor)
2. IAR, Mikroelektronika.. vb. ticari markaların paralı C derleyicileri.

Sizin 1.seçeneği seçeceğinizi düşünürsek;

İlk önce WinAvr denen ve içinde GCC AVR derleyicisi, kütüphane dosyaları ve Programmer Notpad adındaki en temel ve basit IDE ihtiva eden paketi indirip kurmak.
avr studio, programmer notepad ve eclipse sadece GCC avr için bir arayüzdür ve sizin dile getirmediğiniz başka başka arayüzlerde vardır. Alışkanlıklarınız doğruldusunda bu ara yüzlerden birini şeçmek...

avr studio bunlar içinde minimum ayar resmi programlayıcılar ile tümleşik olması ve debug yapması ile biraz daha öne çıkmaktadır. Malum ürünün resmi IDE si

Umarım fikir verebilmişimdir..



Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: mokan - 08 Mayıs 2012, 13:41:17
Alıntı yapılan: parda - 08 Mayıs 2012, 13:22:18
AVR ler için C dili ile 2 şekilde program yazabilirsiniz.

1. Meşhur GCC nin AVR için uyarlanmış hali. (benim fikrim Avr ile uğraşanların %50 den fazlası kullanıyor)
2. IAR, Mikroelektronika.. vb. ticari markaların paralı C derleyicileri.

Sizin 1.seçeneği seçeceğinizi düşünürsek;

İlk önce WinAvr denen ve içinde GCC AVR derleyicisi, kütüphane dosyaları ve Programmer Notpad adındaki en temel ve basit IDE ihtiva eden paketi indirip kurmak.
avr studio, programmer notepad ve eclipse sadece GCC avr için bir arayüzdür ve sizin dile getirmediğiniz başka başka arayüzlerde vardır. Alışkanlıklarınız doğruldusunda bu ara yüzlerden birini şeçmek...

avr studio bunlar içinde minimum ayar resmi programlayıcılar ile tümleşik olması ve debug yapması ile biraz daha öne çıkmaktadır. Malum ürünün resmi IDE si

Umarım fikir verebilmişimdir..

Yani bu üç arayüz de GCC desteklediğinden dolayı, herhangi birinde yazılan C kodu bir diğerinde derlenebilir mi?
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: parda - 08 Mayıs 2012, 14:46:14
Alıntı yapılan: mokan - 08 Mayıs 2012, 13:41:17
Yani bu üç arayüz de GCC desteklediğinden dolayı, herhangi birinde yazılan C kodu bir diğerinde derlenebilir mi?

Programın noktasına bile dokunmadan derlenebilir.
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: arm-beginner - 08 Mayıs 2012, 19:35:05
PIC'den Atmel'e geçişini tekrar düşün bence.
Atmel ve Microchip'in sunduğu yelpazeye bakarsan, bence Microchip Atmel'den çok ilerde.

Parantez içinde: ben 15 sene evvel PIC kullanıyordum. Sonra Atmel'e geçtim. O zamanlar için doğru karardı.

Bir farnell'e göz atarsan: PIC yaklaşık 1150 çeşit var.
Atmega + Attiny: 32 adet.
Fiyatlara bakarsan: Atmel saçmaladı.
Compiler: Atmel hep IAR'ı dikkate aldı. GCC çok sonra üvey evlat seviyesinde destek gördü. (Ayrıca GCC'nin yapısı 8-bit microişlemciler için uygun değil.) Kütüphane desteği Atmel tarafından hiç yok.
Microchip ama bu konuda çok ileri görüşlü: kendi compiler'ı var, herşey için bir kütüphane sunuyor (USB'den tut, Ethernet'e kadar) ve sen Amerika'yı tekrar keşfetmek zorunda değilsin.
Elbette PIC12 ve PIC16 lerden bahsetmiyorum (onlar yüzünden zaten Atmel'e geçmişdim). Ama PIC18, 24 ve 32'ler sonderece başarılı mikroişlemciler.

Bir zamanlar PIC'e geri dönmeyi çok düşündüm. Ama sonra ARM'a geçiş yaptım. Şimdi küçük işler için Atmel kullanıyorum, daha büyük işler için Arm.

Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: mokan - 08 Mayıs 2012, 21:01:55
Alıntı yapılan: arm-beginner - 08 Mayıs 2012, 19:35:05
PIC'den Atmel'e geçişini tekrar düşün bence.
Atmel ve Microchip'in sunduğu yelpazeye bakarsan, bence Microchip Atmel'den çok ilerde.

Parantez içinde: ben 15 sene evvel PIC kullanıyordum. Sonra Atmel'e geçtim. O zamanlar için doğru karardı.

Bir farnell'e göz atarsan: PIC yaklaşık 1150 çeşit var.
Atmega + Attiny: 32 adet.
Fiyatlara bakarsan: Atmel saçmaladı.
Compiler: Atmel hep IAR'ı dikkate aldı. GCC çok sonra üvey evlat seviyesinde destek gördü. (Ayrıca GCC'nin yapısı 8-bit microişlemciler için uygun değil.) Kütüphane desteği Atmel tarafından hiç yok.
Microchip ama bu konuda çok ileri görüşlü: kendi compiler'ı var, herşey için bir kütüphane sunuyor (USB'den tut, Ethernet'e kadar) ve sen Amerika'yı tekrar keşfetmek zorunda değilsin.
Elbette PIC12 ve PIC16 lerden bahsetmiyorum (onlar yüzünden zaten Atmel'e geçmişdim). Ama PIC18, 24 ve 32'ler sonderece başarılı mikroişlemciler.

Bir zamanlar PIC'e geri dönmeyi çok düşündüm. Ama sonra ARM'a geçiş yaptım. Şimdi küçük işler için Atmel kullanıyorum, daha büyük işler için Arm.

Benim pic'de yaşadığım en büyük sıkıntı endüstriyel uygulamalarda oluyor. Motor kontrolünde endüstriyel uygulamalarda özellkikle fazlaca sıkıntı yaşıyorum. Bunun yanı sıra elektriksel gürültüler çok etkiliyor microchip serisini. Bundan dolayı atmel avr ye geçmek istiyorum. Ben hep PIC16 serisi kullandım. Elektriksel gürültülerden devreyi yalıtmak için yapmadığım şey kalmıyordu ve yinede tam randıman alamıyordum. PIC18 hiç kullanmadım ve onda durum nasıl bilmiyorum ama zerre güvenimde kalmadı pic'e :)
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: mokan - 08 Mayıs 2012, 21:03:24
Alıntı yapılan: parda - 08 Mayıs 2012, 14:46:14
Programın noktasına bile dokunmadan derlenebilir.

İşte en çok merak ettiğim şey bu idi. Peki programlama kartı olarak önerebileceğiniz bir model var mı?
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: mokan - 08 Mayıs 2012, 21:06:03
Atmel'in sitesini karıştırırken aklıma geldi. 8051 mimarisi atmel denetleyicileri hakkında neler söyleyebilirsiniz? Bu mimari endüstriyel kullanıma uygunmudur? Yoksa avr daha mı iyi?
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: arm-beginner - 08 Mayıs 2012, 21:35:23
Alıntı yapılan: mokan - 08 Mayıs 2012, 21:01:55
.. Bunun yanı sıra elektriksel gürültüler çok etkiliyor microchip serisini. Bundan dolayı atmel avr ye geçmek istiyorum. ...

Daha çok yurtdışındaki forumlara takılıyorum. Ve orda hiç böyle bir şikayet duymadım. Okay, Microchip ile ilgili yazılları pirinç ayıklar gibi okumuyorum; ama böyle bir özellik kesin dikkatimi çekerdi. Ne Atmel, ne Microchip hakkında böyle bir şikayet duydum. Bu bir  EMV sorunu. Ve bu sorun doğru PCB tasarımı, topraklama, kutu seçimi vs. ile çözülür.
Bu sorunu çözmek için mikroişlemciyi değiştirme girişimin sadece zaman ve kaynak kayıbı olacak. Bence :)
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: mokan - 08 Mayıs 2012, 22:40:09
Bu dediğiniz benden de kaynaklı olabilir bilmiyorum ama yinede ben atmel serisini de kendi gözümle görmek istiyorum. Bakalım neler olacak :)
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: leblebitozu - 09 Mayıs 2012, 00:46:34
@mokan

AVR serisi 8051'den daha iyidir, 8051 mimarisi çakılmaya daha yatkındır.
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: parda - 09 Mayıs 2012, 11:04:46
@arm-beginner pek gaddar yaklaşmışsınız :). Bir iki düzeltme ve ekleme yapmadan edemedim.

Alıntı yapılan: arm-beginner - 08 Mayıs 2012, 19:35:05
Atmel ve Microchip'in sunduğu yelpazeye bakarsan, bence Microchip Atmel'den çok ilerde.
Her iki üretici için biri diğerinden çok ilerde demek biraz iddalı olur.

Alıntı yapılan: arm-beginner - 08 Mayıs 2012, 19:35:05
Bir farnell'e göz atarsan: PIC yaklaşık 1150 çeşit var.
Atmega + Attiny: 32 adet.
muhtemelen pic ürün sayısı avr den fazladır ama 32 sayısı kesinlikle hatalı lakin bu kadar olmasada yarısı kadar farklı atmel benim odamda mevcut.

Alıntı yapılan: arm-beginner - 08 Mayıs 2012, 19:35:05
Fiyatlara bakarsan: Atmel saçmaladı.
son dönemde haklısınız ama buna rağmen modele göre değişir herhalde ama yinede ya daha ucuz yada aynı fiyattalar

Alıntı yapılan: arm-beginner - 08 Mayıs 2012, 19:35:05
Compiler: Atmel hep IAR'ı dikkate aldı. GCC çok sonra üvey evlat seviyesinde destek gördü. (Ayrıca GCC'nin yapısı 8-bit microişlemciler için uygun değil.) Kütüphane desteği Atmel tarafından hiç yok.
pic in hatta herhangi başka bir markanın hiçbir derleyicisi Avr GCC kadar yaygın kullanılmıyordur diye düşünüyorum.

Alıntı yapılan: arm-beginner - 08 Mayıs 2012, 19:35:05
Kütüphane desteği Atmel tarafından hiç yok.
Microchip ama bu konuda çok ileri görüşlü: kendi compiler'ı var, herşey için bir kütüphane sunuyor (USB'den tut, Ethernet'e kadar) ve sen Amerika'yı tekrar keşfetmek zorunda değilsin.
avr studio 6 ile 1100 den fazla kullanılabilir proje gelmektedir. IAR ve GCC basit define lar ile ayrılmış kolayca her iki derleyici ile derlenebilmektedir. Ayrıca herhangi bir konuda ve/veya donanımda gcc kütüphanelerinden bol bol bulunmaktadır. Bulamadım diyen aşırı hazırcı yada saftır diyelim.
Unutmamak gerekir ki pic derleyicileri ciddi paralar ister. Hoş biz pek takmayız bu durumu ama yazmadan edemedim.

Alıntı yapılan: arm-beginner - 08 Mayıs 2012, 19:35:05
Elbette PIC12 ve PIC16 lerden bahsetmiyorum (onlar yüzünden zaten Atmel'e geçmişdim). Ama PIC18, 24 ve 32'ler sonderece başarılı mikroişlemciler.
xmega ve avr32 lerde fena sayılmazlar..
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: arm-beginner - 09 Mayıs 2012, 13:56:03
Alıntı yapılan: parda - 09 Mayıs 2012, 11:04:46
muhtemelen pic ürün sayısı avr den fazladır ama 32 sayısı kesinlikle hatalı lakin bu kadar olmasada yarısı kadar farklı atmel benim odamda mevcut.

Bu rakkamlarla ben Atmel'in sadece 32 farklı ürüne sahip olduğunu ifade etmek istememişdim. İfade etmek istediğim: Microchip PIC'lerle çok daha geniş bir yelpazeye sahip ve piyasada bu yelpazenim fasetlerine daha kolay ulaşılabiliniyor.
İsterseniz birde Digikey'e göz atınız. Ordaki sayılar 10.800 : 1.400


Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: bocek - 09 Mayıs 2012, 15:12:49
konu yine "microchip mi döver atmel mi?"  noktasına geldi. bitmez bu.
@mokan senin sorularını bir de ben cevaplayayım.
madem atmel'e merak sardın
1.) derleyici olarak beleş ve yaygın olması hasebiyle avr-gcc kullanmanı öneririm (sonra gerekirse kırık iar filan denersin)
avr studio, eclipse, winavr bunlar programlama ortamlarıdır (IDE). avr studio en yaygın olanı. son sürüm olan 6.0'da adını atmel studio olarak değiştirdi ve ARM desteği de sağlamaya başladı. yani ister 8 bit avr programla, ister atmel arm, hepsini bu ide sayesinde yapabilirsin.
şurdan indirebilirsin.
http://www.atmel.com/microsite/atmel_studio6/ (http://www.atmel.com/microsite/atmel_studio6/)
2.)  kütüphane konusunda sıkıntı çekmezsin, bulacağın örnekler %90 oranında avr-gcc kaynaklıdır.
www.mikrocontroller.net (http://www.mikrocontroller.net) (alamanca)
www.ourdev.cn (http://www.ourdev.cn) (çince)
www.avrfreaks.net (http://www.avrfreaks.net) (ingilizce)
www.berik.net (http://www.berik.net) (türkçe)
buralarda istediğin hemen her kütüphaneyi bulabilirsin.
3.) programlayıcı cihaz olarak en yaygını usbasp'dir. kodu, şeması, pcb'si her şeyi açık kaynaklıdır. ister uğraşır kendin yaparsın, istersen ebay'dan 3-4$'a kargo dahil alırsın.
usbasp'yi kendin yaptın diyelim. usbasp'nin işlemcisini nasıl programlayacağım dersen:
http://elm-chan.org/works/avrx/avrx_lpt.png (http://elm-chan.org/works/avrx/avrx_lpt.png)
4 adet direnç ve paralel portu olan bir bilgisayar ve ponyprog ile usbasp'nin işlemcisini bir kez programlarsın. daha sonra sürekli usbasp'yi kullanırsın.
işlemciye yazılım atma işinde kullanacağın program olarak avr-burn-o-mat en yaygın olanıdır.

atmel'e başlarken dikkat etmen gereken en önemli nokta fuse ayarları denilen mevzudur. avr'lerde pic'teki gibi sigorta ayarları yazılımla yapılmaz. programlayıcı ile dışardan ayrıca programlanır. ilk denemelerinde sürekli olarak dahili osilatörleri seçersin.
bazı sigorta bitleri tehlikelidir. bu bitleri değiştirince geri döndürmek için 'high voltage' programlayıcıya ihtiyaç duyarsın, ya da o mcu'dan vazgeçersin. bu sigorta ayarları yüzünden çok avr mevta olmuştur. o yüzden ilk denemelerinde atmega16, atmega32 gibi pahalı olanları değil de atmega8'i tercih edersen daha iyi olur.
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: mokan - 10 Mayıs 2012, 23:59:07
Yoğun olduğum için ancak bugün bakabildim başlığa. Öncelikle tüm herkese teşekkür ederim kafamdaki sorularının bir çoğuna cevap bulabildim.
Alıntı yapılan: bocek - 09 Mayıs 2012, 15:12:49
konu yine "microchip mi döver atmel mi?"  noktasına geldi. bitmez bu.
@mokan senin sorularını bir de ben cevaplayayım.
madem atmel'e merak sardın
1.) derleyici olarak beleş ve yaygın olması hasebiyle avr-gcc kullanmanı öneririm (sonra gerekirse kırık iar filan denersin)
avr studio, eclipse, winavr bunlar programlama ortamlarıdır (IDE). avr studio en yaygın olanı. son sürüm olan 6.0'da adını atmel studio olarak değiştirdi ve ARM desteği de sağlamaya başladı. yani ister 8 bit avr programla, ister atmel arm, hepsini bu ide sayesinde yapabilirsin.
şurdan indirebilirsin.
http://www.atmel.com/microsite/atmel_studio6/ (http://www.atmel.com/microsite/atmel_studio6/)

Son yazılanları okuduktan sonra merak ettiğim bir şeyde,  İAR'ın diğer derleyicilere göre sağladığı avantajlar-dezavantajlar, kısaceası farkları nelerdir peki?
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: bocek - 11 Mayıs 2012, 13:50:34
iar kullanmadığım için bir şey diyemeyeceğim ama ticari bir ürün olmasından mütevellit bazı avantajları var sanırım.
kod büyüklüğü, hız vb konularda iar en üst sıralarda yer alıyor (bir karşılaştırma tablosunda görmüştüm).
bir de iccavr var çinliler çok seviyor nedense.
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: m_tuter - 25 Ekim 2013, 12:52:00
Merhaba Arkadaşlar,
Yeni Konu açmak yerine eski konu üzerinden yazmak istedim.
Mikrodenetleyici olarak pic kullanan arkadaşlara sormak isterim,
Programlama editörü olarak ne kullanmaktasınız?
Hi-tech mi yoksa Micro C mi yada başka derleyici?
Ücretsiz olarak sunulmuş bir editör varmıdır? (c programlama dili için ve limitli demo versiyonları dışında)
18 serileri için ücretsiz bir program varmı yada lisan mı satın almamız gerek.
Bir derleyici içinde pic ve atmel gibi denetleyiciler için program yazılabilir mi?
Kullanan arakadaşlar fikirlerini paylaşırsa sevinirim.
iyi günler herkeze.
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: Mr.Java - 25 Ekim 2013, 17:37:30
Genelde herkesin tavsiyesi pic serisi için XC8'dir.Ücretsiz kullanabilirsiniz fakat full yaparsaniz kod optimasyonunda max performans alırsınız.MikroC hazır ve kapalı kaynak kodlu kütüphanesi nedeniyle pek sevilmiyor.CCS ise hiç kullanmadım yardımcı olamayacağım malesef.Atmel programlama da ise Eclipse veya atmel studio ile programlarınızı yazabilirsiniz.Fakat pic işlemcilerde eğer pickit 3 varsa ve debug olayına girerseniz ki öyle olması lazım kullanacağınız tek derleyici MPLAB X olmalıdır.
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: Murat Mert - 26 Ekim 2013, 13:07:11
S.A.
Proton basic programını uzunca kullandım basit ve kullanışlı bir program. 24f serisi için Allegronun tavsiyesiyle CCS C ye geçtim kütüphanelerini kendin rahatça yapabilirsin yada hazır olanları ihtiyacına göre rahatça değiştirebilirsin. Tavsiye ederim.
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: Gökhan BEKEN - 26 Ekim 2013, 13:45:10
Alıntı yapılan: Fkarizmatik - 25 Ekim 2013, 17:37:30
kullanacağınız tek derleyici MPLAB X olmalıdır.
mplabx derleyici değil, ide.
Ben kimseye tavsiye etmiyorum, ilk başta çok güzel geliyor ama, çok uyuz.
Aynı proje için, c18 dilini seçtiğimde
Mplab 8,95 ide si ile derleme yaptığımda 10 saniyede derlerken,
Mplabx idesi kullandığımda 2 buçuk dakikada derliyor.
Donmalar oluyor, pickit3 programlayıcısında bile bazen sıkıntı çıkartıyor.
Bence bunun sebebi java tabanlı bir ide olması. Zamanla düzelir diye bekliyorum.
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: Tagli - 26 Ekim 2013, 21:21:20
Ufak tefek kusurları var hala ama ben MPLAB X'ten gayet memnunum. Dikkat çekici bir yavaşlığı yok. Ayrıca Linux'ta da çalışıyor ve benim için bu özellik çok önemli bir artı.
Başlık: Ynt: Derleyici ve Programlayıcı Seçimi
Gönderen: Mr.Java - 26 Ekim 2013, 21:45:33
Alıntı yapılan: meftun - 26 Ekim 2013, 13:45:10
mplabx derleyici değil, ide.
Ben kimseye tavsiye etmiyorum, ilk başta çok güzel geliyor ama, çok uyuz.
Aynı proje için, c18 dilini seçtiğimde
Mplab 8,95 ide si ile derleme yaptığımda 10 saniyede derlerken,
Mplabx idesi kullandığımda 2 buçuk dakikada derliyor.
Donmalar oluyor, pickit3 programlayıcısında bile bazen sıkıntı çıkartıyor.
Bence bunun sebebi java tabanlı bir ide olması. Zamanla düzelir diye bekliyorum.

Full sürüm XC8'i kod optimasyonunuda Pro yaparsanız derleme süresi farkedecektir.