şükela:  tümü | bugün soru sor
  • piyasada 2 farklı revizyonu olan ve "a" revizyonu sorunsuz kullanılırken "z" revizyonu için yama yapma gerekliliği olan board. ulan 4 gündür yapmadığım şey kalmadı, meğer st çıkardığı karta yazılım yüklemeyi sağlayan yazılımı güncellememiş. bende elimdeki yazılım son sürüm olduğu halde niye desteklemiyo diye düşünüp duruyodum. neyseki bi patch çıkarmışlar, onuda forumlarının bir köşesinde yayınlamayı uygun görmüşler.

    neyse, programlanması yıllardır alışık olduğum ccs c ile pic programlamaktan veya assembly ile 8051 programlamaktan en az 50 kat zor diyebilirim. pice başladığımda ikinci günün sonunda adc den data okuyup seri porttan gönderip karşı tarafta bar display yakma filan gibi alıştırmalar yapıyodum. şuan 1 hafta oldu henüz led yakıp söndürebildim. en özellikli pic'de 30-50 satır alan konfigürasyon bu alette 400-500 satır civarında. diğer ide'lere henüz bakmadım ancak microvision'da bu konfigürasyonları registerlara yaza yaza yapıyorsunuz ve rezalet bi sistem. umarım henüz keşfetmediğim bi wizard'ı vardır yoksa ileri düzey uygulamalarda kanser olmanız işten bile değil.

    programlanması olayı başlı başına bir başlık konusu. biz biraz kartımızın özelliklerine dönelim.
    öncelikle kart st microelectronics tarafından üretilen 32bit arm işlemcilerle tanışmak ve orta, hatta ileri düzey uygulama geliştirmek isteyenler için harika bir kart. en önemli özelliği uygun fiyatlı oluşu. kartın satış fiyatı 15-20 dolar civarında.
    üzerinde 32bitlik, fpu'lu, dahili pll'i ile 168mhz hızında çalışabilen, 1mb flash belleği, 192kb sram'i, 3 adc'si, 2 dac'si, ethernet* ve usb host modunun da dahil olduğu yığınla iletişim özelliği, crc jeneratörü ve ilginç olarak analog gerçek rastgele sayı üretecinin bulunduğu stm32f407vg işlemcisi yer alıyor.
    entegrenin datasheetinde kamera portu filan gibi henüz ne olduğunu nasıl çalıştığını anlamadığım daha birçok özelliği var.

    ayrıca kartın üzerinde 4 adet kullanıcı tarafından kontrol edilen led, biri reset için diğeri yine kullanıcı tarafından kullanılması için 2 buton, stereo ses çıkışı, digital mems microphone, 3 eksen accelerometer ve 2 grup halinde 2 sütun, 25 satırdan oluşan io header'ları yer alıyor. yalnız bunlar breadboard uyumlu değil. breadboard ile kullanmanız durumunda yan yana duran bu pinleri kısa devre edersiniz. donanımsal olarak herhangi bir zarar verirmi bilmiyorum ancak en iyi ihtimalle io pini sayınızı yarıya düşürürsünüz. bu headerları kartın hem altından hem üstünden kullanabilirsiniz.

    dokümantasyon henüz bir pic, atmega yada bir arduino kadar çok ve yeterli değil. ancak mevcut örneklerden yola çıkarak yavaş yavaş öğrenilebilir diye düşünüyorum. mikroişlemcilere-mikrokontrolörlere yeni başlayanlar için kesinlikle uygun bir platform değil. zaten amacının da bu olduğunu sanmıyorum ancak, orta halli c bilen, elektronik bilgisi olan ve işlemciler nasıl çalışır az çok fikri olanlar için çok önü açık bir kart. linux koşturmaya kasmayacağınız sürece, gömülü sistemler için her türlü uygulamayı rahatlıkla kaldırır diye düşünüyorum. hatta linuxta da belli başlı birçok işlemi zorlanmadan götürür.
  • aşağıda vereceğim linkteki adımları uygulayıp 15 dakikada kod yazıp testlerinize başlayabilirsiniz. ünlü bir ünlünün de dediği gibi, elime i7 işlemci de verseniz ilk yapacağım şey led yakıp söndürmek olurdu.

    şu an 4 adet ledi aynı anda toggle yapıyor masamın üstünde.

    http://coskuntasdemir.net/…-ortaminin-kurulumu.html
  • assembly okumak bunun c kodunu okumaktan bin kat kolay. gözlerim kanadı resmen.

    mbed.org lib haline getirmiş birçok şeyi daha kullanışlı olmuş. compilerı da online.
  • an itibarıyla sahip olduğum, sahip olmamla beraber üzerindeki dört adet farklı renkteki ledi sırayla yakıp söndürmeye niyet ettiğim, üzerinde st microelectronics firması tarafından üretilen ve arm cortex-m4 mikroişlemcisine sahip stm32f407 mikrodenetleyicisi bulunduran deney kartıdır. dışarıya verilen pin bağlantıları ile farklı deney kartlarıyla beraber kullanılabileceği gibi kendi başına da kullanılabilir. üzerinde gömülü olarak st-link v2 çipiyle birlikte gelir ki buda gerekli driverlar ve programlar yardımıyla usb üzerinden flash writing/erasing, debugging gibi işlemleri başka donanıma ihtiyaç olmadan yapabilmemizi sağlar. efendim son olarak gnu arm toolchain, eclipse ve linux muhteşem üçlüsüyle beraber afiyetle yenir.
  • arm işlemci ile çalıştığından, system clock configuration yapmak bile başlangıçta kullanıcıya ölüm gibi gelebilen board. bunun dışında gpio'ları, can bus/uart/usart/adc vs. portlarını düzgün biçimde initialize edebilmek bile büyük çile haline gelebiliyor. çok sonra keşfettiğim stm32cubemx denen yazılım ise istediğiniz clock ayarını seçmenizi, kullanacağınız portları, hatta hangi portu hangi özelliklerde (baud rate vs.) kullanacağınızı, freertos mu yoksa başka bir os mi kullanacağınızı ve bunun gibi birçok hayat kurtaran olayı otomatik yapıyor. yapacağınız tek şey programdan istediğiniz ayarları seçip generate source code based on user settings'e tıklamak. daha sonra sizin seçeceğiniz ide için uygun şekilde projeyi istediğiniz klasöre koyuyor.

    yalnız dikkat, bu programda st'nin neredeyse tüm boardları olduğu için oluşturulan projede 1-2 ufak hata olabilir, "ledi yakıyom ama niye söndüremiyom lan" diye endişelenirseniz biraz debug ve 1-2 forum karıştırarak bu durumu da çözebilirsiniz.

    velhasıl, güzel board.
  • çeşitli işletim sistemlerinde sürücü sorunları yaşatır bu kart. sürücüleri kurarsınız fakat yeri gelir yazılımınız kartı görmez, yeri gelir kart bağlıdır ve yazılımınız kartı görür fakat kodlamasını yazdığınız programı gizemli bir şekilde atamazsınız karta. bu sorunu siyah renkli olan reset tuşuna basılı tutarak ve kodun karta yüklenme işlemi bitene kadar bırakmayarak çözmüştüm. beş volt yazan bacağından üç onda üç volt geçer bazen. ayrıca bacakların üst kısmını kullanırsanız vay halinize, kablolar hep fırlarlar yerlerinden. bu yüzden öncelikle kabloların alttaki daha uzun bacaklardan bağlanması kullanım kolaylığı sağlar. kartı kullanacaklar bu tip can sıkıcı aksiliklere hazırlıklı olmalıdır.

    keil, her ne kadar yukarıda bahsettiğim sorunları yaşatsa da lisanslı programlayıcı yazılımıdır ve ücretlidir. ancak sınırlandırılmış modu da mevcuttur kendi sitesinde. coocox gibi ücretsiz kullanabileceğiniz programlar da vardır. modellerde yukarı gittikçe yapabileceğiniz işler artar. örneğin f407 modeli ile sensör çalıştırıp, lcd ekrana kayan yazı yazdırırken f429 modelinde kendi vga girişli ekranında slayt gösterisi yapabilirsiniz.
  • yapamayınca pes edilmemesi gereken, üzerinde çalışması zevkli alet. bir yazılımcı olarak risk aldım ve gömülü sistemler üzerine çalışan bir firmada staj yapmaya karar verdim. ilk gün bu kartı verdiler elime gözüm korktu başta baya, ilk birkaç gün kafayı yedim hiç bir şey yapamadım led yakmam ve tekrar söndürmem saatlerimi aldı. sonra fark ettimki sorun bu alette değil keil denilen allah'ın belası ide'de. ona biraz ısındıktan sonra bu aletle yavaş yavaş çılgın atmaya başladım. şu anda her şey zevkli gidiyor.
  • os x'de programlamayı bir türlü beceremediğim kart.
    bin türlü ıvır zıvır denedim olmadı.

    edit: sonunda buldum galiba. macos kullanıcıları topluluk tarafından geliştirilen system workbench isimli programı kullanabilir. bu program stm32cubemx ile de uyumlu çalışıyor. cube'dan bu program için çıktı alabiliyorsunuz.
    ayrıca sadece f4 değil diğer st kitleri için de kullanabilirsiniz.
    burdan
  • linux mint'te stm kodlama, derleme ve flashlama için, stm32cubemx, system workbench for stm32 ve stlink programlarının kurulması gerek.

    buradaki adımları gerçekleştirdikten sonra bu sitedeki adımlardan 3 ve 4'nüncüyü uygulamanız yeterli. 4. adımda system workbench for stm32 programını açıp, window>preferences>sytem workbench>file association kısmından install seçeneğine tıklayıp apply demeniz yeterli olacaktır.

    sonrasında stm32cubemx ile project menüsünden generate code dediğinizde system workbench for stm32(sw4stm32) yani eclipse açılmış oluyor.
  • insanı zevkten 4 köşe eden microcontroller. ilk başladığımda çektiğim acılar yerini müthiş bir zevke, arzuya bıraktı. keil ve cubemx uyumu müthiş. finaller geldi ama bununla uğraşmaktan finallere zaman bulamaz oldum.