Skip to content

Yeni yazı: Endianness'in Üç Katmanı — ARM BE-8/BE-32, Bitfield Tuzakları ve 1553/429#122

Open
Mavrikant wants to merge 1 commit into
masterfrom
post/2026-06-09-endianness-uc-katmani
Open

Yeni yazı: Endianness'in Üç Katmanı — ARM BE-8/BE-32, Bitfield Tuzakları ve 1553/429#122
Mavrikant wants to merge 1 commit into
masterfrom
post/2026-06-09-endianness-uc-katmani

Conversation

@Mavrikant

Copy link
Copy Markdown
Owner

Konu

Endianness'in Üç Katmanı: ARM'ın BE-8/BE-32 Tarihi, Bitfield Tuzakları ve 1553/429 Sürprizleri — gömülü/protokol alanında, üç bağımsız endianness konvansiyonunu (bellek byte sırası + C bitfield paketleme + tel üstü bit sırası) sentezleyen teknik bir yazı.

Neden bu konu?

"Bu konuyu bulmak neden zor?" (Bölüm 8)

Üç ayrı disiplinin (ARM mimarisi belgeleri, ISO C standardı + GCC ABI, aviyonik bus protokolleri) kesişiminde. Her biri ayrı tek-disiplin kaynaklarda var; ama bu üç katmanı birlikte ele alıp saha bug kalıplarına bağlayan Türkçe bir kaynak bulunmuyor. ARINC-429 etiket bit-reverse'ü ve MIL-STD-1553'ün MSB-first wire formatı, ilgili transceiver datasheet'lerinde yarım sayfada gizli; Türkçe içerikte pratikten kopuk geçer.

Hangi derinlik öğesi? (Bölüm 7)

Yazı dört somut derinlik öğesi taşıyor:

  1. Deney / hesaplı dökum: Aynı bitfield struct'ının (a:3 / b:1 / c:4) LE'de 0xCD, BE'de 0xBC ürettiğini bit-bit hesaplayarak gösteriyor.
  2. Assembly inspection: __builtin_bswap32'nin arm-none-eabi-gcc -O2 -mcpu=cortex-m4 ile tek REV r0, r0 komutuna düştüğünü gösteriyor.
  3. Standart yorumu: C99/C11 §6.7.2.1'in "implementation-defined" alanına dair somut yorum + ARINC-429 etiket numaralandırmasındaki tarihsel tutarsızlığın saha sonucu.
  4. Gerçek bug kalıpları: Üç ayrı saha vakası (TCP/IP header memcpy, 1553 chip TX byte order, BE port'ta paketleme bozulması).

Kullanılan kaynaklar

  • ARM Architecture Reference Manual (ARMv7-A/R + ARMv8-A) — Endian support bölümleri, REV/REV16/REVSH komutları
  • ISO/IEC 9899:2018 §6.7.2.1 (bitfield tahsisi)
  • GCC docs: Structure-Layout Pragmas + Storage Layout Internals
  • MIL-STD-1553B (Notice 4)
  • ARINC Specification 429, Part 1
  • Wikipedia: Endianness, MIL-STD-1553, ARINC 429
  • Holt HI-3593 datasheet (ARINC-429 transceiver bit-order konfigürasyonu örneği için)

Öz-eleştiri özeti (Faz 6)

  • Bitfield bit hesaplamaları iki yönde de elle teyit edildi (LE: 0xCD, BE: 0xBC).
  • ARINC-429 label bit-reverse örnek tablosu sayısal olarak doğrulandı (213 oct → 0x8B → 0xD1; 100 oct → 0x40 → 0x02).
  • Konu çakışma kontrolü: grep -i 'endian|byte.swap|bitfield' ile mevcut yazılar tarandı, hiçbir örtüşme yok.
  • Anti-pattern taraması: "günümüzün hızla değişen dünyasında" / "delve" / "sonuç olarak" kalıpları yok.
  • Gizlilik: Hiçbir proje-spesifik, müşteri, ürün adı veya iç süreç detayı yok. Tüm bilgiler açık standartlardan ve ARM Ltd belgelerinden.

Kontrol listesi (Bölüm 13)

  • Konu hiçbir yazıyla çakışmıyor (başlık + anlam).
  • Altı seçim kriteri sağlandı.
  • "Az bulunma" gerekçesi doyurucu.
  • En az bir somut derinlik öğesi (gerçekte dört).
  • Olgusal iddialar doğrulanabilir.
  • Kaynaklar gerçek ve erişilebilir.
  • Gizlilik/ihracat-kontrol ihlali yok.
  • Ön bilgi bloğu mevcut yazıların şemasıyla aynı (layout: post, lang: tr, mermaid: true, background, subtitle).
  • Türkçe başlık + İngilizce alt-başlık.
  • Anti-pattern yok.
  • Dosya _posts/YYYY-MM-DD-slug.md formatında; dal post/YYYY-MM-DD-slug.
  • master'a hiçbir şey push edilmedi.
  • agent/topics.md güncellendi.

Bu PR'ı ajan kendisi merge etmeyecek. Merge kararı yalnızca insana aittir.

🤖 Generated with Claude Code

…e yeni yazı

Türkçe içerikte sentez açığı kapatan teknik yazı:
- ARM'ın BE-32 (word-invariant, ARMv5-) ve BE-8 (byte-invariant, ARMv6+) ayrımı
- ARMv7 SCTLR.B, SETEND ve ARMv8 AArch64'te SETEND'in kaldırılması
- REV/REV16/REVSH komutları + GCC __builtin_bswap32 assembly çıktısı
- C standardı bitfield ordering implementation-defined: aynı struct LE'de 0xCD,
  BE'de 0xBC — somut bit hesabıyla
- MIL-STD-1553B (MSB-first, Manchester II) vs ARINC-429 (label MSB-first
  numaralı + payload LSB-first iletim) karşılaştırması
- Üç katmanlı modelle saha bug kalıpları

Konu seçimi: orta öncelikli havuzdan yukarı çekildi; son 3 yayın (Coupling,
Kalman, Sistem Mühendisliği) ile alt-alan rotasyonu sağlanıyor; açık 19 PR'ın
hiçbiri endianness'e dokunmuyor.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant