JTAG: Ortak Test Eylem Grubu Protokolü ile Yongalar Okumak

JTAG: Reading Chips with Joint Test Action Group Protocol

JTAG (Ortak Test Eylem Grubu), entegre devreleri (ICS) hata ayıklama, programlama ve test etmek için yaygın olarak kullanılan bir protokoldür. Bir çiple doğrudan iletişimin belleğini okuması, sınır taramaları gerçekleştirmesine veya ürün yazılımı yüklemesine izin verir. Bu öğretici, kurulum, araçlar ve en iyi uygulamalar da dahil olmak üzere yongaları okumak için JTAG kullanmanın temelleri boyunca size rehberlik edecektir.


JTAG nedir?

JTAG, çip seviyesinde donanımı test etmek ve hata ayıklamak için bir yol sağlayan standart bir arayüzdür (IEEE 1149.1). Genel olarak şu şekilde kullanılır:

  • Ürün yazılımı geliştirme ve hata ayıklama
  • PCB bağlantılarını test etmek
  • Aygıtlara yanıp sönen ürün yazılımı
  • ICS'den Bellek Çıkarma

JTAG 4 veya 5 pimli bir arayüz kullanır:

Pin Tanım
TDI Verileri test et
TDO Test Verileri Çıkar
TCK Test saati
TMS Test Modu Seçin
TRST Test Sıfırlama (isteğe bağlı)

Ne İhtiyacınız Olacak

  1. Jtag adaptörü: Çip ile arayüz oluşturmak için bir donanım cihazı (örneğin, Segger J-Link, OpenOCD destekli adaptörler).
  2. Hedef cihaz: Okumak istediğiniz IC veya Sistem.
  3. Yazılım Araçları: Openocd, urjtag veya tescilli araçlar gibi JTAG hata ayıklama uygulamaları.
  4. JTAG Pinout Belgeleri: Hedef cihaz için pinout diyagramı.
  5. Bağlantı aksesuarları: Kablolar, başlıklar ve bir breadboard (gerekirse).

1. Adım: JTAG donanımının kurulması

1. Hedef cihazdaki JTAG arayüzünü tanımlayın

  • JTAG pinlerini bulmak için çipin veri sayfasına veya PCB şemalarına bakın.
  • JTAG pinleri için ortak etiketler TDI, TDO, TCK, Ve TMS.
  • Bazı kartlarda JTAG başlıkları (örn. 10 pimli veya 20 pimli konektörler) etiketlenmiş.

2. JTAG adaptörünü bağlayın

  • Adaptörü JTAG Pinout ile eşleştirerek hedef cihaza bağlayın:
    • TDI Adaptörde bağlanır TDI Cihazda vb.
    • Adaptör ile hedef arasında GND'nin bağlandığından emin olun.
    • Gerekirse hedef cihaza güç sağlayın.

3. Voltaj seviyelerini doğrulayın

  • JTAG adaptörünün hedef cihazın voltaj seviyelerini desteklediğinden emin olun (örn. 3.3V veya 1.8V).
  • Bazı adaptörler yapılandırılabilir voltaj ayarlarına sahiptir.

2. Adım: JTAG yazılım araçlarının yüklenmesi

1. Openocd (çip üstünde hata ayıklayıcısı aç)

Openocd, JTAG hata ayıklama için yaygın olarak kullanılan açık kaynaklı bir araçtır.

  • Paket yöneticinizi kullanarak yükleyin (ör., apt install openocd Linux'ta).
  • JTAG adaptörünüzün OpenOCD tarafından desteklendiğinden emin olun.

2. urjtag

Sınır taraması ve temel JTAG işlemleri için hafif bir araç.

3. Satıcıya özgü araçlar

Segger J-Link veya Xilinx gibi tescilli adaptörler için resmi yazılımlarını kullanın:

  • Segger J-Link: J-Link araçlarını şuradan indirin Segger’in web sitesi.
  • Xilinx Araçları: FPGA hata ayıklama için Vivado veya etki kullanın.

Adım 3: Bir çipten veri okumak

1. JTAG yazılımını yapılandırın

  • JTAG adaptörünü ve hedef aygıtını belirten bir yapılandırma dosyası oluşturun veya yükleyin.
    • Openocd için örnek:
      source [find interface/jlink.cfg]
      transport select jtag
      source [find target/stm32f4x.cfg]
      init
      halt
      

2. Hedef cihazı tespit edin

JTAG zincirini taramak ve bağlı cihazları tanımlamak için bir komut çalıştırın.

  • Openocd için:
    openocd -f interface/jlink.cfg -f target/stm32f4x.cfg
    
    Çıktı günlüğünde algılanan cihazları arayın.

3. Dökme Bellek İçeriği

Bellek bölgelerini okumak için JTAG komutlarını kullanın:

  • Openocd için:
    dump_image memory.bin 0x08000000 0x10000
    
    • memory.bin: Bellek dökümünü kaydetmek için dosya.
    • 0x08000000: Adresi başlatın.
    • 0x10000: Okunacak bayt sayısı.

4. Sınır taramaları gerçekleştirin

Sınır taramaları IC pimlerinin bağlantısını ve işlevselliğini kontrol edin.

  • Sınır taramaları yapmak için urjtag veya openocd kullanın.
  • Urjtag örneği:
    cable jtagkey
    detect
    bsdl path/to/bsdl/file.bsd
    svf boundary_scan.svf
    

4. Adım: JTAG hata ayıklama için en iyi uygulamalar

  1. Bağlantıyı güvence altına alın: Gürültüyü en aza indirmek için kısa, güvenilir kablolar kullanın.
  2. Pinout'u doğrulayın: Cihaza zarar vermekten kaçınmak için JTAG PIN bağlantılarını çift kontrol edin.
  3. Yedekleme yazılımı: Değişiklik yapmadan önce daima orijinal ürün yazılımını yedekleyin.
  4. Doğru yazılım kullanın: Kullandığınız aracın hedef cihazı desteklediğinden emin olun.
  5. Monitör Voltajı: Hedef cihazın doğru voltaj seviyesinde çalıştığından emin olun.

JTAG uygulamaları

  1. Hata ayıklama ürün yazılımı ve yazılımı
  2. Yanıp sönen yeni ürün yazılımı veya önyükleyiciler
  3. Analiz için bellekten veri çıkarma
  4. PCB üretim kusurlarını teşhis etmek
  5. Ters Mühendislik Donanımı

Sorun giderme

  • Cihaz algılanmadı:

    • Kablo ve pinout'u doğrulayın.
    • Hedef cihazın açık olduğundan emin olun.
    • Uyumluluk için voltaj seviyelerini kontrol edin.
  • Jtag hataları:

    • Doğru yapılandırma dosyasının kullanıldığından emin olun.
    • İletişim başarısız olursa JTAG saat hızını düşürmeyi deneyin.
  • İzin Sorunları:

    • Linux'ta, USB cihazlarına erişmek için uygun izinleriniz olduğundan emin olun (kullanın sudo veya yapılandır udev tüzük).

Çözüm

JTAG, yongaları düşük seviyede hata ayıklama ve programlama için paha biçilmez bir araçtır. JTAG donanımının ve yazılımının temellerini anlayarak, Chip Belleğini okuyabilir, ayıklama ürün yazılımı ve sınır taramaları gerçekleştirebilirsiniz. Projelerinizde JTAG'ı tam olarak kullanmak için farklı araçlar ve konfigürasyonları deneyin!

Yorum bırak

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.