Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Embedded StudioNew to Visual Studio Code? Get it now.
Embedded Studio

Embedded Studio

Preview

Mehmet Akif Seckin

|
2 installs
| (0) | Free
STM32 için görsel gömülü sistem tasarımı: komponent seçimi, otomatik pin/saat ataması, HAL veya bare-metal + FreeRTOS kod üretimi, canlı monitör ve debug.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Embedded Studio

Embedded Studio

STM32 için görsel gömülü sistem tasarımı, VS Code içinde.
Sensörleri seç · pinleri ve saati otomatik ata · HAL / bare-metal + FreeRTOS kodu üret · derle, yükle, canlı izle, debug et.

Marketplace sürümü Kurulum sayısı Testler MIT lisansı Önizleme

Kurulum · Hızlı başlangıç · Özellikler · Katkı · English

Kütüphaneden komponent ekleme, bilgi kartı, sağ tık menüsü ve bağlantılar penceresi

Neden Embedded Studio?

Bir sensörü mikrodenetleyiciye bağlamak çoğu zaman şu adımlarla geçer: datasheet'ten alternatif fonksiyon tablosuna bakmak, çakışan pinleri ayıklamak, saat ağacını hesaplamak, init kodunu yazmak, sonra da her şeyin gerçekten çalıştığını görmek için seri port çıktısıyla uğraşmak. Embedded Studio bu döngüyü tek bir yerde topluyor:

  • 🧩 Komponenti seç, gerisini o ayarlasın. I2C/SPI/UART/ADC/PWM atamaları, alternatif fonksiyonlar ve I2C adres çakışmaları otomatik çözülür.
  • ⏱️ CubeMX tarzı saat ağacı. Hedef frekansı yaz, geçerli PLL ayarını o bulsun; sınır aşımları kırmızıyla gösterilir.
  • 🛠️ Derlenen kod. STM32 HAL ya da doğrudan register, isteğe bağlı FreeRTOS. CMake + ARM GCC projesi hazır gelir.
  • ✍️ Kodun asla ezilmez. USER CODE blokları korunur; tasarım değişince sadece etkilenen dosyalar güncellenir.
  • 🤖 Yapay zekâ ajanlarıyla uyumlu. Claude, ChatGPT/Codex, Gemini ve Copilot için hazır AGENTS.md / CLAUDE.md / GEMINI.md.
  • 📈 Canlı monitör ve debug. 3B IMU, GPS rotası, göstergeler, RTOS task tablosu; register'lar, bellek ve değişkenler.

📦 Kurulum

VS Code'da Embedded Studio kurulumu: Uzantılar paneli, arama, Yükle, durum çubuğu
Kurulum adımları (temsili çizim). Son karedeki sihirbaz eklentinin gerçek ekranıdır.

Adım 1
1. VS Code'da Uzantılar panelini açın (Ctrl+Shift+X).
Adım 2
2. Arama kutusuna Embedded Studio yazın.
Adım 3
3. Install (Yükle) düğmesine tıklayın.
Adım 4
4. Bir klasör açın, alttaki durum çubuğunda Embedded Studio'ya tıklayın.

Diğer yollar

  • Tarayıcıdan: Marketplace sayfasında Install'a tıklayın.
  • Komut satırından: code --install-extension mhmtakfseckin.embedded-studio
  • Kaynaktan: repoyu klonlayıp node tools/package-vsix.js ile .vsix üretin, VS Code'da Ctrl+Shift+P → Extensions: Install from VSIX… ile kurun.

Gereksinimler

Tasarım ve kod üretimi için hiçbir şey gerekmez. Derleme, karta yükleme ve kütüphane indirme için şunlar PATH'te olmalı:

Araç Ne için Nereden
git HAL / CMSIS / FreeRTOS kaynaklarını indirmek git-scm.com
cmake + ninja Derleme cmake.org · ninja-build.org
arm-none-eabi-gcc ARM derleyicisi Arm GNU Toolchain
openocd + ST-Link sürücüsü Karta yükleme ve gerçek kartla debug xPack OpenOCD

🚀 Hızlı başlangıç

  1. Boş bir klasör açın ve durum çubuğundaki Embedded Studio'ya tıklayın.
  2. Sihirbazda proje adını, mikrodenetleyiciyi, STM32 HAL / bare-metal ve FreeRTOS seçimini yapın.
  3. Soldaki kütüphaneden komponent ekleyin ya da alttaki asistana ne yapmak istediğinizi yazın: "Sıcaklık ve ivme ölçüp OLED ekranda gösteren bir cihaz".
  4. Kod Üret → Ctrl+Shift+B ile derleyin → Debug sekmesinden Yükle.
  5. Monitör sekmesinde verileri canlı izleyin.

