สารบัญ:

วิธีอัปเดตเฟิร์มแวร์บน USBasp-Clone ราคาถูก: 9 ขั้นตอน
วิธีอัปเดตเฟิร์มแวร์บน USBasp-Clone ราคาถูก: 9 ขั้นตอน

วีดีโอ: วิธีอัปเดตเฟิร์มแวร์บน USBasp-Clone ราคาถูก: 9 ขั้นตอน

วีดีโอ: วิธีอัปเดตเฟิร์มแวร์บน USBasp-Clone ราคาถูก: 9 ขั้นตอน
วีดีโอ: How to Upgrade Firmware in USBasp Programmer 2024, พฤศจิกายน
Anonim
วิธีอัปเดตเฟิร์มแวร์บน USBasp-Clone ราคาประหยัด
วิธีอัปเดตเฟิร์มแวร์บน USBasp-Clone ราคาประหยัด

นี่เป็นคำแนะนำเล็กน้อยในการแฟลชเฟิร์มแวร์ใหม่บน USBasp-clone เช่นของฉัน คู่มือนี้เขียนขึ้นโดยเฉพาะสำหรับ USBasp-clone ที่เห็นในรูปภาพ แต่ควรทำงานร่วมกับผู้อื่นได้ การเดินสายไฟแสดงในขั้นตอนที่ 5 มี TL;DR ในขั้นตอนที่ 9

สนุก!

ขั้นตอนที่ 1: ปัญหา

ปัญหา
ปัญหา
ปัญหา
ปัญหา

Avrdude บอกฉันว่าโปรแกรมเมอร์ที่ฉันใช้อยู่มีเฟิร์มแวร์ที่ล้าสมัย จัมเปอร์ปกติสำหรับการเขียนโปรแกรมด้วยตนเองไม่มีอยู่บนกระดานของฉัน นี่คือวิธีการแก้ไข แผนผังสำหรับ USBasp สามารถพบได้ที่ fischl.de

ขั้นตอนที่ 2: วัสดุที่จำเป็น

คุณจะต้องการ…

  • หัวแร้ง
  • Arduino (ควรเป็นนาโน)
  • สายจัมเปอร์บางส่วน
  • พีซีที่ติดตั้ง Arduino IDE และ avrdude

ขั้นตอนที่ 3: การแก้ปัญหา

การแก้ไขปัญหา
การแก้ไขปัญหา
การแก้ไขปัญหา
การแก้ไขปัญหา
การแก้ไขปัญหา
การแก้ไขปัญหา

เพื่อให้เราสามารถแฟลชเฟิร์มแวร์ใหม่บน ATmega8 ได้ เราจำเป็นต้องควบคุมพิน RESET ของมัน โดยปกติจัมเปอร์บน USBasp สามารถปิดได้เพื่อเปิดใช้งานการตั้งโปรแกรมด้วยตนเอง อย่างไรก็ตาม ผู้ผลิตบอร์ดของฉันไม่ได้รวมไว้

บน ATmega8 พิน RESET คือพิน 29 ซึ่งเป็นพินที่สี่ที่ด้านบนจากด้านซ้าย มันถูกเชื่อมต่อกับตัวต้านทานแบบดึงขึ้น 10k ถึง 5V เราต้องเชื่อมต่อกับพิน 5 ของส่วนหัว ICSP

เราสามารถลองบัดกรีลวดโดยตรงบนตัวต้านทานหรือตัวพิน อย่างไรก็ตาม มันน่าเบื่อหน่ายและอาจทำให้บอร์ดของคุณเสียหายได้ (ฉันลองแล้วดึงตัวต้านทานแบบดึงขึ้นออก ฉันไม่แนะนำ) นอกจากนี้ยังมีวิธีที่ง่ายกว่านั้นมาก!

แม้ว่าผู้ผลิตจะไม่ได้ใส่จัมเปอร์จริงเพื่อเปิดใช้งานการตั้งโปรแกรมด้วยตนเอง แต่เขาได้วางส่วนหัวไว้ใต้ไมโครคอนโทรลเลอร์ เราสามารถบัดกรีลวดข้ามและ…

ขั้นตอนที่ 4: Voila

โว้ว!
โว้ว!

เราได้เชื่อมต่อหมุดรีเซ็ตสองตัวแล้ว! สองรูที่ด้านล่างเชื่อมต่อพิน 29 และพิน 14 ของไมโครคอนโทรลเลอร์

ขั้นตอนที่ 5: การตั้งค่า Arduino

ในการแฟลชเฟิร์มแวร์ใหม่ไปยังโปรแกรมเมอร์ เราจำเป็นต้องมีโปรแกรมเมอร์อีกตัวหนึ่ง ในกรณีนี้คือ Arduino พร้อมร่าง ArduinoISP เพียงเพื่อให้แน่ใจว่าการตั้งค่าของคุณเหมือนกัน โปรดยกเลิกการใส่เครื่องหมายบรรทัด 81

// #define USE_OLD_STYLE_WIRING

ตอนนี้เชื่อมต่อ Arduino กับส่วนหัว ICSP บนโปรแกรมเมอร์ของคุณ

Arduino USBasp

5V ขา 2 (VCC) GND ขา 4/6/8/10 (GND) ขา 10 ขา 5 (รีเซ็ต) ขา 11 ขา 9 (MISO) ขา 12 ขา 1 (MOSI) ขา 13 ขา 7 (SCK)

