Mbed Projenizi VSCode a aktararak Derleme İşlemi


Mbed Arm firması tarafından geliştirilen Arm çekirdeğine sahip işlemci ve mikrodenetleyicileri programlamak için geliştirilmiş bir C++ uygulama geliştirme platformudur.


Tarayıcınızı açarak Mbed web sitesi üzerinden compiler sekmesine giriş yaparak geliştirme yapmak istediğiniz kartınızı seçerek kodlamaya başlayabilirsiniz. Bunun yanında tarayıcıda kod yazmak istemeyenler ve offline internet olmadan da çalışmak isteyenlerin kullanabileceği mbed-cli de bulunmaktadır. Bu istemci yazılım mbed ve mbed-os kütüphanelerini github üzerinden çekerek projenizi pc nizde oluşturmanızı sağlar. 


Deneyimlediğimiz Mbed Online Compiler çok stabil çalışsa da tarayıcı üzerinde çalışmanın verdiği bir yavaşlık var ve Ctrl+Z gibi geriye alma biraz sıkıntılı. Girintileri otomatik formatlayabiliyor ama parantez başlangıç ve sonunu anlayamıyorsunuz. Gözlerinize yazık. Bizde Visual Studio Code ile nasıl yapabiliriz diye biraz araştırma yapınca karşımıza PlatformIO çıktı. Yine testlerimize göre PlatformIO  Mbed, Arduino ve STM32Cube gibi framework uygulama çatılarını desteklese de compile ettiğimiz kendi tasarım kartımızda (custom board) da verimli sonuç alamadık. PlatformIO’ nun desteklediği diğer gömülü sistem kart ve framework ları daha önce şu https://blog.mesebilisim.com/2020/01/platformio-nedir.html yazıda paylaşmıştık. Arayışımız devam ederken Visual Studio üzerinde başarılı olduk ve .bin dosyamızı kartımıza yüklediğimizde çalıştırdık. 

Mbed projemizi Visual Studio ya nasıl export ettiğimizi adım adım anlatmaya çalışacağım.

2- Mbed online compiler üzerinde “VSCode_Mbed_Template” isminde projemizi oluşturalım,





3- Projemizde mouse sağ tık ile export penceremizi açalım,

4- Export toolchain olarak VSCode-GCC-ARM seçelim,


5- Export butonuna basarak projeyi indirelim,
6- İndirdiğimiz Zip dosyasını klasöre çıkaralım,
7- Proje klasörünün içerisine girelim ve burada cmd yi açalım,
8- Visual Studio Code u açarak klasörümüzü açalım ve main.cpp dosyamızı açalım.
9- cmd üzerinde “mbed deploy” komutunu verelim, bu işlem 2-3 dakika sürmektedir.
10- İşlem bittiğinde “mbed compile -m NUCLEO_F410RB -t GCC_ARM -v” komutunu verelim. Burada -m ile compile edilecek hedef MCU i seçiyoruz. -t ile toolchain i seçiyoruz. Windows üzerinde compile yapıyorsak “GCC_ARM“ olmalıdır. En sondaki -v ile yapılan işlemler için ekrana bilgi yazılmasını sağlıyoruz.
11- Derleme işlemi bittiğinde proje klasöründe “BUILD” isminde bir klasör oluşacak. İçerisinde MCU isminde yine bir klasör ve içindede “ARMC6” isminde bir klasör daha oluşuyor. Oluşan bu klasörün altında “VSCode_Mbed_Template.bin” isminde compile edilmiş dosyanızı görebilirsiniz.










STM32 Yazılım Geliştirme Araçları Nelerdir?


32-bit Arm® Cortex® çekirdek tabanlı olan STM32 mikrodenetleyici ailesi kapsamlı bir yazılım araç seti tarafından desteklenmektedir.

Üçüncü parti tedarikçiler tarafından geliştirilen C/C++ derleyicileri ve hata ayıklayıcıları 64 Kbyte'a kadar  ücretsiz olarak kullanabilirsiniz.

Gömülü yazılım kütüphanelerini içeren geleneksel entegre geliştirme ortamları (IDE) ile compile ve debug işlemlerini gerçekleştirebilirsiniz.


STM32 geliştirme araçları aşağıda sıralanmıştır.

Kullanım istatislikleri dikkate alınmadan sıralanmıştır!

1- IAR Embedded Workbench https://www.iar.com

2- Keil Embedded Development Tools for Arm, Cortex-M, Cortex http://www.keil.com/

3- System Workbench for MCU: Embedded - ac6-tools https://www.ac6-tools.com/

4- Atollic - ST https://atollic.com/

5- Arduino https://www.arduino.cc/

6- Mbed https://www.mbed.com

7- ARM Cortex-M Software Development Toolset - Tasking https://www.tasking.com/products/arm

8- Embedded Studio for ARM | SEGGER - The Embedded Experts https://www.segger.com/products/development-tools/embedded-studio/editions/arm/

9- CrossWorks for ARM - Rowley Associates https://www.rowley.co.uk/arm/index.htm

10- Sysprogs https://sysprogs.com/

11- RAISONANCE, MCU application development solutions http://www.raisonance.com/

12- CoIDE - CooCox CoIDE, a free and highly-integrated software http://www.coocox.org/  ve https://www.st.com/en/development-tools/coide.html

13- iSYSTEM - iSYSTEM - Enabling Safer Embedded Systems https://www.isystem.com/

14- Emprog http://www.emprog.com/emprog/

15- STM32CubeMX - STM32Cube initialization code generator https://www.st.com/en/development-tools/stm32cubemx.html yeni ismi ve yetenekleri ile STM32CubeIDE https://www.st.com/en/development-tools/stm32cubeide.html