Bilindiği üzere ARM tabanlı mikrodenetleyicilerin programlamasında geliştirme ortamı ve derleyici işleri biraz sıkıntılı. 8 bit mikrodenetleyicilerdeki gibi ücretsiz derleyiciler kolay bulunmuyor. Keil, IAR, Attolic gibi geliştirme ortamları genellikle ücretli olarak satılıyor. Ücretsiz versiyonlarında da sınırlamalar var. Eclipse ile GCC’yi beraber kullanıp bir programlama ortamı kurmak mümkün ancak bu ortamı çalışır hale getirmek bir hayli zahmetli.
Yakın zamanda keşfettiğim ve kolay kurulumu ile dikkat çeken COOCOX adlı IDE ile STM32 kitlerini kullanmaya başlamak oldukça kolay.Burada COOCOX IDE ile STM32F4 Discovery kartını programlamak için gerekli kurulum adımlarını anlatacağım. (Windows 7 üzerinde)
[ad#ad-2]
Programlayıcının Kurulumu
Kartımızı programlamak için öncelikle kartın üzerindeki ST-Link programlayıcısının sürücüsünü kurmak gerekiyor:
ST – Link Driver: http://www.st.com/web/en/catalog/tools/PF258167
ST- Link ile STM32 kartlarına program atabiliyoruz. ST-Link düzgün olarak kurulduğunda kartı taktığınızda Windows Aygıt Yöneticisinde ST-Link görülecek:
Sürücüyü kurduktan sonra ST-Link Utility’i de kurarak programlayıcının çalışıp çalışmadığından emin olabiliriz:
ST – Link Utility: http://www.st.com/web/en/catalog/tools/PF258168
ST-Link Utility STM32’lere program atmak için kullanılıyor. Hem kendi arayüzünden hem de komut satırından çağırılarak kullanılabiliyor.
STM32F4 Discovery kartını USB kablosuyla bilgisayara bağlayıp ST – Link Utility üzerindeki “Connect to the Target” butonuna bastığımızda aşağıdaki gibi mikrodenetleyici ile ilgili bilgilerin görünmesi gerekiyor.
Buraya kadar kartımıza program atmakla ilgili gerekenleri hazırlamış olduk. Şimdi geliştirme ortamına geçebiliriz.
[ad#ad-2]
Derleyicinin Kurulumu
Önce aşağıdaki linkten ARM GCC derleyicisinin en son sürümünü indiriyoruz:
(13.06.2013 – Latest version is 4.7-2013-q1-update)
https://launchpad.net/gcc-arm-embedded/+download
Kurulumu klasik “next next” adımlarıyla geçiyoruz. Son adımda karşımıza çıkan checkbox’ların üçünü de işaretlememiz gerekiyor. 3. checkbox ile Windows Path değişkenlerine derleyicinin bulunduğu klasör adresi eklenmiş oluyor. Böylelikle derleyiciye komut satırından herhangi bir klasör altından erişmek mümkün hale geliyor.
Böylelikle derleyiciyi de kurmuş olduk. Şimdi CooCox IDE kurulumuna geçebiliriz.
CooCox IDE Kurulumu
CooCox IDE’yi aşağıdaki sayfadaki “Download the latest CoIDE directly“ linkinden indirebilirsiniz. İndirirken email adresinizle kayıt olmanız gerekiyor. Ardından dosyayı indirebilirsiniz. Boyutu 259 mb. Kurulumu yine bütün adımları geçerek yapabilirsiniz.
http://www.coocox.org/CooCox_CoIDE.htm#
Kurulumu tamamladıktan sonra masaüstünde oluşturulmuş olan COIDE kısayolundan IDE’yi çalıştırabilirsiniz. CoIDE Eclipse tabanlı bir geliştirme ortamı, bu nedenle Eclipse aşinalığınız varsa kullanmakta pek sıkıntı yaşamazsınız. CoIDE’de hoşuma giden oldukça güzel özellikler eklenmiş. “Repository” özelliği ile projeler için gerekli olan kütüphane ve örnek kod dosyalarını IDE üzerinden otomatik olarak indirebiliyoruz. Ayrıca geliştiriciler tarafından paylaşılmış olan birçok kütüphane de var.
İlk Projenin Oluşturulması
CooCox IDE açıldıktan sonra “New Project” butonuna basarak (ya da Project menüsünden) yeni bir proje oluşturuyoruz. Projenize isim verirken Türkçe karakterler kullanmamaya özen gösterin. Chip seçimini STM32F4 Discovery kartının üzerinde bulunan STM32F407VG olarak yapıyoruz. Sonrasında daha önceden yüklemiş olduğumuz ARM GCC derleyicisinin konumunu Project >> Select ToolChain Path menüsünden COIDE’ye kaydetmemiz gerekiyor.
Proje oluşturma adımları aşağıdaki gibi:
Projemizi oluşturduktan sonra “repository” penceresinde istediğimiz kütüphaneleri programımıza dahil edebiliyoruz. “Others” sekmesinden “GPIO” seçimini yaptığımızda GPIO kullanımıyla ilgili kütüphaneler otomatik olarak programımıza eklenecek. “Components” penceresinde GPIO (with 1 example) seçeneğine tıkladığınızda GPIO örnekleri penceresi açılacak. Buradan STM32F4 Discovery kartı için olan örneğin (STM32F4Discovery-IOToggle) “add” seçeneğine tıkladığınızda kodlar otomatik olarak projeye eklenecek. Örnekle gelen “main.c” dosyasını kullanacağımızdan projemizde daha önceden bulunan “main.c” dosyasını silmek gerekiyor.
View >> Configuration menüsünden ST-Link’i programlayıcı olarak kullanmak için gerekli ayarları yapmak gerekiyor:
Bütün bu işlemleri yaptıktan sonra “Build (F7)” butonuna basıp programı derleyebiliriz. Program derlendiğinde Console penceresinde “BUILD SUCCESSFUL” yazısını göreceksiniz.
Sonrasında Flash >> Program Download menüsünden veya “Download Code to Flash1 butonuyla kodu karta yükleyebilirsiniz. Program yüklendikten sonra STM32F4 Discovery kartı üzerindeki 4 LED’in ard arda yandığını göreceksiniz.
CooCox IDE’nin pratik yapısı gerçekten hoşuma gitti. Kurulumla ilgili çok sıkıntı çekmeden hızlıca geliştirme ortamını kurup hemen projelerimize odaklanmaya başlamamızı sağlıyor. Hem de kod boyutu sınırlaması olmadan.
Bu yazımla birlikte çekmecelerde tozlanmaya bırakılmış STM32F4 Discovery kartlarının tekrar gün ışığa çıkmasını ve yeni yeni projeler yapıldığını görmeyi umut ediyorum. Lütfen sizler de yaptığınız projeler hakkında bloglar yazarak bizimle paylaşın.
[ad#ad-2]
CooCox Web Sitesi: http://www.coocox.org/Index.html
Çok teşekkürler Coşkun Bey nasıl yapalım diye düşünürken Hızır gibi imdadımıza yetiştiniz.
.Ben teşekkür ederim.
Çok teşekkür ederim sizde olmasanız gelişebileceğimiz hiçbir kaynak yok inşAllah yazıların devamıda gelir
Zaman buldukça devamını getireceğim.
Coşkun hocam CoIDE yi kurdum ve sizin verdiğiniz linkteki driverı kurdum. hazır bir projeyi açmak istiyorum ancak derlemeye çalıştıgım esnada “select toolchain path” penceresi cıkıyor ve bundan sonra ilerleyemiyorum ne yapmam gerekiyor acaba yardımcı olursanız cok sevinirim. Şimdiden teşekkürler
Derleyicinin kurulumunu yaptınız mı? Yaptıysanız toolchain listesinde görünmesi lazım
öncelikle gnu tools arm embedded kurulması gerekiyor, bu coide için gerekli
malum coide derleyici olarak arm compiler kullanıyor
sonra coide kurulurken arm gcc compiler (arm-none-eabi-gcc.exe)nerede diye soruyor,
bu mesela bende
C:Program FilesGNU Tools ARM Embedded4.7 2013q1bin
dizininde, siz de kendinize göre yazacaksınız
Coşkun hocam Merhaba,
Sayenizde çok tırmalamadan ilk uygulamayı yapmış olduk. Ve Keil gibi ilginç bir sistemden kurtulmuş oldum. 🙂
İyi çalışmalar.
Sizin arduino üzerine yazdığınız kitap gibi ARM üzerine de yazılı bir kitap öneriniz var mıdır ?
ARM konusunda henüz Türkçe bir kitap yok bildiğim kadarıyla. STM32F4 hakkında şu kitaba bakabilirsiniz: http://www.cs.indiana.edu/~geobrown/book.pdf
Yazınız için teşekkür ederim. Oldukça hızlı bir başlangıç yapmamı sağladı.
coıde de stm32f429i disovery yok bunu nasıl ekleyebilirim yardımcı olabilirmisiniz
Yakında onun da desteği gelecektir eminim. Şimdilik doğrudan işlemciyi ekleme seçeneği ile kullanabilirsiniz belki. Şurada konu tartışılmış: http://www.coocox.org/forum/topic.php?id=3714 Şurada da örnek bir proje var: http://olek.tk/blog/index.php?post/2013/11/11/Example-project-for-STM32F429I-under-CooCox
Hocam ALLAH sizden BİN KERE razı olsun ne duanız varsa gönlünüze göre hayırlı şekilde gerçekleşsin bu program tam aradığım programdı birsürü program kurdum istediğim gibi değildi.
Tekrar Teşekkürler.
Teşekkür ederim. Yazımın faydalı olmasına sevindim.
Hocam 2×16 Lcd kullanıcam Stm32Fdiscovery ile ama programda uygun kütüphane bulamadım yardımcı olur musunuz?
Cocoox içerisinde çeşitli kütüphaneler indirilebiliyor .Orada baktınız mı?
Şurada da bir örnek var: http://www.mcu-turkey.com/stm32f4-discovery-kitiyle-2×16-karakter-lcd-uygulamasi/
hocam quadcopter için arduino mu yoksa arm mı önerirsiniz? Neden ve hangi modeli önerirsiniz , teşk
ARM tabanlı kartlar yüksek işlem kapasitelerine sahip olduğundan daha uygun olabilir. Open Pilot adlı açık kaynaklı projeye bakabilirsiniz.
Hocam merhabalar , stm32f429I boardımı coocox ile kullanmaya çalışıyorum , ancak desteklemediğini öğrendim forumunda.Bir kaç işlem yaparak kullananları gördüm.CMSIS yapmışlar.Ancak tam olarak anlayaamadım bazı projeleri inceledim cmsıs boot ile cmsıs arasında ki farklar nelerdir? cmsıste startup dosyalarını görebiliyorum.Ancak diğerinde işlemci ile ilgili dosyalar var.Acaba nasıl kullanabilirim?Teşekkürler iyi çalışmalar
tamamdır halletim 🙂
win 10 kullanıyorum ubs sürücüsünde hata veriyor bu sorunun çözümü nedir
Hocam peki kod optimizasyonu keile göre nasıl?