สารบัญ:

การใช้ EXtreme Burner สำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ AVR: 8 ขั้นตอน
การใช้ EXtreme Burner สำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ AVR: 8 ขั้นตอน

วีดีโอ: การใช้ EXtreme Burner สำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ AVR: 8 ขั้นตอน

วีดีโอ: การใช้ EXtreme Burner สำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ AVR: 8 ขั้นตอน
วีดีโอ: 8 วิธีอัดโปรแกรมลงใน MCU ATMeGA328P 2024, กรกฎาคม
Anonim
การใช้ EXtreme Burner สำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ AVR
การใช้ EXtreme Burner สำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ AVR

พี่น้องผู้ใช้ AVR ทั้งหมดของคุณและผู้ที่เพิ่งเข้าสู่สตรีม พวกคุณบางคนเริ่มต้นด้วยไมโครคอนโทรลเลอร์ PIC และบางคนเริ่มต้นด้วย ATMEL AVR สิ่งนี้เขียนขึ้นสำหรับคุณ!

คุณจึงซื้อ USBASP เนื่องจากราคาถูกและมีประสิทธิภาพในการแฟลช ROM บนอุปกรณ์ Atmega ของคุณ หรืออาจเป็นช่วง ATTINY สามารถรับได้ในราคาต่ำกว่า 5$ เป็นโคลนจีนของโอเพ่นซอร์ส USB-ASP ! AVRdude เป็นซอฟต์แวร์สำหรับตั้งโปรแกรม

คุณไม่ต้องสงสัยเลยว่าจะสร้างไฟล์ Hex โดยใช้ Atmel Studio ได้อย่างไร (ฉันยังคงใช้ AVR Studio v4.19 แทน v7 ล่าสุด เพราะมันเร็วกว่าและเร็วกว่าบนแล็ปท็อปซีพียูแบบ single core ของฉัน)/ ติดตั้งเน็ตบุ๊กและ WINAVR หากคุณกำลังอ่านข้อความนี้.สิ่งที่เขียนใน DotNet ทำงานช้า ! และรุ่นที่ใหม่กว่าได้รับการออกแบบมาเพื่อให้แล็ปท็อปของคุณทำงานเหมือนเต่า ! คุณสามารถใช้ Studio v4.19 ซึ่งเป็นเวอร์ชันที่ดีที่สุดของ Studio จาก ATMEL สำหรับไมโครคอนโทรลเลอร์ AVR สลับไปใช้เวอร์ชัน 7 เมื่อคุณต้องการจริงๆ สำหรับชิปในภายหลัง และทำให้เวลาของคุณบนแล็ปท็อปมีประสิทธิผลมากขึ้น ทำงานแทนการรอ ! นี่คือสิ่งที่ฉันแนะนำ

บรรทัดคำสั่ง AVR ทั่วไปสำหรับโปรแกรม Atmega ด้วยไฟล์ Hex ทำงานดังนี้:

เขียนเป็นแฟลช:AVRdude -s -c avrisp -p t44 -P usb -U "flash:w:D:\ARDUINO\pwmeg1.hex:a"

ที่นี่ pwmeg1.hex เป็นไฟล์ Intel hex ที่จะ "เบิร์น" หรือ "กะพริบ" ลงใน "MCU เป้าหมาย" ในไมโครคอนโทรลเลอร์ Lingo

นั่นเป็นคำที่ต้องจำ ! คุณสามารถเขียนไฟล์แบตช์และเรียกใช้ในบรรทัดคำสั่งใน windows โดยตั้งชื่อเป็น write_flash.bat ในทำนองเดียวกันสำหรับการอ่านฟิวส์ อีกหนึ่งบรรทัดที่ต้องจำ ! มันน่าเบื่อ

สำหรับอ่านแฟลช + eeprom:AVRdude -s -c avrisp -p t44 -P usb -U "flash:r:D:\ARDUINO\pwmeg1.hex:i" -U "eeprom:r::i"

วิธีแก้ปัญหาคือการใช้หนึ่งในเครื่องมือส่วนหน้า GUI ที่เป็นมิตรกับผู้ใช้กับ AVRdude เช่น Bitburner โปรแกรมเมอร์ Khazama ซึ่งเกือบจะคล้ายกันในด้านบุญ เอ็กซ์ตรีม เบิร์นเนอร์ ฉันได้ใช้เครื่องมือที่ใช้งานได้ฟรี: eXtreme Burner ใช้งานได้หลากหลาย เชื่อถือได้ และบทช่วยสอนนี้เกี่ยวกับเรื่องนี้ มันไม่เพียงแต่สามารถแฟลชไฟล์ hex / โปรแกรมของคุณไปที่ MPU โดยใช้คำสั่งที่ออกให้กับ AVRdude ในพื้นหลัง มันยังช่วยให้คุณตั้งค่า FUSES ซึ่งเป็นหัวข้อที่ซับซ้อนซึ่งมักจะสร้างความสับสนให้กับผู้เริ่มต้นในการเขียนโปรแกรม AVR นี่คือลิงค์ไปยังบทช่วยสอนที่ยอดเยี่ยมเกี่ยวกับ FUSES ที่คุณสามารถอ่านหรือทบทวนได้ คำเตือน: ATMEL ใช้สถานะ '1' ของบิต FUSE เพื่อระบุสถานะ 'เริ่มต้น' (สถานะไม่ได้ตั้งค่าหรือไม่ได้ตั้งโปรแกรมไว้) และ '0' เพื่อระบุสถานะที่ตั้งโปรแกรมหรือตั้งค่าหรือเปิดใช้งาน! สิ่งนี้ตรงกันข้ามกับสิ่งที่คุณทำกับ FUSE bits ในไมโครคอนโทรลเลอร์ PIC โปรดใช้ความระมัดระวังเมื่อคุณปรับเปลี่ยนบิตฟิวส์นาฬิกา เช่น ทำให้นาฬิกา RC ภายในเปลี่ยนเป็นคริสตัลภายนอก เนื่องจากจะทำให้เกิดปัญหาในการเชื่อมต่อกับชิปโดยไม่ต้องตั้งค่าคริสตัลภายนอก ระวังเช่นเดียวกันเมื่อคุณเปลี่ยนสถานะของฟิวส์บิตที่สำคัญ เช่น SPIEN และ RESET DISABLE (ควรตั้งค่าเหล่านี้เป็น SPIEN = 0 และ RESET DISABLE = 1 เสมอ หากคุณต้องการสื่อสารกับ MCU ด้วย USB-ASP ของคุณในโหมด ISP / SPI ต่อไป หากคุณทำสิ่งนี้ผิดพลาด คุณจะต้องใช้โปรแกรมเมอร์ไฟฟ้าแรงสูงเพื่อ 'ปลดเปลื้อง' AVR ของคุณ

หากคุณสงสัยว่า "ฟิวส์คืออะไร" และ "มันทำอะไร" ? อ่านบทความดีๆ แบบนี้:

หัวข้อที่เกี่ยวข้องอีกหัวข้อหนึ่งคือวิธีตั้งค่าความเร็วนาฬิกาของ AVR MPU ของคุณซึ่งมีความเร็วตั้งแต่ 1Mhz สูงสุด 16 หรือ 20Mhz นอกจากนี้ยังมีตัวเลือกคริสตัลความถี่ต่ำพลังงานต่ำพิเศษ 31.25kHz ซึ่งหากได้รับการออกแบบอย่างเหมาะสมจะทำให้ AVR ของคุณหมดแบตเตอรี่ AA เป็นเวลา 3 เดือน!

ทั้งสองสิ่งนี้ บิตฟิวส์นาฬิกา (ทั้งความถี่และประเภทของนาฬิกา RC ภายใน/คริสตัลภายนอก และบิตฟิวส์อื่นๆ) สามารถตั้งค่าได้ผ่านแท็บ FUSES ใน eXtreme Burner ขั้นแรก เราจะแสดงให้คุณเห็นอ่าน ROM แล้วจึงจะแฟลชไฟล์ hex โดยใช้ eXtreme Burner ได้อย่างไร แน่นอน คุณสามารถใช้เว็บไซต์ฟิวส์ AVR ออนไลน์ได้เช่นกัน แต่ตัวเลือกที่ฉันอธิบายสามารถใช้ได้เมื่อคุณออฟไลน์เช่นกัน ทุกที่

ขั้นตอนที่ 1: การตั้งค่าที่จะทำ:

การตั้งค่าที่จะทำ
การตั้งค่าที่จะทำ
การตั้งค่าที่จะทำ
การตั้งค่าที่จะทำ
การตั้งค่าที่จะทำ
การตั้งค่าที่จะทำ
การตั้งค่าที่จะทำ
การตั้งค่าที่จะทำ

รูปภาพแสดงการตั้งค่าที่ต้องทำก่อนเริ่มงาน (มีเพียงครั้งเดียวเท่านั้น) ภายใต้รายการเมนูย่อย 'การตั้งค่าฮาร์ดแวร์' เราเลือก 375Hz เนื่องจาก MCU ส่วนใหญ่จากโรงงาน ATMEL ถูกตั้งค่าเป็นการตั้งค่าเริ่มต้นของนาฬิกา CPU 1 Mhz บนออสซิลเลเตอร์ RC ภายใน ความเร็วของ ISP คือหนึ่งในสี่ของ F_cpu นั่นทำให้เรามีความเร็วที่ใกล้ที่สุด 375 Khz คุณสามารถลดความเร็วลงได้เช่นกัน มันจะไม่สร้างความแตกต่างมากนัก คุณสามารถลองเชื่อมต่อโดยปล่อยให้สิ่งนี้เป็นค่าเริ่มต้นและออก 'read all' หากล้มเหลวคุณสามารถมาที่นี่และเปลี่ยนความเร็วทำให้ต่ำลงได้

เพราะหากคุณไม่สามารถเชื่อมต่อได้ (จะมีข้อความขึ้นในหน้าต่างโปรแกรมเมอร์ว่า "ไม่สามารถสื่อสารกับชิป ไม่สามารถ SCK" หมายความว่าสัญญาณนาฬิกาจากพีซีของคุณไม่สามารถซิงโครไนซ์กับชิปของคุณที่คุณกำลังพยายามอ่านหรือ โปรแกรม) คุณจะไม่สามารถเปลี่ยนความเร็วนาฬิกาของ CPU หรือเปลี่ยนความเร็วและประเภทได้ ! ดังนั้นการเชื่อมต่อจึงเป็นพื้นฐานของทุกสิ่ง ! มันเหมือนกับ "FIRST CONTACT" อย่างที่คุณเห็นในภาพยนตร์ของสปีลเบิร์ก หากคุณทำสำเร็จ คุณสามารถเพิ่มความเร็วสัญญาณนาฬิกาของ MCU ได้เสมอโดยตั้งโปรแกรมฟิวส์ให้สอดคล้อง จากนั้นใช้ความเร็วสูงขึ้นในการเชื่อมต่อในภายหลัง

ไปที่ภาพรวมการตั้งค่าฮาร์ดแวร์ที่มีให้ที่นี่ จากนั้นตั้งค่าประเภทอุปกรณ์ด้วย (ชิปที่คุณพยายามตั้งโปรแกรม หมายเลขรุ่น)

ขั้นตอนที่ 2: การตั้งค่าประเภทอุปกรณ์ของคุณ

การตั้งค่าประเภทอุปกรณ์ของคุณ
การตั้งค่าประเภทอุปกรณ์ของคุณ
การตั้งค่าประเภทอุปกรณ์ของคุณ
การตั้งค่าประเภทอุปกรณ์ของคุณ
การตั้งค่าประเภทอุปกรณ์ของคุณ
การตั้งค่าประเภทอุปกรณ์ของคุณ

ดูภาพหน้าจอ Pic 1 เราได้ตั้งค่า "ATTINY44A" นี่คือไมโครคอนโทรลเลอร์ 14 พิน sans UART ฉันเพิ่งใช้เวอร์ชัน SSU นี้ หากคุณติดตั้งเวอร์ชันสต็อก Extreme burner คุณจะไม่เห็น Attiny44A ในรายการแบบเลื่อนลงการเลือกอุปกรณ์ คุณจะเห็น Attiny44 ซึ่งสำหรับวัตถุประสงค์ทั้งหมดที่เราสามารถใช้เพื่อตั้งโปรแกรม Attiny44A ได้เช่นกัน เพื่อแนะนำอุปกรณ์ใดๆ ที่ไม่อยู่ในรายการแบบเลื่อนลงนี้, อ่านคำแนะนำอื่น ๆ ของฉัน "การแฮ็ก eXtreme Burner"

ฉันใช้ Atmega88PA-AU กับ eXtreme Burner แล้ว แต่ในคำแนะนำนี้เราพูดถึง "Attiny44A" ทุกที่ ตอนนี้คุณจะทำรุ่นเขียงหั่นขนมของชิป SMD สี่เหลี่ยมจัตุรัสขนาดเล็ก 7 มม. และทดสอบกับโปรแกรมของคุณได้อย่างไร (ดูรูปที่แสดงขนาดชิป) สำหรับสิ่งนี้ ดูคำแนะนำอื่น ๆ ของฉันที่ฉันสาธิตวิธีทำให้ Breadboard เหมาะสมกับโมดูลปลั๊กอินโดยใช้ Attiny44A-SSU และ ATmega88PA-AU

เมื่อคุณเรียนรู้เทคนิคนี้แล้ว คุณจะสามารถตรวจสอบชิปใดๆ ที่คุณอยากรู้ได้ ไม่ว่าจะเป็นแพ็คเกจ SMD หรือ DIL ตัวอย่างเช่น ฉันเคยใช้แม้กระทั่งชิป SMD ที่มาในแพ็คเกจ Quad pitch ขนาดพินพิทช์ขนาด 32 พิน 0.8 มม. (Atmega88A) ในลักษณะเดียวกัน!

. หรือคุณสามารถใช้ Attiny44A รุ่น 28pin DIL สำหรับคำแนะนำนี้หรือ AVR ใดก็ตามที่คุณใช้อยู่ในขณะนี้เพื่อทดลองใช้ eXtreme Burner สำหรับการเขียนโปรแกรม AVR

ขั้นตอนที่ 3: ออก READ ALL หรือ READ FLASH

ออก READ ALL หรือ READ FLASH
ออก READ ALL หรือ READ FLASH
ออก READ ALL หรือ READ FLASH
ออก READ ALL หรือ READ FLASH

เชื่อมต่อ USBasp ของคุณเข้ากับพอร์ต USB ของแล็ปท็อป ฉันคิดว่าคุณได้โหลดไดรเวอร์ที่ถูกต้องซึ่งมาพร้อมกับโปรแกรมเมอร์ของคุณแล้วและตรวจพบอย่างถูกต้อง ควรปรากฏภายใต้ 'อุปกรณ์และเครื่องพิมพ์' ในเมนูเริ่มต้นของ windows หากเป็นเช่นนั้น ทันทีที่เสียบเข้ากับพอร์ต USB! เชื่อมต่อชิปเป้าหมายของคุณบนบอร์ดกับ USBasp ของคุณ (ต้องเชื่อมต่อพิน SDI// ISP ที่เกี่ยวข้องโดยใช้สายเคเบิล 6 พินหรือ 10 พินระหว่างสองพิน ได้แก่ MOSI, RESET, MISO, SCK, Vcc, Ground)

ออก READ ALL จาก MENU ของ Xtreme Burner ดูภาพและข้อความที่เราได้รับ ในขั้นต้น หน้าจอของคุณแสดง 'FF' สำหรับ ROM ในแท็บแรกของตัวเบิร์น หลังจากอ่านทั้งหมดแล้ว มันจะแสดงเนื้อหา ROM จริงบนชิป หากคุณใช้ชิปใหม่จากโรงงานหรือชิปที่ถูกลบ คุณจะเห็น FF ในเนื้อหาหลังจาก "อ่านทั้งหมด" ชิปที่ไม่ได้ตั้งโปรแกรมจะแสดง 'FF' ในหน่วยความจำ ดังนั้น EEPROM (แท็บที่สองในโปรแกรมเมอร์) จะแสดง 'FF' แท็บสุดท้ายจะแสดงฟิวส์

หลังจากอ่านทั้งหมด 3 แท็บจะแสดงข้อมูลที่ถูกต้องในชิป ก่อนหน้านั้นจะไม่เป็นเช่นนั้น ให้ออก Read all ก่อน ทันทีที่คุณเชื่อมต่อทุกอย่าง

ขั้นตอนที่ 4: เขียนลง Flash (ไฟล์ Hex ของคุณแฟลชเป็น ROM บนชิป)

เขียนลง Flash (ไฟล์ Hex ของคุณแฟลชเป็น ROM บนชิป)
เขียนลง Flash (ไฟล์ Hex ของคุณแฟลชเป็น ROM บนชิป)
เขียนลง Flash (ไฟล์ Hex ของคุณแฟลชเป็น ROM บนชิป)
เขียนลง Flash (ไฟล์ Hex ของคุณแฟลชเป็น ROM บนชิป)
เขียนลง Flash (ไฟล์ Hex ของคุณแฟลชเป็น ROM บนชิป)
เขียนลง Flash (ไฟล์ Hex ของคุณแฟลชเป็น ROM บนชิป)

เลือกไฟล์โดยใช้กล่องโต้ตอบเรียกดูที่เปิดขึ้นเมื่อคุณคลิกที่ไอคอนแรกในแถบเมนูด้านบน เราเลือกหนึ่งไฟล์ตามที่คุณเห็นในรูป เมื่อคุณเลือกไฟล์ฐานสิบหก (รูปแบบ intel hex) แถบเมนูที่แสดงว่า "ไม่มีการโหลดไฟล์" จะเปลี่ยนเป็นชื่อไฟล์ที่คุณโหลด

ตอนนี้ออก Write Flash จากเมนูของซอฟต์แวร์ ข้อความจะแสดงให้คุณเห็นว่าเกิดอะไรขึ้น ดูภาพ

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

ขั้นตอนการตรวจสอบทำได้โดยการอ่านชิปตามการตั้งค่าที่เราทำในขั้นตอนแรก สิ่งนี้เห็นได้ในข้อความที่ยืนยันว่าการตรวจสอบสำเร็จด้วย

ขั้นตอนที่ 5: ฟิวส์: วิธีตั้งค่าใน EXtreme Burner

ฟิวส์: วิธีตั้งค่าใน EXtreme Burner
ฟิวส์: วิธีตั้งค่าใน EXtreme Burner

เมื่อคุณออก READ ALL ฟิวส์จะถูกอ่านจากชิป นั่นคือรูปแรกที่แสดง fuses.jpg

ตอนนี้บางทีคุณอาจต้องเปลี่ยนเป็นอย่างอื่น ฟิวส์ประกอบด้วยกล่อง 4 กล่องในแท็บสุดท้ายบนหน้าจอ eXtreme Burner ของคุณ กล่าวคือ LOW FUSE BYTE, HIGH FUSE BYTE, EXTENDED FUSE BYTE, LOCK FUSE BYTE และ CALIBRATION BYTE ตามลำดับที่แสดง

คุณสามารถใช้เครื่องคิดเลขฟิวส์ออนไลน์และกรอกข้อมูลได้เช่นเดียวกับที่

eleccelerator.com/fusecalc/fusecalc.php?

หรือคุณสามารถใช้ eXtreme burner ทำเพื่อคุณ ออฟไลน์ได้ตลอดเวลา: เลือกจากรายการดรอปดาวน์ที่ปรากฏขึ้นเมื่อคุณคลิกที่ปุ่ม DETAILS ซึ่งอยู่ด้านล่างฟิวส์แต่ละประเภท เพียงดับเบิลคลิกที่บรรทัดใดก็ได้ในหน้าจอ DETAILS และดูมันเปลี่ยนจาก SET เป็น CLEARED และสลับสถานะด้วยการคลิกเมาส์ของคุณในแต่ละบรรทัด Fuse Byte ในกล่องด้านบนจะเปลี่ยนไปตามนั้น

หากคุณสงสัยว่า "ฟิวส์คืออะไร" และ "มันทำอะไร" ? อ่านเขียนที่ยอดเยี่ยมนี้:

www.instructables.com/id/Avr-fuse-basics-Running-an-avr-with-an-external-cl/

ขั้นตอนที่ 6: การตั้งค่าฟิวส์โดยใช้เครื่องคำนวณฟิวส์ EXtreme Burner

การตั้งค่าฟิวส์โดยใช้เครื่องคำนวณฟิวส์ EXtreme Burner
การตั้งค่าฟิวส์โดยใช้เครื่องคำนวณฟิวส์ EXtreme Burner
การตั้งค่าฟิวส์โดยใช้เครื่องคำนวณฟิวส์ EXtreme Burner
การตั้งค่าฟิวส์โดยใช้เครื่องคำนวณฟิวส์ EXtreme Burner
การตั้งค่าฟิวส์โดยใช้เครื่องคำนวณฟิวส์ EXtreme Burner
การตั้งค่าฟิวส์โดยใช้เครื่องคำนวณฟิวส์ EXtreme Burner

คุณสามารถดูหน้าจอรายละเอียดที่ปรากฏสำหรับแต่ละไบต์ฟิวส์ (LOW, HIGH, EXTENDED, LOCK และ Calibration) ไบต์การสอบเทียบควรไม่เปลี่ยนแปลง เนื่องจากจะแสดงไบต์ข้อมูลการสอบเทียบใน AVR ที่ใช้กับ RC oscillator ภายใน ไบต์ LOCK มักจะเป็น FF เท่านั้น (ไม่ได้กล่าวถึงในรูปด้านบน) เนื่องจากคุณจะไม่ล็อก Flash หรือ EEPROM ขณะอยู่ในขั้นตอนการเรียนรู้ คุณจะเปลี่ยนเฉพาะไบต์ LOW, HIGH และ EXTENDED ระวัง !

หากคุณเปลี่ยนบิต SPIEN เป็น 1 (สถานะที่ไม่ได้ตั้งโปรแกรมคือ 1 ในไมโครคอนโทรลเลอร์ AVR) คุณจะไม่สามารถสื่อสารกับชิปของคุณโดยใช้ USBASP หรือโปรแกรมเมอร์ใด ๆ ได้! สถานะเริ่มต้นจะแสดงในหน้าจอของคุณสำหรับฟิวส์แต่ละบิตด้วย สิ่งนี้เตือนคุณว่าค่าเริ่มต้นของ SPIEN เป็น 0 เสมอ (สถานะที่ตั้งโปรแกรมไว้) เพื่อให้คุณสามารถใช้โหมด SPI สำหรับการเขียนโปรแกรม ISP Debug-wire หรือ DW bit จะเหลือ 1 เสมอ (ไม่ได้ตั้งโปรแกรมไว้) เมื่อ SPIEN ถูกตั้งค่าเป็น 0 นี่เป็นสถานะเริ่มต้นเช่นกัน นอกจากนี้ ใน Extended Fuse bits 'Self Programming Enable ควรเป็น '1' (ไม่ได้ตั้งโปรแกรมไว้) หากคุณใช้ USB-ASP เพื่อตั้งโปรแกรมชิปเป้าหมายของคุณ (ไม่ใช้ bootloader ROM เหมือนใน ARDUINO)

คุณสามารถเปลี่ยนบิต CLOCK (ตัวเลข 3 ตัว) เพื่อเลือก RC ภายในหรือคริสตัลภายนอก ปกติแล้วฉันจะปล่อยให้ RC ภายในซึ่งช่วยให้คุณได้รับ 2 พินพิเศษที่ทำให้คริสตัลภายนอกว่างเพื่อใช้เป็นพิน PORT สำหรับโครงการ AVR ของคุณ โดยปกติจำเป็นต้องใช้คริสตัลภายนอกเมื่อคุณต้องการเวลาที่มีความแม่นยำสูงในโครงการของคุณ สำหรับผู้เรียน RC ภายในก็เพียงพอแล้ว

โดยปกติเมื่อคุณใช้ฟิวส์แบบผสมแล้วคุณจะไม่ทำการเปลี่ยนแปลง มันจะเป็นครั้งเดียว คุณจะกระพริบเฉพาะ ROM หรือบางครั้ง EEPROM ด้วย สำหรับการแฟลชไฟล์.eep ที่แยกจากกันของ EEPROM จะถูกสร้างขึ้นโดยสตูดิโอ WINAVR / ATMEL ของคุณ หากโปรแกรมของคุณใช้ EEPROM เพื่อจัดเก็บข้อมูล มิฉะนั้น EEPROM จะไม่ถูกใช้งาน ซึ่งเต็มไปด้วยข้อมูล 'FF' ที่แสดง 'NO DATA state' ของ EEPROM

ขั้นตอนที่ 7: ค่าสุดท้ายของ Fuse Bits

มูลค่าสุดท้ายของฟิวส์บิต
มูลค่าสุดท้ายของฟิวส์บิต

หลังจากตั้งค่า Fuse bits ทั้งหมด และปิดกล่อง DETAILS ที่คุณใช้ คุณจะเห็นค่าของ Fuse bits ตามที่โปรแกรมคำนวณ (ดูรูป) ที่เหลือก็แค่ออก "เขียนฟิวส์" โดยใช้เมนู แล้วดูข้อความที่รายงานเขียนสำเร็จ ต่อมา คุณยังสามารถออกคำสั่ง READ ALL จากเมนู และตรวจดูว่าฟิวส์ที่อ่านใน TAB สุดท้ายของหน้าจอเครื่องเขียนนั้นตรงกับที่คุณต้องการเขียนไปยังชิปหรือไม่ (การตรวจสอบฟิวส์).

คุณจะสังเกตเห็นว่าในตอนเริ่มต้นของคำแนะนำนี้เมื่อเราทำ READ FUSES หน้าจอจะแสดงค่า FUSE เดียวกันกับที่เราเห็นที่นี่ ! นั่นเป็นเพราะฟิวส์เหล่านี้เป็นฟิวส์ที่ฉันมักใช้และไม่ค่อยเปลี่ยนเมื่อฉันตั้งค่าไว้ใน MCU ของฉัน เว้นแต่ฉันจะเปลี่ยนความถี่จาก 1 Mhz เป็น 4Mhz สำหรับบางโครงการ AVR สามารถตั้งค่าได้สูงสุด 20Mhz (ชิปบางตัวไม่เกิน 16Mhz) ความถี่ที่คุณตั้งไว้สำหรับ F_cpu ก็ขึ้นอยู่กับแรงดันไฟที่คุณจ่ายให้กับชิปด้วย ! ตัวอย่างเช่น หากชิปของคุณทำงานตั้งแต่ 1.8V ของ Vcc จนถึง 5.5V ของ Vcc (เอกสารข้อมูลอ้างอิง) คุณจะไม่คาดหวังว่าจะใช้ Chip ของคุณที่ 20 mhz หากคุณจ่ายไฟเพียง 1.8V ให้กับมัน! คุณคาดหวังกับมันมากเกินไป! ตารางในแผ่นข้อมูลจะบอกคุณว่าความถี่ของแรงดันไฟฟ้าอยู่ที่ตัวเลขใด ยิ่งความถี่ในการทำงานของชิปสูงเท่าใด ความร้อนก็จะยิ่งมากขึ้นและใช้พลังงานมากขึ้นเท่านั้น คิดถึงความถี่เหมือนการเต้นของหัวใจของสัตว์ นกฮัมมิงเบิร์ดที่มีอัตราการได้ยินสูงจะมีอัตราการเผาผลาญพลังงานต่อนาทีสูงกว่าเมื่อเทียบกับวาฬหรือช้างที่มีการเต้นของหัวใจต่ำกว่ามาก ! แต่ก็สามารถทำได้มากขึ้นในเวลาอันสั้น MCU เป็นเช่นนั้น

ขั้นตอนที่ 8: เสร็จสิ้น

ตอนนี้คุณได้ทำตามขั้นตอนทั้งหมดใน eXtreme burner แล้ว คุณได้อ่าน ROM ของชิปแล้ว คุณเปิดไฟล์ HEX แล้วแฟลชไปที่ชิปและตรวจสอบว่าแฟลชใช้ได้ คุณยังได้เรียนรู้วิธีตั้งค่าฟิวส์และแฟลชไปยังชิป.

หากคุณมีคำถามใด ๆ ฉันยินดีที่จะตอบหรือแก้ไขบทช่วยสอนเพื่อให้ชัดเจนยิ่งขึ้น

สำหรับชิปบางตัว คุณอาจพบว่ารายการของชิปนั้นหายไปในรายการดรอปดาวน์การเลือกชิปในเมนู หรือคุณอาจพบข้อผิดพลาดในการเขียนและตรวจสอบข้อผิดพลาด ในกรณีเช่นนี้ โปรดอ่าน "การแฮ็ก eXtreme Burner" ที่สอนได้อื่นๆ ของฉันเพื่อแก้ไขปัญหา

การเขียนโปรแกรมอย่างมีความสุข

แนะนำ: