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
- Jtag adaptörü: Çip ile arayüz oluşturmak için bir donanım cihazı (örneğin, Segger J-Link, OpenOCD destekli adaptörler).
- Hedef cihaz: Okumak istediğiniz IC veya Sistem.
- Yazılım Araçları: Openocd, urjtag veya tescilli araçlar gibi JTAG hata ayıklama uygulamaları.
- JTAG Pinout Belgeleri: Hedef cihaz için pinout diyagramı.
- 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
, VeTMS
. - 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ırTDI
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ç.
- Üzerinden yüklemek urjtag’ın web sitesi.
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
- Openocd için örnek:
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:
Çıktı günlüğünde algılanan cihazları arayın.openocd -f interface/jlink.cfg -f target/stm32f4x.cfg
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
- 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.
- Pinout'u doğrulayın: Cihaza zarar vermekten kaçınmak için JTAG PIN bağlantılarını çift kontrol edin.
- Yedekleme yazılımı: Değişiklik yapmadan önce daima orijinal ürün yazılımını yedekleyin.
- Doğru yazılım kullanın: Kullandığınız aracın hedef cihazı desteklediğinden emin olun.
- Monitör Voltajı: Hedef cihazın doğru voltaj seviyesinde çalıştığından emin olun.
JTAG uygulamaları
- Hata ayıklama ürün yazılımı ve yazılımı
- Yanıp sönen yeni ürün yazılımı veya önyükleyiciler
- Analiz için bellekten veri çıkarma
- PCB üretim kusurlarını teşhis etmek
- 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ırudev
tüzük).
- Linux'ta, USB cihazlarına erişmek için uygun izinleriniz olduğundan emin olun (kullanın
Çö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!