Yanlış yönlendirilmiş bir ATmega328-PU aldım. Bunu nasıl düzeltebilirim?


12

Geçmişte, Arduino IDE'yi kullanarak dört ATmega328-PU'dan oluşan yeni bir parti üzerinde bootloaderları yakıyordum (328'den sonra P olmadığını fark ettim - bu MCU'nun biraz daha ucuz olmayan pikapon olmayan versiyonudur, ATmega328P ile karıştırılmamalıdır) PU ile bir P ) ve avrdude'dan aşağıdaki mesajla şaşırdım:

avrdude: Device signature = 0x1e950F 
avrdude: Expected signature for ATMEGA328 is 1E 95 14 
Double check chip, or use -F to override this check. 

Bu, çipin etiketinin söylediği şey olmadığını düşündüğü anlamına gelir. Sonra Arduino IDE'mdeki çip türünü ATmega328P-PU olarak değiştirdim ve avrdude önyükleyiciyi şikayet etmeden yaktı. Bunun anlamı, çipin bir MCU olarak etiketlenmiş olması ve dahili olarak başka bir, biraz farklı olarak yanıt vermesidir.

Ne bilmek istiyorum:

  • Bu olay ne kadar nadir? Kimsenin buna benzer bir deneyimi var mı? ( Orijinal soru, konu dışı )

  • Bunu düzeltmek mümkün mü? İmzayı nasıl düzeltebilirim, böylece avrdude çipi doğru şekilde tanır?

Bu EE.SE'den bir gönderi . Bu soruyu orada yayınladım, ancak fazla ilgi çekmedim, bu yüzden topluluğumuzdan herhangi birinin benzer bir deneyim yaşayıp yaşamadığını görmek istedim.


1
Görünüşe göre satıcınız bazı 328P'leri (bu imzanın temsil ettiği şey) 328'ler olarak yanlış etiketledi.
microtherion

Yanıtlar:


4

Sparkfun'a göz atarken, yanlış etiketlenmiş yongalarla mücadelelerini gösteren birkaç haber yazısı buldum. Burda biraz var:

Çin'de yeni bir satıcıdan IC'ler alınması durumunda Sparkfun şüpheli bir gönderi aldı. Üretime göndermeden önce test etmeye karar verdiler ve test kartlarının hiçbiri işe yaramadı. Nitrik asit kullanarak, IC'lerin kasasını çıkarabildiler ve bakır gibi görünen bir metal yığınını bozdular.

Başka bir makalede, bazı şüpheli IC'leri Atmel'den ayırdılar ve içinde bir ON yarı iletken silikon gofret buldular. Çipler fonksiyonel ATmegas değildi, ancak diğerlerinden farklı olarak silikonları vardı.


3
Bu cevabı biraz dışarı çıkarabilir misiniz? Bağlantı verdiğiniz makaleleri özetlemek iyi bir başlangıç ​​olacaktır - şu anda, eğer sparkfun herhangi bir nedenle düşerse cevabınız değersiz olacaktır.
Shog9

@ Shog9 Neden? Soru üssünden uzak. Bu cevap, yanlış etiketlenmiş cips alan kişilerin ( esasen deneyimleri paylaşan kişilerin ) bir özetidir . Bu kime yardım edecek?
asheeshr

Size aynı soruyu sorabilirim, @ AsheeshR - soru sorun olduğunda neden bir cevap için endişeleniyorsunuz? Her neyse, detayı eklediğiniz için teşekkürler, TheDoctor.
Shog9

3

Bir şeyleri düzeltmenin tercih edilen yolu değil ve kesinlikle dikkate alınması gereken ilk çözüm değil, ancak imza baytlarını programlamayı düşünebilirsiniz. Bunu denemeden önce, bunu gerçekten yapmak istediğinizden emin olun ve bunu geri almak için neyin dahil olduğunu araştırdınız. Bu, bilgisayarınızdaki yapılandırma dosyalarının değiştirilmesini içerebilir ...

Her neyse, denetleyicinin imza baytlarını ayarlamanın yolu şu şekildedir (denenmemiş, yedek bir AVR'm yok):

avrdude -p atmega328 -c arduino -P /dev/ttyUSB003 -b 19200 -v -U signature:w:0x1E,0x95,0x14:m

2
Bunun çok geç olduğunu biliyorum, ama kabul edilen cevapın tartışmasız olarak kabul edilmesinin iyi bir fikir olduğunu düşünmüyorum: Bir atmega328'deki imza yazılabilir değil ve bildiklerime göre imza HERHANGİ bir atmega'da yazılabilir değil veya ATTiny.
microtherion

2
Çıkar dışında, bir anlamda kabul edilen yukarıdaki yaklaşımı denedim: avrdude: writing signature (3 bytes)- ancak bunu başaramadı:avrdude: verification error, first mismatch at byte 0x0002: 0x14 != 0x0f
Nick Gammon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.