Visual GDB ve Diğer IDE ler Hakkında

Başlatan hasankara, 10 Şubat 2018, 00:57:16

hasankara

Öncelikle, yakın zaman öncesinde Visual GDB (https://visualgdb.com/tutorials/arm/stm32/) plugini ile tanışmış ve STM32F407DISCOVERY kartı üzerinde visual studio 2012 IDE kullanarak deneme yapmış birisi olarak gömülü yazılım geliştirme noktasında çok farklı bir deneyim yaşadığımı belirtmek isterim.

Çoğunlukla, Netbeans tabanı üzerine kurulu olan MPLABX IDE ortamına alışmış birisi olarak, STM32 platformunda bir takım çalışmalar yapmak niyetiyle IDE araştırmam esnasında KEIL, COIDE, TRUESTUDIO, IAR gibi belli başlı IDE leri tek tek kurup denemeler yapmış bulunmaktayım. Ancak editor, code complete, debug gibi ve bazı pluginlerle zenginleştirebilmek adına ARM üzerinde çalışmak isteyenlerin başvuracağı belli başlı IDE leri kendimce zayıf bulmaktayım. Her ne kadar Eclipse tabanlı olan IDE lerin editör ve code complete özellikleri tatmin edici düzeyde olsa da gömülü yazılım geliştirme noktasında bir türlü ısınamadım. Hatta konusu açılmış iken derlenen kodu debug yapmadan mcu ya yaz demeyi bile başaramamıştım.

Her şeye rağmen, arm tarafında ki günümüz IDE lerine yönelik yapmış olduğum araştırmalar neticesinde, kendimi bazı soruları sormaktan alıkoyamıyorum. Keil ve IAR gibi ilk akla gelen ve iyi paralara satılan IDE ler nasıl olur da günümüz programcılığın gereksinimlerini karşılayabilecek düzeye ulaşamamış olsunlar? Acaba araştırma yaparken bir takım parametreleri gözden mi kaçırıyorum?

Microchip in MPLABX ortamı, XC... derleyicileri ve oluşturdukları pluginleri, gibi yayınlamış olduğu bilgisayar yazılımlarını tek çatı altında toplama fikrini gayet mantıklı buluyorum.  Hali hazırda bazı kısımlarının, performans açısından saç baş yolduracak sıkıntılarının bulunduğunu belirtmeden geçmiş olmayayım. Gömülü yazılım noktasında platform tartışmaları sıkça yaşanmış olmakla birlikte, işin IDE noktasından bakıldığı zaman microchipin bilgisayar ortamında sağladığı imkanların kıymetini bu süreçte daha iyi görebildiğimi de rahatlıkla söyleyebilirim.

Hal böyle olunca araştırmalarımı sürdürürken visual gdb ile ile tanışıyorum ve bir takım denemeler yapıyorum. Özellikle visual studio ortamının debug seçeneklerini diğer IDE lere kıyasladığımda çok daha ilerde görüyorum. Öyle ki, hiç bilmediğiniz bir konuya ait yazılmış bir kodu bu ortamda debug ederek bile çok hızlı kavranılacağına inanmaktayım. Editör ve code complete gibi konulardan hiç bahsetmeme gerek yok diye düşünüyorum.

Bu şekilde düşünmeme rağmen, visual gdb sayesinde visual studio ortamının, sadece stm32 ile değil, msp, nxp, atmel, freescale, infineon, ti ve hatta raspberry, beaglebone gibi gömülü yazılım noktasında bir çok platform ile entegrasyonunun sağlanabiliyor olması ve stm32 için yapmış olduğum deneme neticesinde gayet başarılı olduğunu görmüş olmak, olayın çok daha farklı boyutlara taşındığını düşünmeme sebebiyet vermektedir.

Buna rağmen popülaritesinin olmaması ve hatta diğer bir çok yönden zayıf gördüğüm IDE lerin daha çok tutuluyor olmasının başka bir sebebi var mıdır? Karşılaştırma yaparken göz önünde bulundurmamız gereken diğer parametreler nelerdir? Visual gdb araştırıp inceleyenlerimiz olmuş olabilir, özellikle olumsuz ve zayıf gördükleri yönleri nelerdir?

Zoroaster

IDE begenmemeyi biraz simariklik olarak goruyorum.

Amacimiz, "Kodu yaz derle kostur durdur sonuclara bak. Kodlar olmasi gibi sonuc vermedi ise hata kaynagini koseye sikistir" degil mi?

IDEmiz bu amacimizda bize destek oluyorsa baska bir IDE aramaya gerek varmi?
Seytan deliginden kacti.

esensoy

En tehlikeli an "zafer" anıdır.

hasankara

Fırsatını yakaladığımda arkadaş ortamımda şu konuyu tartıştığımız zamanlar olmuştur; yazılım için konuşuyorum, bir iş yapmak için o işi yapmamıza olanak sağlayacak bir ortama ve platforma tamamen hakim olmaktansa (bu neredeyse çoğu zaman imkansız olabiliyor), adaptasyonun en hızlı sağlanmasına ve öğrenme aşamasının en hızlı çözülmesine olanak sağlayacak sebeplerin elde edilmesinin kritik nokta olduğuna hemfikir olabiliyoruz.

Forum da zannediyorum stm32disco platformuna aşina olan ve hatta stm32f mcu su ile ciddi projeler geliştirmiş bir çok program geliştiricisi vardır. Hangimiz çalıştığımız bir mcu veya platform un tüm özelliklerine a dan z ye hakim olabilmişizdir? Bir çoğumuz yeni bir platform arayışı esnasında, belki de en çok önem verdiğimiz noktalardan bir tanesi öğrenme sürecini kısaltmak adına kaynak olabiliyor. Peki bu süreci kısaltacak tek parametre kaynak mıdır?

Program geliştiricilerin en çok takıldığı konulardan birisi IDE olabiliyor. Visual studio ortamını kullanırken bile komple projenin içerisini inceleyip size koçluk yaparcasına destek olması, öneriler de bulunması gibi bir çok özellik ile, bahsetmiş olduğum bu öğrenme aşamasının hızlı aşılabilmesi adına sebeplerden bir tanesi olabilmektedir.

Beğenmemezlik bir yana doğru seçimi yapabilmek, yola o şekilde devam etmek ve inceleyenlere yol gösterici bir konu olması gayretindeyim.

kantirici

#4
IDE, bilgisayar programcılarının her şeyidir. Biz de ise hiç üstüne durulmayan, hep üçüncü dördüncü planda tutulan bir araç.

Gömülü sistemlere C/C++ ile program yazmıyorsanız IDE'nin marifetleri sizin program geliştirme sürecinizi, tasarımınızı ve hakimiyetinizi doğrudan etkiliyor.
Projenizde 15-20 den fazla .c ve .h dosyaları olsun ve kod satır sayınız on binleri geçsin. Bu andan itibaren KEIL, IAR gibi IDE'ler size program yazma konusunda büyük sıkıntı çıkarmaya başlıyorlar. Çünkü otomatik tamamlama tam çalışmıyor, üzerine tıkla git hedefi bulamıyor v.s v.s.

Gelişmiş bir ide ise switch içinde bri case de break koymadın, şu değişken şu anda tanımsız v.s v.s gibi programı derlemeden anlık bildirimler yapıyor. Onlarca yere //TODO: yazdın diyelim, tek tıkla bunların hepsini listeleyip nerede olduğunu gösteriyor v.s.

Hal böyle olunca IDE'nin marifetleri daha ön plana çıkıyor.

Visual GBD özelinde ise daha önce deneyimlemediğim için bir şey diyemeyeceğim fakat visual studio ide'si çoğu programcılar tarafından sevilir.

controller

VisualGDB kullanıyorum ancak Keil veya IAR ile karşılaştırmak çok doğru olmayabilir. Aklıma gelen ilk eksik yönleri Keil veya IAR da olduğu gibi kendi simulatörü yok mesela. Direkt cihaz üzerinde debug yapabiliyorsunuz.


VisualGDB'nin asıl çıkış amacı linux ve gcc dünyasına aşina olmayanlar için burada yapılanların windows'ta da yapılabilmesini sağlamak.

Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.

muhittin_kaplan

Visual GDB, Ücretli
Sw4Stm32,Atollic,embitz, Ücretsiz.

MrDarK

Sanırım derleyici olarak embedded tarafında GCC kullanıyor. Fiyatları embedded için makul gibi https://visualgdb.com/buy/
Hoş birde visual studio'nun da ücreti ayrıca ödenmesi gerekiyor sanırım. Yinede gelecekte ücretsiz olabilir veya birisi bu işi hayrına yapabilir (sanmıyorum ama )
Picproje Eğitim Gönüllüleri ~ MrDarK

hasankara

İlk etapta https://www.youtube.com/watch?v=MFEzmGOmb-8  videoda da anlatılanlar üzerinden cubemx ile birlikte bir deneme yaptıktan sonra, Visual GDB nin üzerinden FatFS hazır uygulamasına yönelik proje oluşturup denemeler sağladım. Ardından ufak bir timer uygulamasını da sağlayarak, gayet başarılı olduğunu söyleyebilirim.

Derleyici ve open ocd gibi toolları, otomatik olarak kendi ayarlarından indirip yükleyebiliyor, yani eclipse da gömülü yazılım programı derletmek gibi kılı kırk yarmak gerekecek diye düşünürken gayet kullanıcı dostu bir arayüz ile karşılaştığımı söyleyebilirim. Lisanslı olarak 1 yıl kullanmak için minimum visual studio + visual gdb olmak üzere 539 USD+ 99 USD gözden çıkarmak gerekiyor.

Gerçi yazılım satın alma noktasında bu 1 yıl tam olarak neyi ifade ediyor çözebilmiş değilim. 1 yıl sonra güncelleme yapamazsınız ama kullanmaya devam edebilirsiniz mi? Yoksa 1. senenin sonunda programı her ne şekilde olursa olsun yeniden ödeme yapılmadıysa kullanmak yasal olmayacaktır şeklinde mi?

controller

Visual studio full versiyon olmasına gerek yok, ücretsiz community edition'da da çalışıyor.
Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.