USBasp ยังคงไม่ได้เสียบปลั๊กจากพีซี

เปิดเทอร์มินัลแล้วพิมพ์

avrdude -cavrisp -pm8 -b19200 -P[หมายเลขพอร์ตของคุณอยู่ที่นี่ มันควรจะเหมือนกับใน Arduino IDE]

หากทุกอย่างถูกต้อง avrdude ควรพิมพ์ข้อมูลบางอย่างเกี่ยวกับ ATmega8 (ฟิวส์ ลายเซ็น ฯลฯ)

ขั้นตอนที่ 6: กระพริบ ATmega8

ในการแฟลชชิป เรายังต้องการเฟิร์มแวร์ ตรงไปที่ fisch.de และดาวน์โหลดเวอร์ชันใหม่ล่าสุด แตกไฟล์เก็บถาวรและไปที่มันโดยใช้เชลล์

การรวบรวมรหัสไม่ได้ผลสำหรับฉัน แต่โชคดีที่ไฟล์เก็บถาวรมีโปรแกรมที่คอมไพล์ทั้งหมดภายใต้

ถังขยะ/เฟิร์มแวร์

ที่นี่คุณควรเห็นไฟล์.hex สามไฟล์ เลือกอันที่มีชื่อเดียวกับชิปของคุณ โปรแกรมเมอร์ของฉันใช้ ATmega8 ดังนั้นฉันจึงเลือก

usbasp.atmega8.yyyy-mm-dd.hex

ด้วยการเชื่อมต่อที่ใช้งานได้กับ ATmega8 การกะพริบควรต้องพิมพ์เท่านั้น

avrdude -cavrisp -pm8 -b19200 -P[PORT] -U flash:w:[ไฟล์ฐานสิบหก]

หากทุกอย่างถูกต้อง avrdude ควรเขียนและตรวจสอบเฟิร์มแวร์ที่เลือก

ขั้นตอนที่ 7: ตรวจสอบให้แน่ใจว่าโปรแกรมเมอร์ทำงาน

ทำให้แน่ใจว่าโปรแกรมเมอร์ใช้งานได้ดี
ทำให้แน่ใจว่าโปรแกรมเมอร์ใช้งานได้ดี

หากต้องการใช้ USBasp เป็นโปรแกรมเมอร์อีกครั้ง เราต้องถอดการเชื่อมต่อระหว่างพิน 29 และพิน 14 ออก การตัดจัมเปอร์ที่ด้านล่างน่าจะเพียงพอ อย่างไรก็ตาม การถอดจัมเปอร์ออกก็ไม่เสียหายเช่นกัน

คุณสามารถลองใช้งานได้โดยเสียบกลับเข้าไปในพีซีแล้วพิมพ์

avrdude -cusbasp -pm8

แม้ว่า avrdude ไม่สามารถเข้าถึงเป้าหมายได้ แต่อย่างน้อยก็ควรยอมรับเฟิร์มแวร์ใหม่ของโปรแกรมเมอร์ของเรา

ขั้นตอนที่ 8: การแก้ไขปัญหา

การแก้ไขปัญหา
การแก้ไขปัญหา

หากแสดงข้อผิดพลาดเช่นนี้ อาจเกี่ยวข้องกับคุณสมบัติการรีเซ็ตอัตโนมัติของ Arduino เพื่อหลีกเลี่ยงปัญหานี้ โปรดเพิ่มตัวเก็บประจุระหว่าง RESET และ GND ของ Arduino โดยทั่วไปแนะนำให้ใช้ตัวเก็บประจุขนาด 10µF แต่ในกรณีของฉัน ตัวเก็บประจุขนาด 100µF ก็ทำงานได้ดี

คุณควรได้รับข้อผิดพลาดเช่น

avrdude: ข้อผิดพลาด: เปิดใช้งานโปรแกรม: เป้าหมายไม่ตอบ 1

หรือมีการส่งคืนลายเซ็นที่ไม่ถูกต้อง โปรดตรวจสอบการเดินสายของคุณ ฉันมีปัญหากับสายไฟของฉันเป็นสนิมและไม่นำไฟฟ้าอีกต่อไป ฉันแนะนำให้ตรวจสอบสายจัมเปอร์ทั้งหมดล่วงหน้า

ตรวจสอบให้แน่ใจว่าได้สลับพิน 11 และพิน 12 บน Arduino หากปัญหายังคงมีอยู่

โปรดตรวจสอบให้แน่ใจว่าได้ตั้งค่าอัตราบอดที่ถูกต้องสำหรับ Arduino เป็น ISP, 19200 ซึ่งสามารถตั้งค่าได้ด้วยตัวเลือก

-b19200

หากมีข้อสงสัยหรือพบเห็นผิดพลาดแจ้งได้นะคะ:)

ขั้นตอนที่ 9: TL;DR

  1. บัดกรีลวดผ่านหมุดสองตัวที่ด้านล่างของบอร์ด
  2. ตั้งค่า Arduino เป็น ISP ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานสคีมาการเดินสายแบบเก่าแล้ว
  3. เชื่อมต่อ Arduino กับโปรแกรมเมอร์ผ่านส่วนหัว ICSP
  4. แฟลชเฟิร์มแวร์ใหม่ไปยังโปรแกรมเมอร์
  5. ถอดการเชื่อมต่อที่ด้านล่าง
  6. อย่าฉีกตัวต้านทาน SMD ใด ๆ

แนะนำ: