ในอดีตที่ผ่านมาฉันกำลังเขียน bootloaders ในATmega328-PUจำนวน 4 ชุดใหม่โดยใช้ Arduino IDE (สังเกตว่าไม่มีPหลังจาก 328 - เป็นรุ่น MCU ที่ไม่ใช่ picopower ที่ถูกกว่าเล็กน้อยเพื่อไม่ให้สับสนกับATmega328P- PU ที่มีP ) และรู้สึกประหลาดใจกับข้อความต่อไปนี้จาก avrdude:
avrdude: Device signature = 0x1e950F
avrdude: Expected signature for ATMEGA328 is 1E 95 14
Double check chip, or use -F to override this check.
นั่นหมายความว่า avrdude คิดว่าชิปไม่ใช่สิ่งที่ฉลากระบุ จากนั้นฉันก็เปลี่ยนชนิดชิปบน Arduino IDE ของฉันเป็นATmega328P-PUและ avrdude ก็เผา bootloader โดยไม่มีการร้องเรียน สิ่งที่หมายถึงคือชิปถูกระบุว่าเป็นหนึ่ง MCU และตอบสนองภายในเป็นอื่นแตกต่างเล็กน้อย
สิ่งที่ฉันอยากรู้คือ:
เหตุการณ์นี้เกิดขึ้นได้ยากเพียงใด? มีใครมีประสบการณ์คล้ายกันบ้างไหม?( คำถามดั้งเดิมนอกหัวข้อ )เป็นไปได้ไหมที่จะแก้ไขปัญหานี้? ฉันจะแก้ไขลายเซ็นเพื่อให้ avrdude รู้จักชิปอย่างถูกต้องได้อย่างไร
นี่คือข้ามโพสต์จาก EE.SE ฉันโพสต์คำถามนี้ไว้ที่นั่น แต่ไม่ได้ดึงดูดความสนใจมากนักดังนั้นฉันต้องการดูว่าใครจากชุมชนของเรามีประสบการณ์ที่คล้ายกันหรือไม่