← Tüm makaleler

ARM Nedir?

ARM ekosistemi — işlemci çekirdekleri, IP lisans modeli ve temel kavramlar

ARM Ekosistemi

ARM logosu taşıyan bir çip satın alamazsınız. ARM bir çip üreticisi değildir — bir fikri mülkiyet (IP) şirketidir. İşlemci mimarisini tasarlar, lisanslar ve gelir elde eder. Sizin elinize geçen STM32, nRF52 veya iMX RT çipi, ARM'ın mimarisini lisanslayan bir şirketin ürettiği üründür.

Bu yazının sonunda şunları anlayacaksınız: ARM'ın iş modelini ve neden bu kadar yaygınlaştığını; Cortex-M serisinin farklı çekirdeklerini ve aralarındaki farkları; bir ARM çekirdeğinin nasıl somut bir MCU haline geldiğini; STM32 gibi ürünleri çalıştıran altyapıyı.

{anecdote:ARM mimarisi 1985 yılında Acorn Computers tarafından geliştirildi. Bugün yıllık 25 milyarın üzerinde ARM çekirdeği içeren çip üretilmektedir — bu, dünyada üretilen tüm işlemcilerin büyük çoğunluğudur.}


ARM'ın İş Modeli: IP Lisansı

Geleneksel bir çip şirketi tasarlar ve üretir. ARM yalnızca tasarlar. Sonra bu tasarımı başka şirketlere lisanslar:

Bu model, ARM çekirdeklerinin bu kadar çok üründe yer almasının nedenidir. Şirketler çekirdek mimarisini sıfırdan tasarlamak yerine kanıtlanmış bir mimariyi lisanslar ve kendi farklılıklarını peripheral katmanına taşır.


Cortex Ailesi: Hangi Çekirdek Ne İçin?

ARM, farklı kullanım senaryoları için farklı çekirdek aileleri tanımlamıştır:

Aile Hedef Örnek ürünler
Cortex-M Mikrodenetleyiciler, gömülü sistemler STM32, nRF52, LPC, SAMD
Cortex-R Gerçek zamanlı, güvenlik kritik Otomotiv ABS, sabit disk kontrol
Cortex-A Uygulama işlemcileri, Linux Raspberry Pi, akıllı telefon SoC

Gömülü sistemler dersleri kapsamında çalıştığınız çekirdek Cortex-M serisidir.


Cortex-M Serisi: Detaylı Karşılaştırma

Cortex-M serisi içinde de farklı çekirdekler bulunur. Her biri farklı bir güç/performans dengesini hedefler:

Çekirdek Boru Hattı DSP FPU Hedef kullanım
M0 3 aşamalı - - Ultra düşük güç, basit sensörler
M0+ 2 aşamalı - - M0'dan daha verimli, IoT düğümleri
M3 3 aşamalı - - Genel amaçlı, iyi performans/maliyet dengesi
M4 3 aşamalı Opsiyonel Motor kontrol, ses işleme, filtreler
M7 6 aşamalı Yüksek performans, çift precision FPU
M33 3 aşamalı Opsiyonel TrustZone güvenlik, IoT

DSP (Digital Signal Processing) komutları: Sinyal işleme için optimize edilmiş SIMD komutlarıdır. Filtre, FFT ve motor kontrol algoritmalarını hızlandırır.

FPU (Floating Point Unit): Ondalıklı sayı hesaplamalarını yazılım yerine donanımda yapar. Sensör fusion, PID kontrol ve ses işlemede büyük fark yaratır.

Bu platformda ağırlıklı olarak Cortex-M0 ve Cortex-M4 ile çalışacaksınız — STM32F0 serisi M0, STM32F4 serisi ise M4 çekirdeği kullanır.


Thumb ve Thumb-2 Komut Seti

ARM'ın 32-bit komut seti (A32/T32) iki farklı kodlama moduna sahiptir:

ARM modu (A32): Her komut 32 bit genişliğindedir. Yüksek performans, ancak daha fazla kod boyutu.

Thumb modu (T16/T32): Komutlar 16 veya 32 bit olabilir. Cortex-M serisi yalnızca Thumb-2 modunda çalışır — karma genişlik sayesinde kod yoğunluğu artar, Flash kullanımı azalır.

Pratik anlamı: C kodu yazdığınızda derleyici (GCC) Thumb-2 komutlarını üretir. Bunu fark etmezsiniz — ama Flash'ın daha verimli kullanıldığını görürsünüz.


CMSIS: Ortak Yazılım Arayüzü

Farklı şirketlerin Cortex-M tabanlı ürünleri arasında yazılım taşınabilirliğini sağlamak için ARM, CMSIS (Cortex Microcontroller Software Interface Standard) standardını tanımlamıştır.

CMSIS şunları kapsar:

/* CMSIS-Core kullanımı — tüm Cortex-M ailesinde aynı */
NVIC_EnableIRQ(TIM2_IRQn);      /* TIM2 kesmesini etkinleştir */
NVIC_SetPriority(TIM2_IRQn, 1); /* Kesme önceliğini ayarla    */
__WFI();                         /* Wait For Interrupt — uyku  */

Bu fonksiyonlar STM32'de de nRF52'de de NXP LPC'de de aynıdır. Çekirdek katmanındaki kodunuz taşınabilirdir.


STM32: ARM + ST'nin Katkısı

STM32 ailesi, Cortex-M çekirdeğini alan ST Microelectronics'in kendi peripheral setini eklediği üründür. Çekirdek + peripheral = MCU.

ARM Cortex-M4 çekirdeği  (ARM'ın tasarladığı)
+
Peripheral katmanı:       (ST'nin tasarladığı)
  ├── APB/AHB veri yolları
  ├── RCC (saat yönetimi)
  ├── GPIO, Timer (TIM1–TIM14)
  ├── ADC (12-bit, çok kanallı)
  ├── USART, SPI, I²C, CAN
  ├── DMA kontrolcüsü
  └── Flash ve bellek denetleyicisi
= STM32F407 MCU

STM32 ailesinin farklı serileri farklı Cortex-M çekirdekleri kullanır:

STM32 Serisi Cortex-M Çekirdeği Özellik
F0 M0 Düşük maliyet, temel uygulamalar
F1 M3 Genel amaçlı, geniş ekosistem
F4 M4 (FPU) Motor kontrol, DSP, yüksek performans
F7 / H7 M7 (FPU) Çift precision, çok yüksek hız
L0 / L4 M0+ / M4 Ultra düşük güç, pil ömrü kritik

Özet

Kavram Açıklama
ARM IP lisans şirketi — çip üretmez, mimari tasarlar
Cortex-M Mikrodenetleyici sınıfı ARM çekirdekleri
Thumb-2 Cortex-M'in 16/32-bit karma komut seti
CMSIS ARM'ın MCU yazılım standartları — taşınabilir çekirdek API'si
STM32 Cortex-M + ST peripheral'ları = somut MCU ürünü
Lisans modeli ST, Nordic, NXP gibi şirketler çekirdeği alır, kendi peripheral'larını ekler
Kurslara göz at →