Πίνακας περιεχομένων:

Οδηγός καύσης Atmega328P-PU Bootloader (Optiboot): 12 βήματα
Οδηγός καύσης Atmega328P-PU Bootloader (Optiboot): 12 βήματα

Βίντεο: Οδηγός καύσης Atmega328P-PU Bootloader (Optiboot): 12 βήματα

Βίντεο: Οδηγός καύσης Atmega328P-PU Bootloader (Optiboot): 12 βήματα
Βίντεο: Επεξήγηση κυκλώματος οδηγού LED 2024, Ιούλιος
Anonim
Οδηγός καύσης Atmega328P-PU Bootloader (Optiboot)
Οδηγός καύσης Atmega328P-PU Bootloader (Optiboot)

Ακόμα ένα άλλο Atmega bootloader που καίει τρελό. Αυτή τη φορά όμως ποντάρω στην πρώτη προσπάθεια θα πετύχεις !!

Αυτό είναι το σεμινάριο καύσης του bootloader του Nick Gammons για πίνακες Arduino.

Βήμα 1: Λίγες λέξεις

Μερικές λέξεις
Μερικές λέξεις

Ο μικροελεγκτής Atmega328P-PU είναι ένα από τα πιο δημοφιλή τσιπ Arduino που χρησιμοποιούνται σε μεγάλη γκάμα σε όλο τον κόσμο. Αλλά το πιο σημαντικό τα γυμνά οστά Atmega εξακολουθεί να κάνει αυτό που μπορεί να κάνει το τυπικό Uno R3. Ο κύριος λόγος για τον οποίο αγαπώ αυτόν τον μικροελεγκτή είναι η λειτουργία "Low Power". Έχω γράψει μερικά νέα σκίτσα για μερικούς αισθητήρες και τα δοκιμάζω εδώ και λίγο καιρό.

Πριν από λίγα χρόνια, όταν άρχισα να παίζω με το Arduino, η πρώτη μου παραγγελία ήταν ένας μικροελεγκτής Atmega328P. Αργότερα κατάλαβα ότι αυτά που παρήγγειλα από το Aliexpress είναι κενές μάρκες. Τα τσιπ είναι πολύ φθηνά στο Ali, μπορείτε να τα αγοράσετε από 1,40 $. Αλλά δεν περιέχουν το Uno Bootloader (Optiboot) και χωρίς αυτό δεν θα μπορούσα να ανεβάσω κανένα σκίτσο. Δύσκολο διάλειμμα χα ?? !! Wasταν ένα πολύ κρύο ντους για μένα ……. Έτσι, έψαχνα για έναν τρόπο να κάψω το bootloader στις μάρκες. Έχω δοκιμάσει 5 ή 6 μεθόδους, αλλά δεν έχω τύχη. Μετά από μια εβδομάδα βρήκα ένα θέμα σε ένα φόρουμ ιστότοπου που ανέφερε το σεμινάριο καύσης του bootloader του Nick Gammon. Πρώτη προσπάθεια και ΕΠΙΤΥΧΙΑ !!: D Τώρα θα σας δείξω πώς να κάψετε το bootloader σε κενά τσιπ Atmega328P-PU εύκολα χωρίς να μπερδέψετε πράγματα στο Arduino IDE.

Βήμα 2: Τι είναι το πρόγραμμα εκκίνησης; (Optiboot)

Το bootloader είναι ένα μικρό πρόγραμμα (αρχείο HEX, 0.5Kbyte) που σας επιτρέπει να ανεβάζετε σκίτσα στη μνήμη flash απευθείας από το Arduino IDE. Το αρχείο HEX εκτελείται πάντα πριν από το κύριο πρόγραμμα και γι 'αυτό χρειάζεται.

Χωρίς το πρόγραμμα εκκίνησης:

-Ο μικροελεγκτής μπορεί ακόμα να προγραμματιστεί! (Ναι, είναι δυνατόν), αλλά θα χρειαστείτε έναν ειδικό προγραμματιστή AVR για να το κάνετε αυτό. Και δεν είναι φθηνό!

- Δεν μπορεί να προγραμματιστεί μέσω του Arduino IDE.

Υποστηριζόμενοι φορτωτές εκκίνησης αυτής της μεθόδου:

Atmega8 (1024 byte)

Atmega168 Optiboot (512 byte)

Atmega328 Optiboot (για Uno κ.λπ. στα 16 MHz) (512 byte)

Atmega328 (8 MHz) για Lilypad κ.λπ. (2048 byte)

Atmega32U4 για Leonardo (4096 bytes) Atmega1280 Optiboot (1024 bytes)

Atmega1284 Optiboot (1024 byte)

Atmega2560 με επιδιορθώσεις για πρόβλημα χρονομέτρου ρολογιού (8192 byte)

Atmega16U2 - ο φορτωτής εκκίνησης στο τσιπ διεπαφής USB του Uno

Atmega256RFR2 - ο φορτωτής εκκίνησης στον πίνακα Pinoccio Scout

Ο κώδικας για τα ακόλουθα προγράμματα εκκίνησης ενσωματώνεται στο σκίτσο και θα πραγματοποιηθεί λήψη ανάλογα με την εντοπισμένη υπογραφή.

Έχουμε λοιπόν όλα όσα χρειαζόμαστε.

Βήμα 3: Arduino Sketches Master

Arduino Sketches Master
Arduino Sketches Master
Arduino Sketches Master
Arduino Sketches Master
Arduino Sketches Master
Arduino Sketches Master

Πρώτα απ 'όλα χρειάζεστε τη βιβλιοθήκη arduino.

Κατεβάστε το από εδώ:

Or κατεβάστε το από εδώ.

Αφού κατεβάσετε, αφαιρέστε το σε βιβλιοθήκες Arduino forlder και αναζητήστε Board Programmer. Ανοίξτε το και εκτελέστε το Board Programmer.ino.

Βήμα 4: Η εγκατάσταση υλικού

Η εγκατάσταση υλικού
Η εγκατάσταση υλικού
Η εγκατάσταση υλικού
Η εγκατάσταση υλικού
Η εγκατάσταση υλικού
Η εγκατάσταση υλικού
Η εγκατάσταση υλικού
Η εγκατάσταση υλικού

Υπάρχουν 3 τρόποι σύνδεσης πριν από τον προγραμματισμό:

- Χρησιμοποιήστε την ασπίδα παροχής AVR

- Arduino A έως Arduino B

- Και η μέθοδος του breadboard

Στην εικόνα μπορείτε να δείτε πώς να συνδεθείτε. Στην πλάκα ψωμιού οι κεραμικοί πυκνωτές δεν χρειάζονται πραγματικά, αλλά πρέπει να προστεθεί ο κρύσταλλος 16Mhz.

Αυτή τη φορά χρησιμοποιώ την ασπίδα AVR ISP μου.

Ο στόχος αυτής της μεθόδου είναι, ότι το πρόγραμμα χρησιμοποιεί τη σειριακή οθόνη για πρόσβαση στη μνήμη flash για να γράψει το Optiboot (bootloader)

Βήμα 5: Ο προγραμματισμός

Ο προγραμματισμός!
Ο προγραμματισμός!
Ο προγραμματισμός!
Ο προγραμματισμός!

Αφού ολοκληρωθεί η ρύθμιση υλικού, εκτελέστε το Board Programmer.ino!

Μεταγλωττίστε και ανεβάστε στο Arduino σας, αλλά μην κλείσετε το παράθυρο !! Θα το χρειαστείτε:)

Η μεταφόρτωση θα διαρκέσει μερικά δευτερόλεπτα.

Βήμα 6: Αποσυνδέστε

Αφού ανεβάσετε το σκίτσο, αποσυνδέστε το Arduino από τον υπολογιστή σας και συνδέστε τα πάντα εάν σκοπεύετε να το κάνετε αυτό στο breadboard.

Εάν χρησιμοποιείτε την ασπίδα AVR, βάλτε το τσιπ Atmega στην υποδοχή ZIF και "κλειδώστε" το.

Πολύ σημαντικό: Όσο το υλικό δεν έχει ρυθμιστεί, ο επεξεργαστής δεν πρέπει να λάβει VCC !! Έτσι κινδυνεύετε να πάθετε ζημιά !!

Βήμα 7: Συνδεθείτε

Συνδέω-συωδεομαι!
Συνδέω-συωδεομαι!

Εντάξει! Το υλικό έχει ρυθμιστεί και όλα είναι στη θέση τους, συνδέουμε το Arduino στον υπολογιστή.

Στη συνέχεια, ανοίξτε τη Σειριακή οθόνη και ορίστε το ρυθμό baud 115200 και θα δείτε αυτό.

Στη σειριακή οθόνη μπορείτε να δείτε ότι το Arduino έχει εισέλθει σε λειτουργία προγραμματισμού. Δροσερός!!:)

Δεδομένου ότι θέλουμε να προγραμματίσουμε το Uno (Atmega328P) πληκτρολογήστε ένα "U" στη γραμμή μηνύματος και πατήστε enter.

Βήμα 8: Προγραμματισμός κατάστασης

Κράτος προγραμματισμού!
Κράτος προγραμματισμού!

Στο επόμενο παράθυρο θα δείτε αυτό.

Δεν θα κλείσουμε ούτε θα επαληθεύσουμε, πληκτρολογήστε ένα G και πατήστε enter!

Βήμα 9: Η διασκέδαση αρχίζει!:)

Η διασκέδαση αρχίζει!:)
Η διασκέδαση αρχίζει!:)

Αφού πατήσετε enter θα δείτε αυτό:

Διαγραφή τσιπ… Γράψιμο bootloader…

Σελίδα δέσμευσης ξεκινώντας από 0x7E00Σύμμετρη σελίδα αρχίζοντας από 0x7E80

Σελίδα δέσμευσης ξεκινώντας από 0x7F00

Σελίδα δέσμευσης ξεκινώντας από 0x7F80

Γράφτηκε. Επαλήθευση…

Δεν βρέθηκαν σφάλματα.

Εγγραφή ασφαλειών… LFuse = 0xFF

HFuse = 0xDE

EFuse = 0xFD

Byte κλειδώματος = 0xEF Βαθμονόμηση ρολογιού = 0x9E

Εγινε.

Η λειτουργία προγραμματισμού είναι απενεργοποιημένη. Πληκτρολογήστε 'C' όταν είστε έτοιμοι να συνεχίσετε με ένα άλλο τσιπ…

Και χαρούμενη μέρα !!: D Το τσιπ Atmega328P είναι τώρα έτοιμο να ανεβάσει σκίτσα!

Αυτό ήταν εύκολο, έτσι δεν είναι;:)

Βήμα 10: Ένα νέο τσιπ

Εάν θέλετε να προγραμματίσετε ένα άλλο τσιπ αποσυνδέστε το Arduino από τον υπολογιστή σας, αντικαταστήστε το τσιπ με ένα κενό. Επανασυνδέστε το Arduino και κάντε ξανά τα βήματα.

Εάν η σειριακή οθόνη δεν ανταποκρίνεται μετά την επανασύνδεση του Arduino, μην πανικοβληθείτε απλά κλείστε το και ανοίξτε ένα νέο.

Βήμα 11: ΑΠΟΠΟΙΗΣΗ

ΔΕΝ ΙΔΙΟΚΤΗΣΩ ΚΑΝΕΝΑ ΑΥΤΟ !! Όλα τα εύσημα πάνε στον Nick Gammon !!

Μόλις έδειξα αυτήν τη μέθοδο σε αυτό το Instructable.

Ελπίζω να το βρείτε χρήσιμο.

Να εχετε μια ομορφη μερα.

Βήμα 12: Όταν συμβαίνουν παράξενα πράγματα

Όταν συμβαίνουν παράξενα πράγματα
Όταν συμβαίνουν παράξενα πράγματα
Όταν συμβαίνουν παράξενα πράγματα
Όταν συμβαίνουν παράξενα πράγματα

Πρόσφατα έλαβα αυτό το Arduino Nano με επεξεργαστή Atmega328P-MU.

Έτσι προσπάθησα να ανεβάσω ένα σκίτσο σε αυτό, αλλά δεν μπορούσα. Ο επεξεργαστής δεν απάντησε σε τίποτα με τις επιλογές Atmega328.

ΕΝΤΑΞΕΙ! Οπότε ίσως ο φορτωτής εκκίνησης είναι κατεστραμμένος και χρειάζεται επανεγγραφή. Το συνέδεσα με άλλο arduino και έκανα το bootloader να καίει. ΑΚΟΜΑ ΤΙΠΟΤΑ……!!!!

Εντάξει, χρειάζομαι ένα φρένο (καφέ και τσιγάρο) !! Ως τελευταία ευκαιρία επέλεξα ξανά το Arduino Uno ως στόχο. Η μεταφόρτωση ολοκληρώθηκε: D

Αυτή τη στιγμή έχω ένα Nano που λειτουργεί σαν Arduino Uno. Δεν ξέρω γιατί συνέβη αυτό, αλλά νομίζω ότι αυτό οφείλεται στην υπογραφή του επεξεργαστή. Τέλος πάντων, μου έκανε πραγματικά τη μέρα και είναι λίγο αστείο:)

Συνιστάται: