Sistemde görünmeyen bir kartı kurtarmak
Bir FPGA kartı için “tuğla oldu” gerçekte ne demek. Bozuk bir bitstream'in neden neredeyse her zaman JTAG üzerinden kurtarılabildiği ve kartın gerçekten öldüğü dar durumlar.
Kısa cevap
Yazma işleminden sonra sistemde görünmeyi bırakan bir kart neredeyse hiçbir zaman ölü silikon değildir. FPGA her açılışta bitstream'ini SPI flash bellekten yükler. Bozuk bir imaj, yapılandırmanın hiç tamamlanmaması demektir, dolayısıyla ortada bir PCIe uç noktası belirmez. Ama JTAG flash bellekte ne olduğuna bağlı olmadığı için çözüm neredeyse her zaman yeniden yazmaktır.
Bu sayfada10
Burada tuğla olmak ne demek
Bu düzende bu kelime genellikle bir teşhisi değil, bir belirtiyi anlatıyor. Kart artık bir PCIe aygıtı olarak görünmüyor, dolayısıyla sonrasındaki hiçbir şey çalışmıyor. Bu belirtinin bir yaygın, birkaç da nadir sebebi var. Yaygın olanı, flash bellekte FPGA'nın kendini başarıyla yapılandıramadığı bir imajın durması. Bu da aygıtı yapılandırılmamış, dolayısıyla host'a görünmez bırakıyor. Yapılandırılmamış olmak hasarlı olmak değil. Yapılandırılmamış bir FPGA, geçerli bir bitstream bekleyen bir yongadır ve ona bir tane vermek olağan bir işlemdir.
Açılış sırası ve nerede durduğu
Beş aşama. Hangisinde takıldığınızı bilmek, bunun bir flash sorunu mu, oturma sorunu mu yoksa donanım sorunu mu olduğunu söyler.
- 1. Yuva elektriği
- Kart elektriğini PCIe yuvasından çeker. Elektrik yoksa LED de yanmaz ve sonrasında hiçbir şey olmaz
- 2. Yapılandırma
- FPGA SPI flash belleği okur ve bitstream'i yükler. Bozuk ya da yarım bir imaj burada kalır
- 3. Done
- Yapılandırma tamamlanır ve tasarım çalışmaya başlar. Bu noktaya kadar ortada bir PCIe uç noktası yoktur
- 4. Bağlantı kurulumu
- PCIe bağlantısı host ile anlaşır. Yapılandırılmış ama hiç bağlantı kuramayan bir kartta sorun yuvada ya da oturmadadır
- 5. Listelenme
- Host yapılandırma alanını okur ve aygıt görünür. Windows tarafında bir şeyin görebildiği ilk aşama budur
Bozuk bir bitstream'i JTAG neden atlatıyor
JTAG, silikonun kendi içine gömülü bir test ve hata ayıklama arayüzü. Yongayla birlikte ayağa kalkıyor. Kartın hangi yapılandırma moduna ayarlandığı umurunda değil, flash bellekte ne durduğu da. Kurtarma yolunun tamamı bu özelliğe dayanıyor. FPGA kendini hiç yapılandıramıyor olabilir ve yine de JTAG üzerinden erişilebilir kalır. Pratikte araç, JTAG üzerinden FPGA'ya küçük bir yardımcı bitstream yüklüyor. O yardımcı da ona SPI flash belleğe giden bir yol açıyor, böylece flash yeniden yazılabiliyor. Kartın PCIe tarafında görünmüyor olmasının bunların hiçbirine etkisi yok.
Kurtarma yolu
Bu özel bir mod değil, sıradan yazma işleminin kendisi. Kartı bir kez yazabildiyseniz bir kez daha yazabilirsiniz.
- Oyun PC'sini tamamen kapatın, kartın yuvasına tam oturduğunu doğrulayın, sonra yeniden açın
- USB kabloyu kartın JTAG portuna ve ikinci PC'nin arka panelindeki bir USB portuna takın
- USB aygıtını tutabilecek her şeyi kapatın — reader yazılımı, MemProcFS, başka bir yazma aracı
- Yazma aracını açın ve dosya seçmeden önce aygıtı gördüğünü ve JTAG zincirini açabildiğini doğrulayın
- Karttaki silikona uyan FPGA modelini seçin
- Tam olarak bu kart ve bu DNA ID için çalıştığı bilinen bir imajı, biçim BIN seçiliyken yazın
- Makineye dokunmadan işlemin sonuna kadar gitmesini bekleyin
- Oyun PC'sine soğuk açılış yaptırın, kabloyu veri portuna alın ve bağlantı testini yeniden çalıştırın
Belirtiyi okumak
İşe yarayan soru kartın tuğla olup olmadığı değil, açılış sırasının hangi aşamasına kadar geldiği. Aşağıdaki satırlar belirtileri aşamalara bağlıyor.
| Sorun | Olası neden | Çözüm |
|---|---|---|
| Oyun PC'si açıkken hiç LED yanmıyor | 1. aşama. Yuvadan elektrik yok: kart tam oturmamış, yuva ölü ya da kartta gerçek bir hasar var | Makine tamamen kapalıyken kartı başka bir PCIe yuvasına takın. Çalıştığı bilinen bir yuvada da hiç ışık yoksa bu, gerçekten donanım olan az sayıdaki durumdan biri |
| LED'ler yanıyor ama host'ta hiçbir yerde aygıt yok | 2. aşama. FPGA hiç yapılandırılmamış, yani flash içeriği bozuk ya da yarım | JTAG üzerinden çalıştığı bilinen bir imajı yeniden yazın. Yaygın durum bu ve geri döndürülebilir |
| Yazma aracı JTAG zincirini açamıyor | Yanlış port, eksik CH347 sürücüsü, aygıtı tutan bir işlem ya da yanlış model seçimi | JTAG portuna geçin, sürücüyü kurun, diğer araçları kapatın, aracı yönetici olarak çalıştırın ve doğru modeli seçin. Zincire erişim flash içeriğinden bağımsız olduğu için bu bir tuğla değil |
| Aygıt görünüyor ama yanlış bir şey olarak ya da hata koduyla | 5. aşama. Yapılandırma başarılı olmuş, yani imaj çalışıyor — sadece istediğiniz imaj değil | Bu kart için verilen dosyayı yazdığınızı doğrulayın, sonra doğrusunu yazın. Kart sağlıklı |
| Yazma tamamlanıyor, soğuk açılıştan sonra kart yine görünmüyor | İmaj bu kartla ya da bu DNA ID ile eşleşmiyor | Dosya adını siparişinizle karşılaştırın ve FPGA sınıfını doğrulayın. Aynı dosyayı dördüncü kez yazmak yerine araç çıktısını desteğe gönderin |
| Dün çalışıyordu, bugün hiçbir şey yok, arada yazma da yapılmadı | Neredeyse hiçbir zaman firmware değil. Genelde yuva, kablo, USB portu ya da takılı kalmış bir kart | Oyun PC'sini on saniye tamamen kapatın, sonra soğuk açılış yapın. Ardından kartı yeniden oturtun, sonra kabloyu değiştirin. Burada ilk hamle yeniden yazmak değil |
Bir kart gerçekten öldüğünde
Oluyor ve görüntüsü farklı. Sebebi genelde fiziksel hasar. Eğilmiş bir PCIe kontağı, kopmuş bir USB-C soketi, yanmış bir bileşen ya da elektrikli bir yuvaya sıcak takılmış bir kart. İmzası, 2. aşamada değil 1. aşamada takılmak. Ya başka bir kartla çalıştığını kanıtladığınız bir yuvada hiç LED yanmaz, ya da JTAG zincirini hiç açamazsınız. İkincisi ancak doğru sürücü, doğru port ve doğru model seçimiyle, kesinlikle elektrik alan bir kartta sayılır. Bozuk flash içeriği bu belirtileri üretmez.
Bir kartı ölü ilan etmeden önce
Yedi madde. Tuğla diye bildirilen kartların çoğu bu listenin bir yerinde tuğla olmaktan çıkıyor.
- Oyun PC'si on saniye boyunca tamamen kapatıldı ve soğuk açılış yapıldı — yeniden başlatma değil
- Kart yeniden oturtuldu, tutucu mandal kapalı ve braket hizasında
- İkinci bir PCIe yuvasında denendi
- Kablo, veri aktardığı bilinen bir kabloyla değiştirildi ve yolda hub olmadan arka paneldeki bir USB portuna takıldı
- Yazma için JTAG portunda, okuma için veri portunda olduğunuz doğrulandı
- CH347 ya da WCH sürücüsü kurulu, reader yazılımı ve MemProcFS kapalı
- Doğru imajla, yarıda kesilmeden sonuna kadar giden temiz bir yazma denemesi yapıldı
İpucu
Desteğe ne gönderilmeli
Yukarıdaki terimlerle hangi aşamaya kadar geldiğinizi yazın. LED'lerin yanıp yanmadığını. Yazma aracının JTAG zincirini açıp açamadığını. Yazdığınız dosyanın tam adını ve seçtiğiniz modeli. Özetlenmiş değil, olduğu gibi yapıştırılmış araç çıktısının tamamını. Serigrafi ve FPGA işareti dâhil kartın fotoğrafını. Sipariş numaranızı. Bu set genellikle soruyu beş cevapta değil, tek cevapta bitirmeye yetiyor.
Kurtarma soruları
Yanlış imaj yazarak FPGA'yı mahvettim mi?
Neredeyse kesinlikle hayır. Bozuk bir imaj yazmak FPGA'yı kendini yapılandıramaz hâle getiriyor, bu da dışarıdan eksik bir aygıt gibi görünüyor. Silikona dokunulmuyor ve JTAG hâlâ erişilebilir.
Kurtarmak için kartın oyun PC'sinde olması gerekiyor mu?
Elektriğe ihtiyacı var. Çoğu kartta bu, kartın oyun PC'sinde takılı ve oyun PC'sinin açık olması demek. Bazı kartlar elektriği yalnızca yazma portundan da alabiliyor — kendi kartınızın belgelerini izleyin.
JTAG olmadan kurtarabilir miyim?
Pratikte hayır. PCIe yolu zaten yapılandırma başarısız olduğu için kapalı, dolayısıyla içeri giden yol JTAG. Yazma portunun ayrı bir soket olarak var olmasının sebebi de bu.
Kurtarma amaçlı bir yazma yeni bir DNA okuması gerektirir mi?
Hayır. DNA eFUSE'ta duruyor ve flash belleğe yazdığınız hiçbir şeyden etkilenmiyor, yani elinizdeki imaj kartla hâlâ eşleşiyor.
Araç her seferinde başarılı diyor, kart yine görünmüyor. Şimdi ne olacak?
Yeniden yazmayı bırakın. Başka bir kart ya da başka bir DNA için derlenmiş bir imajın başarıyla yazılması tam olarak böyle davranıyor. Dosyayı siparişinizle doğrulayın ve araç çıktısını desteğe götürün.
Kaynaklar
Aşama haritası ve belirti satırları bize ait. Tezgâhımızda ve destek taleplerinde çalışmayı bırakan kartlardan çıktı.
- 01AMD/Xilinx UG910, Vivado Design Suite User Guide: Getting Started
JTAG üzerinden bir aygıtı ve onun yapılandırma flash belleğini programlamak; kurtarmanın tamamı bu yola dayanıyor
docs.amd.com
Sırada ne var
Hâlâ takıldınız mı? Discord'da destek talebi açın
Tüm rehberler