Elektrik Elektronik Mühendisliği Ödev Yaptırma: ARM Cortex İşlemcilerle Gerçek Zamanlı Uygulamalar

ARM Cortex ailesi (M0/M0+, M3, M4/M7, M33, A serisi) bugün gömülü sistemlerin omurgasını oluşturuyor. Ancak bir sistemin gerçek zamanlı (real-time) olması “işleri hızlı yapması”ndan ibaret değil; sonuçların belirli bir üst zaman sınırı içinde daima gerçekleşmesi demektir. Dolayısıyla ders/ödev düzeyinde dahi; zamanlama garantileri, kesme (interrupt) gecikmeleri, deterministik bellek erişimi, görev öncelikleri, kritik kesit yönetimi, DMA/çevre birimi birlikte çalışması ve güç/enerji sınırları gibi konular esas hale gelir. Bu rehber; ARM Cortex tabanlı bir gerçek zamanlı uygulamayı başlangıçtan teslimata kadar mühendisçe kurmanız için bir çerçeve sunar: mimari seçim, saat ağacı ve cache, kesmeler ve NVIC, RTOS seçimi ve görev tasarımı, bellek ve yığın yönetimi, sürücüler ve DMA, zaman damgalama ve ölçüm, düşük güç kipleri, güvenlik (TrustZone, MPU), test/doğrulama ve tipik vaka senaryoları… Her bölüm kontrol listesi, uygulamalı örnek ve mini hesap içerir.


1) Hedefleri sayısallaştırın: Zaman gereksinimleri olmadan gerçek zaman yok

  • Zaman kısıtları: Sert (hard), yumuşak (soft), en iyi çaba (best-effort) görevleri sınıflayın.

  • Ölçülebilir KPI’lar: Maksimum görev gecikmesi (worst-case response), periyot jitter, kesme gecikmesi, CPU kullanımı, enerji/iş.

  • Örnek tablo:

    • PWM kontrol güncellemesi: 20 kHz, jitter < 200 ns, worst-case latency < 1 µs

    • Sensör edinimi: 1 kHz, kayıp paket oranı < %0.1

    • Haberleşme: CAN-FD 2 Mbps, çerçeve kaybı < %0.01

    • Sistem uyanış: Deep-sleep’ten < 3 ms

Kontrol listesi: Proje raporunun ilk sayfasına “Zaman Gereksinimleri Matrisi”ni koyun ve her gereksinimi son bölümde ölçümle doğrulayın.


2) Mimari seçim: Cortex-M mi, Cortex-A mı, ikisini karıştırmalı mı?

  • Cortex-M (M0/M3/M4/M7/M33): Deterministik kesme gecikmeleri, tek yonga (SoC) çevreleri, düşük güç; çoğu gerçek zamanlı kontrol için ideal.

  • Cortex-A + Linux/RT-PREEMPT: Yüksek hesaplama (ML, ağ yığını), kullanıcı alanı zenginliği; sert gerçek zaman gerektiren döngüler için uygun değil, fakat heterojen mimaride M çekirdeğine “yardımcı/dış halka” olarak bağlanabilir.

  • DSP ihtiyacı: M4F/M7’nin tekli hassas FPU’su ve DSP talimatları (MAC, saturating aritmetik) sinyal işleme için ciddi avantaj.

Ödev ipucu: Kontrol döngüsü M4/M7’de, yoğun ağ/arayüz işleri gerektiğinde bir Cortex-A eş-işlemcili kart ile böl-parçala.


3) Saat ağacı, cache ve determinism: MHz’i doğru yönetin

  • Saat ağacı (RCC/CCM): PLL, prescaler ve bus saatleri (AHB/APB) için çevre ihtiyaçlarını karşılayacak dengeleri kurun.

  • Cache (I/D-Cache) ve TCM (Tightly Coupled Memory): M7 gibi çekirdeklerde I-Cache/D-Cache açıkkengecikmeler düşer ama determinism zayıflar; kritik ISR kodunu TCM’e, DMA tamponlarını cache-line hizalı ve “non-cacheable” bölgeye koyun.

  • Wait-state’ler: Flash wait-state sayısı artınca kesme gecikmesi artar; kritik fonksiyonları ITCM veya RAM’e taşıyın.

Kontrol listesi: NVIC latency testi yapmadan “gerçek zamanlıyım” demeyin. Cache politikasını ve bellek bölgelerini tabloya dökün.


