- STM32 Nucleo 64 Geliştirme Kartı Donanım Açıklaması
- STM32 Nucleo 64 Geliştirme Kartlarını Programlama
- STM32F401 ile Başlarken
- Sonuç
- Video
Dışarıdaki çoğu insan için, üzerinde çalışacakları ilk gömülü geliştirme kartı büyük olasılıkla bir Arduino Kartı olacaktır. Ancak, herkesin kabul edebileceği gibi, Arduino'nuz sizi ancak bir yere kadar götürebilir ve bir gün yerel bir mikro denetleyici platformuna geçmeniz gerekir. Donanım tarafında size yardımcı olmak için tüm Arduino kalkanlarını destekleyebildiğinden ve ayrıca yazılım tarafında size yardımcı olacak birçok yerleşik kitaplığa ve işleve sahip olduğundan, bu işlem bu STM32 geliştirme kartı ile çok daha kolay hale getirilebilir. Ayrıca bir STM32 Mikrodenetleyiciyi tanımak, daha önce incelediğimiz SensorTile.Box gibi ST'den diğer geliştirme modüllerini kolayca keşfetmenize yardımcı olacaktır. Öyleyse bu yazıda, bu STM32 Nucleo-64 Geliştirme kartlarına tam bir göz atalım ve nasıl kullanılacağını öğrenelim.
Şimdi STM32 kartlarının birçok versiyonu mevcut ve elimdeki bu özel kartın adı STM32F401 Nucleo-64. STM32 adı, geliştirme panomuzda 32 bitlik bir Mikroişlemciye sahip olduğumuzu ve Nucleo-64 adı mikrodenetleyicinin 64 iğneye sahip olduğunu gösterir. Benzer şekilde, STM32F103, STM32F303, vb. Gibi Nucleo 64 kartlarının birçok başka sürümü de vardır, ancak bir kart hakkında bir şeyler öğrendiğinizde diğerleri oldukça benzerdir.
STM32 Nucleo 64 Geliştirme Kartı Donanım Açıklaması
Geliştirme Kurulumuzun kutusunu açarak başlayalım. Gördüğünüz gibi paketin tamamı yalnızca geliştirme panomuz ve bir talimat kartından oluşuyor. Talimat kartında kontrolörün teknik özellikleri, pin çıkışları ve arka tarafında nasıl başlayacağımız ve mevcut alet zinciri seçenekleri hakkında bazı bilgilerimiz var.
Panele daha yakından bakarsak, panonun iki bölgeye ayrıldığını görebiliriz. Üst bölüm ST-Link / V2 hata ayıklayıcı ve programcıdır, alt bölüm ise gerçek geliştirme kartınızdır. Bu şekilde, kart üzerindeki USB mini bağlantı noktasına bağlanabilen ek bir USB kablosuyla kartınızı kutudan çıkarır ve kolayca programlayabilir ve hatalarını ayıklayabilirsiniz.
İlk bakışta, anakartta çok sayıda jumper ve bileşen var gibi görünebilir, ancak hepsi bizim için işleri kolaylaştırmak için oradalar. CN11 ve CN12 kartlarının her iki tarafında bulduğunuz iki jumper aslında sahte jumper'tır, bu jumper'lar gelecekte ihtiyaç duyulursa başka amaçlar için kullanılabilir. CN2'deki iki atlama kablosu, programlayıcı ve hata ayıklayıcı bölümünü geliştirme kartımıza bağlamak için kullanılır. Gelecekte, bu pimler aracılığıyla diğer ST mikro denetleyicileri için programlayıcıyı kullanmak üzere bu atlama tellerini kaldırabilirsiniz. Ve bu bağlantı pimi JP1, USB akımını 100mA ile sınırlamak için kapatılabilir, açık bırakılırsa maksimum akım 300mA olacaktır. Burada, karta güç verildiğinde Kırmızı olarak yanan ve kart başarıyla programlandığında yeşile dönen ve bir iletişim hatası olduğunda turuncuya dönen bir Tricolor LED (LD1) var.
Geliştirme bölümüne geçersek, burada en önemli bileşenimiz olan STM32F401RET6 Mikrodenetleyici var. Bu, 84 MHz'de çalışan bir ARM Cortex M4 işlemciye sahip 64-Pin 32-bit Mikrodenetleyicidir. Ayrıca 512 Kb Flash ve 96KB SRAM'a sahiptir. Mikrodenetleyicide 16 bit ve 32 bitlik 10 zamanlayıcı ve tek bir 12 bit ADC bulunur. Ayrıca harici iletişim için üç USART, üç I2C, dört SPI ve bir USB 2.0'a sahiptir. Daha fazla teknik bilgi almak için STM32F401 Veri Sayfasını inceleyebilirsiniz.
Şimdi ilginç kısım geliyor, size daha önce de söylediğim gibi, kart tüm Arduino kalkanlarını destekliyor. Kartın iki set konnektörü vardır, dişi pimler, aşağıdaki resimde görebileceğiniz gibi ESP8266 Wi-Fi Shield'ımıza ve Semtech Arduino LoRa Shield'ımıza mükemmel şekilde uyan Arduino shieldları içindir.
Diğer erkeklere, 64-pin mikrodenetleyicimizdeki oyucu pinleri kullanmak için kullanılabilen ST morfo pinleri denir. Daha sonra burada bir sıfırlama butonumuz ve PC13 pinine bağlı kullanıcı tarafından yapılandırılabilir bir buton ve burada da tıpkı Arduino gibi D13 pinine bağlı bir LED var. Panele güç sağlamak için ya USB portunu kullanabiliriz ya da E5V'ye veya 5V pinine doğrudan regüle edilmiş 5V sağlayabiliriz. Panele nasıl güç verdiğinizi göstermek için bu atlama telini değiştirmeyi unutmayın; U5V, kartın USB'den güç aldığını gösterir. Burada ayrıca, bu pinlere bir ampermetre bağlayarak mikrodenetleyicinizin ne kadar akım tükettiğini ölçmek için kullanılabilecek IDD adında bir başka ilginç jumper pinimiz var.
STM32 Nucleo 64 Geliştirme Kartlarını Programlama
Yazılım bölümüne gelince, kartın büyük bir kitaplığı ve programlama desteği vardır ve Keil, IAR tezgahı ve diğer birçok IDE kullanılarak programlanabilir. Ancak ilginç olan, ARM Mbed ve STM32Cube geliştirme ortamını desteklemesi. Bu yazının iyiliği için, ARM Mbed platformunu çevrimiçi bir araç olduğu için kullanmaya karar verdim ve çok ilginç buldum çünkü onunla sadece ST kartlarınızı değil, ARM mikrodenetleyiciyi kullanan diğer birçok geliştirme kartını da yapabilirsiniz.
Yeni olanlar için, ARM MBED, ARM tarafından sağlanan bir çevrimiçi geliştirme platformudur ve size IoT tabanlı gömülü çözümleri kolayca oluşturmak için gömülü bir işletim sistemi, bulut hizmetleri ve güvenlik özellikleri sunar. Devasa bir açık kaynak topluluğu ve bununla ilgili ayrıntılı bilgi almak için ayrı bir makale gerekecek.
STM32F401 ile Başlarken
Ancak, başlamak için STM32 geliştirme kartınızı bilgisayarınıza bağlamak için bir USB mini kablo kullanın. Güç verildiğinde, LD1 ve LD3 LED'lerinin kırmızı yandığını ve programlanabilir LED LD2'nin bunun gibi yeşil renkte yanıp söndüğünü fark etmelisiniz.
Ayrıca bilgisayarınızda “NODE_F401RE” adında yeni bir flash sürücü de fark edeceksiniz . Açın ve aşağıda gösterildiği gibi details.txt ve mbed.htm olmak üzere iki dosya bulacaksınız.
Mbed.htm dosyasını çalıştırarak doğrudan Mbed kolunu kullanarak kartınızı çevrimiçi olarak programlamaya başlayabilirsiniz. Ancak, oraya varmadan önce gerekli sürücüleri kurduk ve Mbed'e kayıt olduk. STSW-link009 sürücü yazılımını arayın ve doğrudan ST web sitesinden indirin, sürücüyü kurun ve aygıtın burada gösterildiği gibi aygıt yöneticinizde doğru bir şekilde bulunduğundan emin olun.
Kimlik bilgilerinizle MBED.com'a kaydolmak için mbed platformunuza geri dönün. Ardından, MBED.HTM dosyasına tıklayın ve bir sonraki sayfa ile karşılaşacaksınız.
Aşağı kaydırın ve " Mbed derleyicisini aç " ı tıklayın. Gördüğünüz gibi derleyici, platformumuzu zaten Nucleo-F401RE olarak kabul etti ve bize birçok temel örnek program sunuyor. Şimdilik, " LED Yanıp Sönen kodu " nu seçmeme ve düğmeye her bastığımda LED'in kapanması için değiştirmeme izin verin.
Kod aşağıda gösterildiği gibi hazır olduğunda, size bir bin dosyası sağlayacak derleme düğmesine tıklayabilirsiniz, sadece bin dosyasını kopyalayın ve kartınızı programlamak için flash sürücünüze yapıştırın. Programlama tamamlandığında LD1 LED'inin Yeşile döndüğünü fark edeceksiniz. Şimdi mavi düğmeye basın ve Yeşil LED'in kapandığını göreceksiniz. Bunun gibi, panonun farklı işlevlerini öğrenmek için örnek programlardan herhangi birini deneyebilirsiniz. Ayrıca diğer teknik belgeler ve topluluk desteği almak için ana sayfaya geri dönebilirsiniz.
Ayrıca bu panoda tam incelemeyi görüntülemek için bu sayfanın altında bağlantılı videoyu da izleyebilirsiniz.
Sonuç
Genel olarak, becerilerinizi yükseltmeye ve gelişmiş uygulamalar geliştirmeye çalışıyorsanız, bu panoların mükemmel seçimler olduğuna inanıyorum. Pratik donanım desteği ve çevrimiçi topluluğuyla, bu kartların öğrenme eğrisi de oldukça basittir, bu yüzden denemek isteyebilirsiniz. Umarım makaleyi beğenmişsinizdir ve ondan faydalı bir şeyler öğrenmişsinizdir. Herhangi bir sorunuz varsa, aşağıdaki yorum bölümüne bırakın veya diğer teknik sorular için forumlarımızı kullanın.