2021 yılında duyurulan ilk nesil Raspberry Pi Pico ve onun kalbinde yer alan RP2040 silikonu, mikrokontrolcü ekosisteminde adeta kartların yeniden dağıtılmasına yol açmıştı. 4 dolarlık fiyat etiketi, çift çekirdekli yapısı ve benzersiz Programlanabilir Giriş/Çıkış (PIO) bloklarıyla maker ve hobi elektroniği dünyasının en sevilen kartlarından biri oldu. Ancak aradan geçen yıllar içinde IoT projelerinin karmaşıklaşması; donanımsal matematik işlemcisi (FPU), daha geniş bellek, düşük güç modları ve kurumsal düzeyde siber güvenlik ihtiyacını beraberinde getirdi.
Raspberry Pi vakfı bu taleplere doğrudan kendi tasarımı olan yeni nesil RP2350 mikrodenetleyicisi ve Raspberry Pi Pico 2 kartı ile yanıt verdi. Daha önce tek kart bilgisayarlar (SBC) tarafında ele aldığımız Raspberry Pi Uzaktan İşletim Sistemi Yükleme rehberimizin yanı sıra, mikrodenetleyici dünyasında popülerleşen ESP32 Kurulumu tecrübemizin ışığında; bu yazıda RP2350’nin yarı iletken dünyasında çığır açan Arm Cortex-M33 ve Hazard3 RISC-V çift mimari yapısını, RP2040 ile farklarını ve MicroPython ile ilk kodlama adımlarını derinlemesine inceliyoruz.

RP2040 vs RP2350: Donanım ve Teknik Karşılaştırma Tablosu
Pico 2, orijinal Pico ile tam pin uyumluluğunu (drop-in replacement) korurken silikon seviyesinde muazzam bir donanım sıçraması sunmaktadır. İki nesil arasındaki temel teknik farklar aşağıdaki tabloda özetlenmiştir:
| Donanım Özelliği | Raspberry Pi Pico (RP2040) | Raspberry Pi Pico 2 (RP2350) |
|---|---|---|
| İşlemci Çekirdekleri | 2x Arm Cortex-M0+ @ 133 MHz | 2x Arm Cortex-M33 VEYA 2x Hazard3 RISC-V @ 150 MHz |
| SRAM Bellek | 264 KB | 520 KB (10 bağımsız bank) |
| Dahili Flash Bellek | 2 MB QSPI Flash | 4 MB QSPI Flash |
| Kayan Nokta Birimi (FPU) | Yok (Yazılımsal emülasyon) | Donanımsal FPU (IEEE 754 tek duyarlıklı) |
| DSP Talimat Seti | Yok | Armv8-M DSP / SIMD desteği |
| PIO Durum Makineleri | 2 blokta toplam 8 adet | 3 blokta toplam 12 adet (Yeni talimatlarla) |
| Donanımsal Güvenlik | Temel seviye | Arm TrustZone, Secure Boot, SHA-256 motoru, OTP |
| Dahili Sıcaklık Sensörü | Var (Temel hassasiyet) | Var (Yüksek doğruluklu kalibre) |
| Çalışma Gerilimi | 1.8V – 5.5V DC Giriş | 1.8V – 5.5V DC Giriş (Daha verimli buck-boost regülatör) |
Benzersiz Çift Mimari: Arm Cortex-M33 ve Hazard3 RISC-V Seçimi
RP2350’yi yarı iletken pazarında benzersiz kılan en radikal tasarım tercihi, kalıp üzerinde iki farklı çekirdek çiftine birden yer vermesidir. Kartın içerisinde toplam 4 adet fiziksel çekirdek bulunur:
- 2x Arm Cortex-M33 Çekirdeği: Modern 32-bit Armv8-M mimarisine dayanır. Endüstride yaygın kullanılan CMSIS kütüphaneleri, Arm TrustZone güvenlik katmanı ve yüksek saat frekansında DSP talimatlarını doğrudan destekler.
- 2x Hazard3 RISC-V Çekirdeği: Luke Wren (Raspberry Pi mühendisi) tarafından tasarlanan açık kaynaklı RISC-V (RV32IMACXpico) işlemci mimarisidir. Telif hakkı ücreti gerektirmeyen, tamamen şeffaf ve açık komut seti mimarisiyle geleceğin işlemci dünyasını temsil eder.
Geliştiriciler derleme aşamasında veya önyükleme sırasında istedikleri mimariyi seçebilirler. Her iki çekirdek ailesi de 520 KB paylaşımlı belleğe, çevre birimlerine (SPI, I2C, UART, PWM) ve PIO durum makinelerine eşit hızda erişir. Bu sayede aynı donanım üzerinde hem geleneksel Arm hem de yükselen yıldız RISC-V kodlarınızı kıyaslayabilirsiniz.
Donanımsal FPU ile Matematiksel İşlem Gücü
Eski RP2040 kullanan mühendislerin karşılaştığı en büyük kısıtlama, ondalıklı sayı (floating point) işlemlerinde işlemcinin saatlerce döngü harcamasıydı. RP2040’ta donanımsal FPU olmadığı için trigonometrik hesaplamalar, PID motor kontrolleri, dijital sinyal işleme (DSP) ve sensör filtreleme (Kalman filtresi vb.) tamamen yazılımsal kütüphanelerle yürütülüyordu.
RP2350’deki Cortex-M33 çekirdeklerine entegre donanımsal FPU (Floating Point Unit) sayesinde tek duyarlıklı kayan noktalı işlemler tek bir saat çevriminde yürütülür. Bu sıçrama, Pico 2’yi robotik kol kinematikleri, titreşim analizi, FFT frekans spektrumu çıkarımı ve yerel uç yapay zeka (TinyML) modelleri için mükemmel bir platform haline getirmektedir.
Genişletilmiş Programlanabilir Giriş/Çıkış (PIO) Blokları
Raspberry Pi silikonlarının imzası haline gelen PIO (Programmable I/O) teknolojisi, işlemci çekirdeklerine hiç yük bindirmeden özel donanım protokolleri oluşturmanızı sağlar. Pico 2 ile birlikte:
- PIO blok sayısı 2’den 3’e çıkarılmıştır.
- Toplam bağımsız durum makinesi (State Machine) sayısı 8’den 12’ye yükseltilmiştir.
- Yeni talimat setleri ve FIFO tampon optimizasyonları sayesinde DVI/HDMI dijital video çıkışı, WS2812B adreslenebilir LED sürücüleri, Ethernet RMII arayüzleri ve CAN-Bus kontrolü çok daha kararlı hale gelmiştir.
Kurumsal Düzeyde Donanımsal Güvenlik ve TrustZone
RP2040 ticari ürünlerde kullanıldığında kod kopyalanmasına (reverse engineering) karşı savunmasızdı çünkü harici flash bellek şifresiz okunabiliyordu. RP2350 bu açığı kurumsal standartlarla kapatmıştır:
- Arm TrustZone Mimarisi: Belleği ve çevre birimlerini Güvenli (Secure) ve Güvensiz (Non-secure) bölgelere ayırır. Kritik şifreleme anahtarları kullanıcı kodundan yalıtılır.
- Güvenli Önyükleme (Secure Boot): Yalnızca üreticinin özel RSA/ECC anahtarıyla imzalanmış firmware dosyalarının çalışmasına izin verir.
- 8 KB OTP (One-Time Programmable) Bellek: Geri döndürülemez şekilde yakılabilen donanımsal sigortalar ile güvenlik anahtarları saklanır.
- Donanımsal SHA-256 Hızlandırıcı: Kriptografik doğrulama işlemlerini milisaniyeler içinde tamamlar.
MicroPython ile İlk Kurulum ve Başlangıç Kodu
Pico 2 üzerinde MicroPython ortamına geçiş yapmak, selefinde olduğu gibi saniyeler sürer:
- Kart üzerindeki beyaz BOOTSEL butonuna basılı tutarak USB kablosunu bilgisayarınıza takın.
- Bilgisayarınızda
RP2350etiketli taşınabilir bir sürücü belirecektir. - Resmi Raspberry Pi web sitesinden indirdiğiniz güncel
rp2-pico-2-latest.uf2dosyasını bu sürücünün içine sürükleyip bırakın. Cihaz kendini otomatik olarak yeniden başlatacaktır. - Thonny IDE’yi açın, sağ alt köşeden yorumlayıcı olarak MicroPython (Raspberry Pi Pico) seçeneğini belirleyin.
FPU ve Donanım Testi İçin Örnek MicroPython Kodu
Aşağıdaki başlangıç scripti; kartın dahili LED’ini yakıp söndürürken aynı zamanda FPU işlemcisini stres testine sokarak matematiksel işlem süresini milisaniye cinsinden ekrana basar:
import machine
import time
import math
# Pico 2 Dahili Kullanici LED Pini
led = machine.Pin("LED", machine.Pin.OUT)
print("--- Raspberry Pi Pico 2 (RP2350) Baslatildi ---")
print(f"Islemci Frekansi: {machine.freq() / 1_000_000:.1f} MHz")
# FPU ve Matematiksel Performans Kıyaslama Fonksiyonu
def fpu_benchmark(iterasyon=100_000):
start_time = time.ticks_ms()
toplam = 0.0
for i in range(1, iterasyon + 1):
# Trigonometrik ve logaritmik hesaplamalar doğrudan FPU uzerinde kosar
toplam += math.sin(i) * math.cos(i) + math.sqrt(i)
elapsed = time.ticks_diff(time.ticks_ms(), start_time)
return elapsed, toplam
# Benchmark Testini Baslat
print("FPU Matematik Benchmark Testi Yurutuluyor (100.000 Dongu)...")
sure_ms, sonuc = fpu_benchmark()
print(f"Test Tamamlandi: {sure_ms} ms | Kontrol Degeri: {sonuc:.4f}")
# Basit LED Blinking Dongusu
print("LED Yanip Sonuyor. Durdurmak icin Ctrl+C basiniz.")
sayac = 0
while True:
led.toggle()
sayac += 1
if sayac % 2 == 0:
print(f"Kalp Atisi: {sayac // 2}. saniye")
time.sleep(0.5)
Bu testi eski bir RP2040 kartıyla yan yana çalıştırdığınızda, Pico 2’nin kayan noktalı matematik hesaplamalarını yazılımsal emülasyona kıyasla katbekat daha kısa sürede tamamladığını doğrudan gözlemleyebilirsiniz.
Kaynaklar ve Referanslar
Bu makale hazırlanırken aşağıdaki kaynaklardan ve orijinal teknik dökümantasyonlardan faydalanılmıştır:
- The Pi Hut – Raspberry Pi Pico 2 & RP2350 Hardware Specifications
- Hackster.io – RP2350 Architecture and BootROM Security Research
- Karakavuz.com – Raspberry Pi Uzaktan Kurulum Rehberi
- Karakavuz.com – ESP32 Kurulumu ve Geliştirme Temelleri
- Karakavuz.com – Python Dosyalarını Tekil EXE Haline Getirme Rehberi