4) NVIC ve kesme mimarisi: Öncelik, preemption, tail-chaining

  • Grup öncelik/alt öncelik (preempt/subpriority) düzenini belirleyin; “kritik kesmeler” (zaman tabanlı, motor koruma) en üstte.

  • Tail-chaining: ARM’ın art arda kesmeleri hızlı bağlam değişimiyle zincirleme işleme avantajını kullanın.

  • Kesme süresi sınırları: ISR içinde uzun işler yapmayın; bayrak/kısa IO, sonrasını görev katmanına bırakın.

  • NVIC vektör tablosu: Bootloader/RTOS ile yeniden konumlandırma (relocate) gereksinimleri.

Uygulama: PWM güncellemesi 20 kHz; ISR < 3 µs, __attribute__((section(".itcm"))) ile ITCM’e yerleştirildi, tail-chain ile ADC DMA callback’inden sonra tetikleniyor.


5) Zaman tabanı & ölçüm: SysTick, DWT cycle counter, TIM

  • SysTick: Periyodik “tick” veya “tickless” RTOS zamanlayıcısı.

  • DWT_CYCCNT (Data Watchpoint and Trace): Cycle-accurate ölçümle fonksiyon/ISR süresini doğrudan döngü cinsinden ölçün.

  • Gelişmiş zamanlayıcılar (TIMx): PWM, input capture, encoder modlarıyla mikrosaniye doğruluğunda zaman damgası.

Mini kod (ödevte fayda): DWT aç/kapat fonksiyonları ve MEASURE_SCOPE makrosu ile her kritik bölümün cycle ölçümünü loglayın.


6) RTOS seçimi: FreeRTOS, Zephyr, RTX—neye göre?

  • Zorunluluk değil: Basit sistemlerde bare-metal + state machine çoğu zaman yeter.

  • RTOS avantajı: Görev önceliği, senkronizasyon, zamanlayıcılar, sürücü soyutlama, taşınabilirlik.

  • Kriterler: Kesme gecikmesi, context switch süresi, SMP ihtiyacı, cihaz sürücü desteği, lisans ve topluluk.

  • FreeRTOS pratikleri: Tickless mod (düşük güç), static allocation ile yığınların kontrolü, configMAX_SYSCALL_INTERRUPT_PRIORITY ayarı.

Kontrol listesi: Görev başına yığın analizini yapın; en kötü durumda taşma olmaması için stack watermark takip edin.


7) Görev tasarımı: Öncelik, periyot, bloklama yok

  • Öncelik ataması: Rate Monotonic (periyodu kısa olan yüksek öncelik) çoğu sabit görev için iyi başlangıç.

  • Kooperatif yerine preemptive: Kritik işlerde preemptive planlayıcı kullanın, ama paylaşılan kaynaklara dikkat.

  • Bloklama yasak bölgeleri: Yüksek öncelikli görevlerde uzun IO/printf yok; ring buffer + DMA ile arkaya atın.

Vaka: 1 kHz kontrol döngüsü (prio 4), 100 Hz telemetri (prio 3), 10 Hz log (prio 2). Telemetri beklerken kontrol hiç gecikmiyor.


8) Senkronizasyon ve paylaşılan kaynaklar: Priority inversion tuzağı

  • Mutex vs semaphore: MutEx paylaşılan kaynak, semafor olay sinyali.

  • Priority inheritance: Alt öncelikli görev kilidi tutuyorsa miras devreye girmeli (RTOS desteği şart).

  • Lock-free yapılar: SPSC (single-producer single-consumer) ring buffer’lar, atomik bayraklar.

Kontrol: ISR → task veri akışında queue ve stream buffer ile bounded kapasite; taşmaları sayaçla ölçün.


9) DMA: CPU’yu boşaltın, determinismi artırın

  • Periferik-to-memory: ADC, SPI, I²S, USART için double-buffer (ping-pong) DMA.

  • Memory-to-peripheric: PWM/LUT tabanlı dalga, DAC için sürekli akış.

  • Cache uyumu: DMA tamponlarını cache-line hizalı ve non-cacheable bölgede; aksi halde veri tutarsızlığı.

Örnek: 48 kSa/s ses edinimi—ADC DMA çift tampon, her tampon dolunca yarım/doldu callback ile DSP görevine “blok hazır” olayı.


10) Bellek haritası, MPU ve güvenlik

  • MPU (Memory Protection Unit): Görevlerin adres alanı kısıtlansın; hatalı pointer’lar tüm sistemi çökertmesin.

  • Bölge politikaları: RX (kod), RW (veri), DMA buffer non-cacheable, çevre bellekleri strongly-ordered.

  • TrustZone-M (Cortex-M33): Güvenli/normal dünya ayrımı; kripto anahtarlar ve OTA güncellemeleri için kritik.

Ödev ek puanı: MPU/TrustZone politikası çizelgesi + hangi görev hangi bölgelere erişiyor tablosu.


11) Sürücü & HAL katmanı: Taşınabilir ama deterministik

  • HAL/LL (Low-Level) kararı: HAL hızlı başlangıç; kritik yollar LL veya doğrudan register.

  • ISR-safe API: Kesmeden kullanılabilen fonksiyonlar net işaretlenmeli.

  • Kod yerleşimi: Kritik sürücü fonksiyonlarını ITCM; büyük kütüphaneleri Flash.


12) Sayısal işleme (DSP) ve FPU: M4/M7’nin gücünü kullanın

  • CMSIS-DSP: FIR/IIR, FFT, matris, filtre blokları; q15/q31 sabit nokta veya float.

  • FPU etkisi: Hız artışı + enerji düşüşü; fakat FPU context switch süresi → yalnız gerekli görevlerde FPU kullanımını açın.

  • Saturating arithmetic: Taşmaları kontrol edin; gerçek zamanlılıkta kararlılık için önemli.

Mini ölçüm: 256-nokta FFT—M4F’de ~x3 hız, M7’de cache/TCM ile ~x6; cycle count grafiği rapora konur.


13) Güç yönetimi: Sleep/Stop/Standby ve uyanma bütçesi

  • Düşük güç kipleri: Çevre desteklerine göre Stop/Standby kullanın; RTC/EXTI ile uyanın.

  • Uyanma gecikmeleri: PLL kilitlenme süresi, bellek ve cache priming; KPI’lara bağlayın.

  • DVFS/DPM: Saat/kaynakları yük durumuna göre düşürerek enerji/çevrim optimizasyonu.

Kontrol: Her güç kipinden uyanma süresi ve enerji/uyku ölçülmeli (coulomb counter/SMU).


14) Zaman senkronizasyonu ve damgalama: PTP, GPS, RTC

  • RTC kalibrasyonu: 32.768 kHz kristal drift’i (±20 ppm ~ ayda 52 s).

  • Harici senkron: PPS (GPS), PTP (IEEE-1588) destekli MAC varsa µs-altı hizalama.

  • Monotonik sayaç: 64-bit zaman tabanı; taşma ve millis() sorunlarına çare.


15) Haberleşme yığınları: CAN-FD, Ethernet, USB, UART/SPI/I²C

  • CAN-FD: Öncelik tabanlı doğal gerçek zaman; mailbox kollama ve hata kasası yönetimi.

  • Ethernet: DMA-RX/TX ve zero-copy; LWIP ile RTOS aware görev yapısı.

  • USB: CDC/HID/MSC; kesme fırtınalarını NAPI-vari mekanizmalarla kuyruklayın.

  • SPI/I²C: Zaman determinismi için DMA + timeout’lu non-blocking sürücüler.


16) Güvenilirlik: Watchdog, brown-out, fail-safe

  • IWDG/WWDG: İç/dış watchdog; kritik döngü içinde “tek noktadan patlama”yı yakalayın.

  • Brown-out reset (BOR): Belirli eşiğin altında hatalı yürütmeye izin vermeyin.

  • Fail-safe kipleri: Sensör verisi bozulursa “güvenli çıkış” (ör. motor torkunu kes, röleyi kapat).


17) Ölçüm ve profil çıkarma: “Hızlı” değil, garantili hızlı

  • Cycle count logları: Her ISR, her görev periyodunda min/avg/max.

  • Latency-jitter histogram: PWM güncelleme/jitter’i; grafiği rapora koyun.

  • Trace (SWO/ETM): Zaman çizelgesi ile görev değişimleri.

  • Enerji profili: Çevrim başına µJ; uykudan uyanma enerjisi.

Ödev çıktısı: “Önce/sonra” tablo—DMA eklenince CPU % ve jitter nasıl düştü?


18) Test stratejisi: Birim, entegrasyon, hata enjeksiyonu

  • Birim test: Sürücüleri “fake” çevre ile; CI’de derlenebilir.

  • Entegrasyon: Donanım-in-the-loop (HIL) veya loopback senaryoları.

  • Fault injection: Zaman aşımı, CRC hataları, kesme fırtınası; watchdog ve fail-safe doğrulaması.

  • Gerçek zamanlı deadline testi: Yapay yük + en kötü senaryoda deadline ihlali sayacı.


19) Güvenlik ve OTA: TrustZone, kripto, imzalı güncelleme

  • Root of Trust: Güvenli boot, imzalı imaj (ECDSA), SHA-256 doğrulama.

  • OTA bölümlendirme: A/B slot; başarısız güncellemede rollback.

  • Anahtar kasası: Secure world/PUF; anahtarlar normal dünyaya hiç çıkmasın.


20) Vaka A: 20 kHz motor kontrol döngüsü (Cortex-M4F)

Hedefler: PWM güncelleme jitter < 200 ns, worst-case latency < 1 µs.
Mimari: ADC trigger → DMA çifte tampon → kontrol ISR ITCM’de → PWM update.
Sonuç: Jitter 120–160 ns; CPU yükü %18 → %7 (DMA ile).
Ders: ITCM + DMA + önceliklendirme, sert gerçek zaman garantisini kolaylaştırır.


21) Vaka B: Ses edinimi ve FFT tabanlı eşikleme (Cortex-M7)

Hedefler: 48 kSa/s stereo, 256-FFT, gecikme < 10 ms.
Mimari: I²S DMA çift tampon, CMSIS-DSP FFT, FPU açık; arayüz görevleri düşük öncelikte.
Sonuç: 6.8 ms uçtan uca gecikme; CPU %36 → %22 (D-Cache optimize, FFT RAM/TCM).
Ders: Cache/TCM yerleşimi ve zero-copy boru hattı kritik.


22) Vaka C: CAN-FD tabanlı çoklu düğüm koordinasyonu (Cortex-M33)

Hedefler: 2 Mbps, çerçeve kaybı < %0.01, deadline ihlali 0.
Mimari: Mailbox öncelikleri, ISR kısa; işleme task’ta. MPU ile görev izolasyonu.
Sonuç: 4 saat stress altında kayıp 0; enerji profilinde %15 tasarruf (tickless).
Ders: Doğru mailbox ve MPU politikası determinism + güvenlik getiriyor.


23) “Altın” teslim kontrol listesi

  1. Zaman Gereksinimleri Matrisi (hard/soft/latency/jitter).

  2. Mimari: Saat ağacı, cache/TCM, bellek bölgeleri (MPU/TrustZone).

  3. NVIC öncelik şeması ve configMAX_SYSCALL_INTERRUPT_PRIORITY.

  4. ISR süre ölçümleri (DWT cycle), jitter histogramları.

  5. RTOS görev tablosu (öncelik, periyot, stack).

  6. DMA planı (çift tampon, cache uyumu, hizalama).

  7. Haberleşme yığını (CAN-FD/Eth/USB) ve kuyruk derinlikleri.

  8. Güç kipleri, uyanma süre/enerji ölçümleri.

  9. Watchdog/BOR/fail-safe senaryoları ve test kayıtları.

  10. Güvenli boot/OTA ve anahtar yönetimi.

  11. Kod yerleşimi (ITCM/AXI-SRAM/Flash) ve linkerscript.

  12. HIL/fault injection sonuçları ve deadline ihlali sayacı.


24) Sık yapılan hatalar ve hızlı çözümler

  • ISR’da ağır iş: Printf/heap → yasak. Bayrak koy, işi task yapsın.

  • Cache/DMA uyumsuzluğu: “Garip” veri → DMA tamponlarını non-cacheable yap, SCB_CleanInvalidateDCache_by_Addr() kullan.

  • Tüm görevler aynı öncelikte: Priority inversion ve jitter → rate-monotonic ile başla, kritiklere yüksek öncelik.

  • Stack taşması: HardFault → her görev için stack watermark izle, statik tahsisi büyüt.

  • RTOS tick çok yüksek: Güç ve latency bozulur → tickless veya uygun tick (1 kHz yerine 250 Hz).

  • Flash’tan çalışan kritik kod: Wait-state ve prefetch jitter getirir → ITCM/RAM’e taşı.

  • Mutex’i ISR’da almak: Tanımsız davranış → ISR-safe API ve semaphore sinyalle.


25) Sonuç: “Gerçek zamanlı” bir kültürdür—ölç, kanıtla, koru

ARM Cortex ile gerçek zamanlı bir uygulama; yalnızca “hızlı kod” yazmak değil, deterministik bir sistem kurmaktır. Bu da zaman gereksinimlerini açık tanımlamayı, NVIC ve kesme mimarisini doğru kurgulamayı, RTOS görev önceliklerini bilinçle atamayı, DMA/cache/TCM üçlüsünü uyumlu kullanmayı, MPU/TrustZone ile güvenliği tesis etmeyi, watchdog/BOR ile güvenilirliği sağlamayı ve ölçülebilir metriklerle (cycle, jitter, deadline, enerji) sonuçları kanıtlamayı gerektirir. Bu yazıdaki çerçeveyi izleyerek; ödev/dönem projenizi “çalışıyor” seviyesinin ötesine taşıyabilir, ne zaman ve nasıl çalıştığını da tekrarlanabilir ölçümlerle gösterebilirsiniz. Gerçek zamanlılık, bir özellik değil; mühendislik disiplinidir.

Öğrencilerin akademik başarılarını desteklemek ve yoğun tempoda geçen okul yaşamlarında yardımcı olmak amacıyla kurulan “Ödev Yaptırma” platformu, özgün ve kaliteli ödev çözümleri sunmaktadır. Öğrencilerin farklı branşlardan ödevlerini, projelerini ve makalelerini profesyonel ve deneyimli ekip üyelerimiz aracılığıyla titizlikle hazırlıyoruz. Her bir ödevi, konunun gerektirdiği derinlemesine araştırmalar ve analizler doğrultusunda çözümleyerek, öğrencilerimizin özgün düşünce yapısını ön plana çıkarmasını sağlıyoruz.

“Ödev Yaptırma” olarak, müşteri memnuniyetini ve güvenilirliği en üst düzeyde tutmaktayız. Öğrencilerin bize teslim ettikleri ödevlerin tümü, gizlilik ve güvenlik ilkelerine sıkı sıkıya bağlı kalınarak işlenir. Her ödev, öğrencinin taleplerine ve öğretmenin yönergelerine uygun olarak özelleştirilir ve her zaman orijinal içerik üretmeye özen gösteririz. Öğrencilerin akademik itibarını korumak ve güvenilir bir öğrenme deneyimi sunmak için elinizdeyiz.

“Ödev Yaptırma” platformu, kullanıcı dostu arayüzü sayesinde öğrencilere kolayca ulaşılabilir bir hizmet sunmaktadır. Kullanıcılar, web sitemiz üzerinden basit adımlarla ödevlerini yaptırma taleplerini iletebilir ve ihtiyaç duydukları konuda uzmanlaşmış ekip üyelerimizle iletişime geçebilirler. Hızlı yanıt verme ve esneklik, öğrencilerin zaman baskısı altında olan durumlarında da yanlarında olduğumuzu hissettirir. “Ödev Yaptırma” olarak, öğrencilerin başarısını desteklemek ve onlara daha fazla öğrenme fırsatı sunmak için buradayız

Ödev Nasıl Yapılır?Ödev YaptırmaGüvenilir Ödev Siteleri – Güvenilir Ödev YaptırmaÖdev Yaptırma Siteleri – Güvenilir Ödev Siteleri – Ödev Yaptırma ÜcretleriGüvenilir Tez YazdırmaTez Yazdırma FiyatlarıYüksek Lisans Tez YazdırmaDoktora Tez YazdırmaEn İyi Tez Yazdırma SiteleriTez Yazdırma Siteleri – Tez YaptırmaÖdev Yaptırma FiyatlarıÜcretli Ödev YaptırmaFransızca Ödev YaptırmaJava Ödev Yaptırmaİngilizce Ödev YaptırmaÖdev Yaptırma İngilizceÖdev Yaptırma ProgramıGrafik Tasarım Ödev YaptırmaSketchup Ödev Yaptırma – Tez Yaptırma ÜcretleriSunum Hazırlığı YaptırmaSunum Yaptırma MerkeziSunum Yaptırma – Dergi Makalesi YaptırmaParayla Ödev YaptırmaYüksek Lisans Ödev Yaptırma – Mühendislik Ödev YaptırmaRapor YaptırmaRapor Ödevi YaptırmaRapor Yaptırma Merkezi – Proje YaptırmaÜcretli Proje YaptırmaProje Yaptırma SitesiArmut Ödev YaptırmaÖdev Tez Proje MerkeziÜniversite Ödev YaptırmaSPSS Analizi Yapan YerlerSpss Ödev YaptırmaSpss Analiz ÜcretleriSpss Analizi Yapan SitelerSpss Analizi Nasıl YapılırProje Ödevi YaptırmaTercüme YaptırmaFormasyonFormasyon AlmaFormasyon YaptırmaBlogBlog YaptırmaBlog YazdırmaBlog Yaptırma SitesiBlog Yaptırma MerkeziLiteratür Taraması YaptırmaVeri AnaliziVeri Analizi NedirVeri Analizi Nasıl YapılırMimarlık Ödev YaptırmaTarih Ödev YaptırmaEkonomi Ödev Yaptırma – Veri Analizi YaptırmaTez YazdırmaSpss Analizi YaptırmaTezsiz Proje YaptırmaDoktora Tezi Yazdırma– Makale Ödevi YaptırmaEssay YaptırmaEssay Sepeti İletişimEssay YazdırmaEssay Yaptırma Sitesi – Essay Yazdırmak İstiyorumİngilizce Essay YazdırmaEv Dekorasyon iç mimar fiyatları3+1 ev iç mimari3+1 ev iç mimari fiyatlarıİç Mimar Fiyatları 2024Evini iç mimara yaptıranlarİç Mimarlık ücretleriİç mimari Proje bedeli HESAPLAMA 2024İç mimari proje fiyat teklif örneği – 2+1 ev iç mimariMimari Proje fiyat teklifi Örneğiİç Mimar ücretleriEvimi iç mimara dekore ettirmek istiyorumEv iç mimari örnekleriFreelance mimari proje fiyatları3+1 ev iç mimari fiyatlarıİç Mimar Fiyatlarıİç mimarlık metrekare fiyatları – Essay Yaptırmak İstiyorumOnline Sınav Yardımı AlmaOnline Sınav Yaptırma – Excel Ödev YaptırmaStaj DefteriStaj Defteri YazdırmaStaj Defteri YaptırmaVaka Ödevi YaptırmaÜcretli Makale Ödevi YaptırmaAkademik DanışmanlıkTercüme DanışmanlıkYazılım DanışmanlıkStaj Danışmanlığıİntihal Raporu Yaptırmaİntihal OranıSoru ÇözdürmeSoru Çözdürme SitesiÜcretli Soru ÇözdürmeSoru Çözümü YaptırmaSoru Çözümü Yardım – Turnitin RaporuTurnitin Raporu AlmaAkademik Makale Yazdırmaİngilizce Ödev Yapma Sitesi – İntihal Oranı DüşürmeTurnitin Oranı DüşürmeWeb Sitene Makale YazdırWeb Sitesine Makale Yazdırma – Tez DanışmanlığıTez Ödevi Yaptırma – Çukurambar DiyetisyenAnkara DiyetisyenÇankaya DiyetisyenOnline DiyetSincan televizyon tamircisiSincan Fatih Televizyon TAMİRCİSİSincan Pınarbaşı Televizyon TAMİRCİSİSincan UyducuÇankaya TV TamircisiÇankaya Uydu ServisiTv Tamircisi Ankara ÇankayaTelevizyon Tamiri Çankayakeçiören televizyon tamircisiKeçiören Uydu Servisiyenimahalle televizyon tamircisiyenimahalle uydu servisiOnline TerapiOnline Terapi YaptırmaYaptırma – Yazdırma –  Ödev YazdırmaTez YazdırmaProje YazdırmaRapor YazdırmaStaj Defteri YazdırmaÖzet Yazdırma – Ücretli Ödev Yaptırma Sitesiİlden İle NakliyatEvden Eve NakliyatŞehirler Arası NakliyatDergi Makalesi Yazdırma

yazar avatarı
İçerik Üreticisi

Bir yanıt yazın