Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

Η εγκατάσταση ενός bootloader είναι το πρώτο βήμα για να ζωντανέψετε τα έργα σας στο Arduino. Αυτό είναι ένα λογισμικό που σας βοηθά να ανεβάζετε συχνά σκίτσα Arduino με ευκολία στην πλακέτα χωρίς να χρειάζεστε ειδικό εξοπλισμό προγραμματισμού.

Αν και αυτό μπορεί να ακούγεται σαν επιστήμη πυραύλων, είναι στην πραγματικότητα απλούστερο από ό, τι νομίζετε - ακόμη και για αρχάριους. Θα σας δείξουμε πώς να εγκαταστήσετε εύκολα (ή να επανεγκαταστήσετε) έναν bootloader στην πλακέτα σας Arduino με λίγα μόνο απλά βήματα.

Αλλά πρώτα, τι ακριβώς είναι ένας bootloader στην πλακέτα του Arduino;

Τι είναι ο Bootloader;

Ένας bootloader Arduino είναι ένα μικρό πρόγραμμα που αποθηκεύεται στη μη πτητική μνήμη της πλακέτας και εκτελείται κάθε φορά που ενεργοποιείται η πλακέτα, φορτώνεται με νέο κώδικα ή γίνεται επαναφορά. Κάθε φορά που εκτελείται το πρόγραμμα bootloader, αρχικοποιεί το υλικό της πλακέτας και στη συνέχεια φορτώνει το κύριο σκίτσο ή το πρόγραμμα που είναι αποθηκευμένο στη μνήμη flash του πίνακα.

instagram viewer

Αξίζει να σημειωθεί ότι όλες οι πλακέτες Arduino συνοδεύονται από προεγκατεστημένο bootloader από τους κατασκευαστές τους. Μερικές φορές μπορεί να βρείτε πίνακες με ελαττωματικούς bootloaders. Ωστόσο, αυτό συμβαίνει σπάνια.

Γιατί να χρησιμοποιήσετε ένα Bootloader;

Υπάρχουν πολλές περιπτώσεις όπου η χρήση ενός bootloader Arduino μπορεί να είναι χρήσιμη. Για παράδειγμα, εάν είστε αρχάριοι στην πλατφόρμα Arduino, η χρήση ενός bootloader μπορεί να κάνει ευκολότερη και ταχύτερη τη μεταφόρτωση νέων προγραμμάτων στην πλακέτα σας. Αυτό συμβαίνει επειδή δεν χρειάζεται να χρησιμοποιήσετε εξωτερικές συσκευές προγραμματισμού, όπως προγραμματιστή ή μετατροπέα USB σε σειριακό, για να ανεβάσετε τον κώδικά σας.

Εάν εργάζεστε σε ένα έργο που απαιτεί συχνές ενημερώσεις στον κώδικα, θα το βρείτε πολύ χρήσιμο. Σε αυτήν την περίπτωση, η χρήση ενός bootloader μπορεί να σας εξοικονομήσει χρόνο και προσπάθεια, καθώς μπορείτε απλά να ανεβάσετε τον νέο κώδικα στον πίνακα χωρίς να χρειάζεται να χρησιμοποιήσετε εξωτερικές συσκευές προγραμματισμού.

Επιπλέον, εάν εργάζεστε σε ένα έργο που απαιτεί το Arduino να βρίσκεται σε μια συγκεκριμένη κατάσταση όταν είναι ενεργοποιημένο, όπως η εκτέλεση ενός συγκεκριμένου προγράμματος, τότε η χρήση ενός bootloader μπορεί να είναι χρήσιμη. Ο bootloader σάς επιτρέπει να ρυθμίσετε την αρχική κατάσταση της πλακέτας έτσι ώστε να εκτελεί αυτόματα το επιθυμητό πρόγραμμα όταν είναι ενεργοποιημένη.

Τέλος, παρέχει έναν τρόπο ανάκτησης του Arduino εάν το κύριο σκίτσο καταστραφεί ή με άλλον τρόπο δεν εκτελεστεί.

Γιατί λείπει ο Bootloader μου;

Θα μπορούσαν να υπάρχουν τέσσερις πιθανοί λόγοι για τους οποίους η πλακέτα σας μπορεί να χρειαστεί νέο bootloader:

  1. Δεν υπάρχει προεγκατεστημένο bootloader: Είναι αρκετά συνηθισμένο να υπάρχουν πολλά αυτόνομα έργα ATMEGA328P όπου συγκολλάτε το τσιπ σας σε ένα PCB και τυχαίνει να τηγανίζετε το τσιπ. Θα μπορούσε επομένως να είναι δυνατό να αντικαταστήσετε την πλακέτα με ένα τσιπ χωρίς προηγούμενη εγκατάσταση του bootloader.
  2. Αντικαταστάθηκε ο bootloader: Θα μπορούσατε να έχετε αντικαταστήσει το bootloader σας με ένα τροποποιημένο bootloader τρίτου κατασκευαστή που θα μπορούσε να είναι κατεστραμμένο.
  3. Κατεστραμμένος bootloader: Αυτό είναι το λιγότερο πιθανό σενάριο. Ωστόσο, σε ορισμένες περιπτώσεις, η μνήμη flash Arduino μπορεί να καταστραφεί.
  4. Εκτεταμένη μνήμη: Εάν αντικαταστήσατε (φλασάρατε) ολόκληρο το bootloader με την εφαρμογή σας για να απολαύσετε τα υπόλοιπα 2K μνήμης προγράμματος, σίγουρα λείπει ο bootloader σας.

Εδώ είναι τι πρέπει να κάνετε.

Εγκατάσταση/Επανεγκατάσταση του Arduino Bootloader

Οι μικροελεγκτές προγραμματίζονται συνήθως πριν συγκολληθούν σε PCB. Αυτό γίνεται συνήθως χρησιμοποιώντας προγραμματισμό εντός συστήματος (ISP), όπως ο σειριακός προγραμματισμός εντός κυκλώματος (ICSP), ο οποίος επιτρέπει στον μικροελεγκτή να προγραμματιστεί χρησιμοποιώντας έναν εξωτερικό προγραμματιστή. Πολλοί κατασκευαστές μικροελεγκτών, όπως η Atmel και η Microchip, παρέχουν μια κεφαλίδα ISP στις πλακέτες τους για αυτό το σκοπό.

Χρήση άλλης πλακέτας Arduino

Για να αναβοσβήσετε το bootloader σε έναν μικροελεγκτή ATmega328, πρέπει να χρησιμοποιήσετε την κεφαλίδα ICSP στην πλακέτα προτού εγκαταστήσετε τον bootloader χρησιμοποιώντας την άλλη πλακέτα ως προγραμματιστή ISP.

Εκκινήστε το Arduino IDE, μεταβείτε στο ArduinoISP όπως φαίνεται παρακάτω και μεταφορτώστε το παράδειγμα κώδικα στον πίνακα που σκοπεύετε να χρησιμοποιήσετε ως προγραμματιστή. (Ακολουθήστε το εκπαιδευτικό βίντεο για σύνδεση υλικού).

Ο κώδικας θα πρέπει να μοιάζει με αυτόν ακριβώς για να γνωρίζετε ότι είστε στο σωστό δρόμο.

Από το Εργαλεία καρτέλα, μεταβείτε στο Προγραμματιστής στη συνέχεια κάντε κλικ στο Arduino ως ISP όπως φαίνεται παρακάτω.

Τέλος, από το Εργαλεία καρτέλα ξανά, κάντε κλικ στο Εγγραφή Bootloader όπως φαίνεται.

Μόλις ολοκληρωθεί η διαδικασία, η πλακέτα στόχος είναι τώρα έτοιμη για προγραμματισμό.

Χρήση αποκλειστικού προγραμματιστή

Υπάρχουν πολλές διαθέσιμες συσκευές προγραμματισμού AVR για αυτού του είδους την εγκατάσταση. Μια καλή επιλογή που μπορείτε να δοκιμάσετε είναι ο προγραμματιστής τσέπης AVR (μόνο για Windows) που βασίζεται στον Dick Streefland's USBtiny και του Limor Fried's USBtinyISP. Προσφέρει έναν απλούστερο τρόπο προγραμματισμού μικροελεγκτών AVR, όπως αυτοί που βρίσκονται στις πλακέτες Arduino. Εκτός από το γεγονός ότι τροφοδοτείται από σύνδεση USB, είναι η καλύτερη επιλογή γιατί είναι συμβατό με μια ποικιλία γλωσσών προγραμματισμού και λογισμικού, καθιστώντας το ένα ευέλικτο εργαλείο για οποιονδήποτε Χρήστης Arduino.

Μπορείτε επίσης να δοκιμάσετε άλλες επιλογές, όπως τον επίσημο προγραμματιστή Atmel-ICE για μικροελεγκτές ARM—ειδικά αν δεν χρησιμοποιείτε Windows.

Συνδέστε την πλακέτα Arduino στον προγραμματιστή και αναβοσβήστε τον bootloader. Ανατρέξτε σε αυτό το εκπαιδευτικό βίντεο παρακάτω.

Η διαδικασία πρέπει να είναι απλή και να μην διαρκεί περισσότερο από 20 δευτερόλεπτα.

Σημείωση: Η πλακέτα στόχος θα πρέπει να ενεργοποιηθεί σωστά πριν επιχειρήσετε αυτήν τη μέθοδο. Διαφορετικά, δεν θα μπορείτε να αναβοσβήσετε το .γοητεύω αρχείο στον στόχο σας.

Για ισχυρούς χρήστες, υπάρχει ένας πιο περίπλοκος τρόπος εγκατάστασης του bootloader χρησιμοποιώντας τη γραμμή εντολών. Δεν είναι απαραίτητο να φτάσετε σε αυτό το στάδιο, αλλά σας δίνει τη δυνατότητα να τροποποιήσετε ή να μεταγλωττίσετε ξανά τον κώδικα για να αποκτήσετε μια πιο προσαρμοσμένη εμπειρία.

Το πρώτο βήμα στη διαδικασία είναι να διαμορφώσετε τα bit ασφαλειών, που αποτελούν μέρος του τσιπ AVR, και να ελέγξετε τις ρυθμίσεις, όπως η χρήση ενός εξωτερικού κρυστάλλου. Χρησιμοποιήστε την ακόλουθη εντολή για να ορίσετε τα bit ασφαλειών σας:

avrdude-σι 19200 -ντοusbtinym328p-v-μι-Uδιαχέω:w:0x05-Uhfuse:w:0xD6-Ufuuse:w:0xFF

Αφού διαμορφωθούν τα bit ασφαλειών, το επόμενο βήμα είναι να μεταφέρετε ένα μεταγλωττισμένο αρχείο .hex στον πίνακα προορισμού και να ορίσετε τα bit κλειδώματος. Αυτό θα σας επιτρέψει να εκτελέσετε το πρόγραμμα στον πίνακα. Βεβαιωθείτε ότι βρίσκεστε στον ίδιο κατάλογο με το optiboot_atmega328.hex αρχείο πριν πληκτρολογήσετε αυτήν την εντολή:

avrdude-σι 19200 -ντοusbtinym328p-v-μι-Uλάμψη:w:hexfilename.hex-Uκλειδαριά:w:0x0F

Σημείωση: Αυτές οι εντολές είναι για το Arduino Uno. Θα χρειαστεί να αναδιαμορφώσετε τα κομμάτια ασφαλειών για την πλακέτα σας που βρίσκονται στο board.txt αρχείο και τσιμπιά το Παράμετροι αριθμού ανταλλακτικού της AVRDUDE καθώς και για να δουλέψουν.

Τι θα κάνετε με το Arduino στη συνέχεια;

Ο bootloader Arduino είναι αυτό που τον κάνει τόσο εύκολο να προγραμματιστεί, ακόμη και για αρχάριους. Ας ελπίσουμε ότι τώρα μπορείτε να ανεβάσετε τα δικά σας προσαρμοσμένα σκίτσα στο Arduino και να επαναφέρετε τον bootloader για μελλοντικά έργα Arduino DIY.