Yeni yazı: ARM GIC — Cortex-A Kesme Denetleyicisinin İçine Bakmak#101
Open
Mavrikant wants to merge 1 commit into
Open
Yeni yazı: ARM GIC — Cortex-A Kesme Denetleyicisinin İçine Bakmak#101Mavrikant wants to merge 1 commit into
Mavrikant wants to merge 1 commit into
Conversation
GICv2/PL390 mimarisi: distributor + CPU interface, SGI/PPI/SPI sınıfları, öncelik mekaniği (implement edilen bit sayısı, PMR, BPR), state machine (Inactive/Pending/Active), multicore yönlendirme (ITARGETSR), edge vs level konfigürasyonu, EOI sıralaması. Zynq-7000 (PL390 + dual Cortex-A9) odaklı. Derinlik öğesi: 8 vakalık somut hata modu kataloğu (spurious 1023, level re-trigger, forgotten EOI, BPR=7 sessiz preemption kaybı, CPU1 PMR=0, SGI banked yanılgısı, edge/level config hatası, ITARGETSR yanlış CPU) + DAL A bağlamında kesme latency bütçe analizi (cycle-level breakdown). Renode + linker script + volatile/Atomic dizisinin doğal devamı; bare-metal Cortex-A bring-up zincirinde sonraki tıkanma noktası. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Yazı
Başlık: ARM GIC — Cortex-A Kesme Denetleyicisinin İçine Bakmak
Dosya:
_posts/2026-05-30-gic-cortex-a-kesme-denetleyicisi.mdDal:
post/2026-05-30-gic-cortex-a-kesme-denetleyicisiAlan: gömülü / ARM / SoC
Neden Bu Konu Seçildi?
GIC, Cortex-A ve Cortex-R sistemlerinde "saydam" olduğu varsayılan ama bütün gerçek-zaman davranışın kendi kararlarına bağlı olduğu kritik bir bloktur. Vendor BSP (Xilinx
XScuGic) işi günlük geliştirme için bitirir; ama altta neyin döndüğünü bilmediğiniz sürece çoklu çekirdek bring-up, DAL A latency analizi ve "kesme alıyorum ama sonsuz tetikleniyor / ya da hiç gelmiyor" tipi hata ayıklama yapılamaz.Bu konu, son haftalarda yazılan Renode (2026-05-14, yayında), linker script (#90, açık PR) ve volatile/Atomic (#100, açık PR) dizisinin doğal devamı: bare-metal Cortex-A bring-up zincirinde sonraki tıkanma noktası kesme denetleyicisidir.
Bu Konu Neden Türkçe İçerikte Zor Bulunuyor?
Konu, ARM Generic Interrupt Controller Architecture Specification (IHI 0048B), Xilinx UG585 TRM ve vendor BSP kaynak kodu sentezini gerektiriyor. Tekil İngilizce kaynaklar (OSDev wiki, RealDigital, baremetal-arm) parçalı; Türkçe tarafta yalnızca "XScuGic kullanımı" tarzı uygulama yazıları var — mimari + state-machine + failure-mode'u birlikte sentezleyen kaynak çok az. Banked/shared kayıt ayrımı, öncelik bitlerinin gerçek implementasyonu (Cortex-A9'da 5 bit), BPR'ın sessiz preemption etkisi gibi tuzaklar sahada bilgi/kaynak dengesinin en kötü olduğu yerler.
Derinlik Öğesi (Bölüm 7)
İki bileşen:
Somut hata modu kataloğu — 8 vaka. Hepsi gerçek-dünya patterns:
DAL A bağlamında kesme latency bütçe analizi. Cortex-A9 @ 666 MHz'de cycle-level breakdown (HW assert → distributor sample → arbitration → CPU iletim → komut bitir → exception entry → context save → IAR oku → handler prologue), her satır için belirsizlik kaynağı. WCET analizinde kötü tasarım örnekleri (ISR'da lock, malloc, cascaded GIC).
Kullanılan Kaynaklar (özet)
Tam liste yazının sonundaki Kaynaklar bölümünde, doğrudan erişilebilir linklerle.
Öz-Eleştiri Özeti (Faz 6)
İki teknik düzeltme:
Gizlilik kontrolü: yazı yalnızca kamuya açık ARM/Xilinx dokümantasyonu ve standart bare-metal tekniklerden üretildi; hiçbir proje, müşteri veya iç süreç bilgisi yok.
Backlog Uyarısı (insan dikkatine)
14 açık PR birikti; bu PR'la 15 olacak. Defterde özellikle:
Ajan, gelecek çalıştırmada yeni post yazmadan önce "merge önerisi raporu" üretme moduna geçebilir.
Yayın Kapısı
min_yayin_araligi_gun = 2sağlandı/img/posts/1.webp— daha önce kullanılmamış)🤖 Generated with Claude Code