Yeni proje sihirbazı

✨ Özellikler

Tasarım: KiCad tarzı şema

Komponentler mikrodenetleyiciye otomatik bağlanır, kablolar sinyal türüne göre renklenir. Bir pini elle seçerseniz geri kalan atama ona göre yeniden çözülür. Her değişiklik otomatik kaydedilir.

Sağ tık menüsü Bağlantılar penceresi
Sağ tık menüsü Bağlantılar penceresi
Bağlantılar, Yönü değiştir (aynala), Datasheet (PDF indirir), Sil. Del / Backspace de çalışır. Pinleri seçip Kaydet; Kapat değişiklikleri atar. I2C adresi de buradan seçilir.

Komponentin üzerine gelince resimli bir bilgi kartı açılır. Alt paneldeki asistan, yazdığınız isteğe göre komponent önerir.

Komponent oluşturucu

Kütüphanede olmayan bir sensörü JSON yazmadan ekleyin. Form solda, canlı şema sembolü, bilgi kartı ve doğrulama sağda.

Komponent oluşturucu ile TMP102 sensörü tanımlama

Clock: saat ağacı

Clock sekmesi

HSI/HSE, PLL (M/N/P/Q), AHB/APB bölücüleri. Otomatik çöz hedef frekans için geçerli ayarı bulur; çevre birimi tablosu UART baud hatasını, SPI hızını ve timer ön bölücüsünü gösterir. Ayarlar üretilen SystemClock_Config / clock_init koduna yansır.

Kod üretimi

Klasör yapısı kod altyapısına göre değişir:

STM32 HAL (CubeMX / CubeIDE ile aynı) Bare-metal (sade)
Sizin kodunuz (USER CODE blokları) Core/Src/app.c, Core/Src/main.c src/app.c, src/main.c
Başlıklar Core/Inc/ inc/
Saat, GPIO, çevre birimi init / ortak donanım API'si Core/Src/board.c, Core/Src/bsp.c src/board.c, src/bsp.c
Sadece seçilen sensör sürücüleri Drivers/Components/ drivers/
CMSIS çekirdek ve cihaz başlıkları Drivers/CMSIS/ cmsis/core/, cmsis/device/
Startup ve system_stm32f4xx.c Drivers/CMSIS/Device/…/Templates/ startup/
Linker script STM32F411CEU6_FLASH.ld linker/STM32F411CEU6_FLASH.ld
HAL sürücüleri Drivers/STM32F4xx_HAL_Driver/ —
FreeRTOS (açıksa) Middlewares/FreeRTOS/ rtos/FreeRTOS/

Her iki yapıda da: CMakeLists.txt (arm-none-eabi-gcc + Ninja), yapay zekâ ajanları için AGENTS.md / CLAUDE.md ve son tasarım değişikliğini anlatan .embedded-studio/LAST_CHANGES.md. Altyapıyı Ayarlar sekmesinden değiştirirseniz bir sonraki "Kod Üret"te kendi dosyalarınız ve USER CODE bloklarınız yeni klasörlere taşınır.

Profesyonel modda bare-metal: main.c bir kez oluşturulur ve sizindir, app.c üretilmez. "Kod Üret" sadece sürücüleri, BSP'yi, init ve kesme dosyalarını yazar; önce bir önizleme gösterir (dosya bazında fark görünümü) ve elle değiştirdiğiniz üretilmiş dosyanın üzerine yazmaz (yeni hali .new). Her sürücü başlığında bu projeye göre bir kullanım örneği vardır.

  • Tasarım değişmediyse hiçbir dosyaya dokunulmaz.
  • Bir sensörü çıkarırsanız sürücüsü kaldırılır ama ona yazdığınız kod silinmez; dosyanın sonunda #if 0 bloğunda durur.
  • Üretilen kod her push'ta Linux'ta ARM GCC ile dört varyantta (HAL / register × RTOS / RTOS'suz) -Wall -Wextra altında derlenir.

Monitör

Canlı monitör: 3B IMU, GPS, göstergeler, RTOS task tablosu

Her sensör için uygun görünüm: 3B IMU (uçak modeli ve kırmızı/yeşil/mavi eksenler), GPS rotası, termometre, gösterge, lamba ve grafik. Widget'ların türünü ve boyutunu değiştirin, sürükleyip sıralayın. FreeRTOS task'larının durumu, boş stack'i ve CPU payı sağdaki tabloda.

Debug

Debug sekmesi

Simülasyon ya da OpenOCD + ST-Link: durdur, devam, adım, reset; core register'lar ve xPSR bayrakları; bit alanlarıyla çevre birimi register'ları (yerleşik tanımlar ya da tam CMSIS-SVD); bellek görüntüleyici; ELF'ten değişken izleme. Okuması bayrak temizleyen register'lar (ör. USART->DR) sadece hedef durduğunda okunur; çalışan firmware'den veri çalınmaz.

🔌 Desteklenenler

Mikrodenetleyici STM32F411CEU6 (WeAct Black Pill). Diğer STM32F4'ler bir JSON dosyasıyla eklenebilir.
Komponentler BME280, MPU-6050, SSD1306 OLED, W25Q32 SPI flash, u-blox NEO-6M GPS, USB-UART, LED, buton, potansiyometre, SG90 servo
Kod altyapısı STM32 HAL · bare-metal (CMSIS register) · isteğe bağlı FreeRTOS
Programlayıcı ST-Link (OpenOCD)

🗺️ Yol haritası

  • [x] Pin ve saat ataması, HAL / bare-metal + FreeRTOS kod üretimi
  • [x] Monitör, debug, komponent oluşturucu
  • [ ] Monitörde seri port üzerinden gerçek kart verisi
  • [ ] Yeni MCU'lar: STM32F4 ailesinin geri kalanı, STM32G4/L4, ESP32, RP2040
  • [ ] LLM destekli asistan ve datasheet'ten komponent taslağı çıkarma
  • [x] İngilizce arayüz (VS Code dili İngilizceyse kendiliğinden; ayar: embeddedStudio.language)

Fikriniz mi var? Özellik isteği açın.

🤝 Katkı

Katkılarınızı bekliyoruz. Kod yazmanız gerekmiyor; en değerli katkılardan bazıları kod dışı:

Ne yapabilirsiniz Nasıl
🐞 Hata bildirin Hata bildirimi
🔌 Kartınızda deneyin Özellikle ST-Link ile yükleme ve debug. Sonucu bir issue'da paylaşın.
🧩 Komponent ekleyin Komponent oluşturucuyla tanımlayın → Dışa aktar → data/components/ altına PR açın
📝 Dokümantasyon / çeviri README, rehberler, İngilizce arayüz metinleri
💻 Kod Sürücüler, yeni MCU'lar, monitör widget'ları, seri port kaynağı

Geliştirme ortamı, proje yapısı, kod kuralları ve PR süreci için CONTRIBUTING.md'ye bakın.

Planlanan işler ve öncelikler ROADMAP.md dosyasında; her madde bir GitHub issue olarak da açık. Üzerinde çalışmak istediğiniz issue'ya yorum bırakmanız yeterli. İlk katkı için good first issue etiketli issue'lar uygun.

git clone https://github.com/k4zmo55/Embedded-Studio.git
cd Embedded-Studio && code .   # F5 ile eklentiyi çalıştırın, derleme adımı yok
node test/smoke.js             # birim testleri

English

Embedded Studio in English

Embedded Studio is a VS Code extension for visually designing STM32 firmware. Pick the sensors you need and it wires them to the microcontroller in a KiCad-style schematic, assigns pins and peripherals (alternate functions, conflicts, I2C address clashes), builds a valid clock tree, and generates a CMake + ARM GCC project using STM32 HAL or bare-metal register code, optionally with FreeRTOS. Your code inside USER CODE blocks is preserved across regenerations, and generated AGENTS.md / CLAUDE.md / GEMINI.md files tell AI coding agents which files they may edit.

It also includes a live monitor (3D IMU, GPS track, gauges, RTOS task table), a debugger front-end for OpenOCD + ST-Link (peripheral registers with bit fields, memory, variable watch) and a component creator for adding your own sensors.

The UI follows your VS Code display language: English, or Turkish when VS Code is in Turkish. You can force it with the embeddedStudio.language setting (auto, en, tr). Generated code comments and the documentation are still in Turkish. Contributions are welcome, see CONTRIBUTING.md (in Turkish; feel free to open issues in English).

Lisans

MIT © Mehmet Akif Seçkin

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft