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

Πώς να απενεργοποιήσετε το JTAG πριν από την εκκίνηση του Atmegas 40DIP με Arduino IDE Mightycore: 4 βήματα
Πώς να απενεργοποιήσετε το JTAG πριν από την εκκίνηση του Atmegas 40DIP με Arduino IDE Mightycore: 4 βήματα

Βίντεο: Πώς να απενεργοποιήσετε το JTAG πριν από την εκκίνηση του Atmegas 40DIP με Arduino IDE Mightycore: 4 βήματα

Βίντεο: Πώς να απενεργοποιήσετε το JTAG πριν από την εκκίνηση του Atmegas 40DIP με Arduino IDE Mightycore: 4 βήματα
Βίντεο: Всё про прошивку Xiaomi 2024, Ιούλιος
Anonim
Πώς να απενεργοποιήσετε το JTAG πριν από την εκκίνηση του Atmegas 40DIP με Arduino IDE Mightycore
Πώς να απενεργοποιήσετε το JTAG πριν από την εκκίνηση του Atmegas 40DIP με Arduino IDE Mightycore

Πρόσφατα χρησιμοποίησα το atmegas 40 DIP για τον έλεγχο βιομηχανικών συστημάτων, επειδή αυτό το είδος μικροελεγκτή παρέχει πολλά αναλογικά ή ψηφιακά I/O, οπότε δεν χρειάζεστε επεκτάσεις.

Το atmegas32/644p/1284p περιλαμβάνει έναν τρόπο για να κατεβάσετε το σκίτσο που δημιουργείτε και το οποίο ονομάζεται "JTAG" (βλ.

en.wikipedia.org/wiki/JTAG για περισσότερες εξηγήσεις). Εάν χρησιμοποιείτε Arduino IDE ή LDmicro (IEC 61-131), τα σκίτσα μεταφορτώνονται από τη θύρα SPI και οι ακίδες JTAG (4 ακίδες: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) δεν είναι διαθέσιμες για τίποτα Πρέπει λοιπόν να απενεργοποιήσετε το JTAG στο πρόγραμμά σας.

Με το arduino IDE πρέπει απλώς να προσθέσετε 3 γραμμές κώδικα στην ενότητα εγκατάστασης όπως αυτή:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

Η μέθοδος γραμμής δύο φορές MCUCR.

Με το LDmicro δεν κατάφερα να κάνω τίποτα.

Για να αποφύγω αυτά τα προβλήματα, έκανα εκκίνηση μετά την εγγραφή του MCUCR στο χειρισμό των atmegas μου με το Arduino IDE στο Mightycore. Ένας τρόπος για να καούν οι ασφάλειες με απενεργοποιημένο το JTAG.

Βήμα 1: Ο υπολογισμός της ασφάλειας του κυκλώματος 40DIP:

Ο υπολογισμός της ασφάλειας του κυκλώματος 40DIP
Ο υπολογισμός της ασφάλειας του κυκλώματος 40DIP
Ο υπολογισμός της ασφάλειας του κυκλώματος 40DIP
Ο υπολογισμός της ασφάλειας του κυκλώματος 40DIP
Ο υπολογισμός της ασφάλειας του κυκλώματος 40DIP
Ο υπολογισμός της ασφάλειας του κυκλώματος 40DIP

Μεταβείτε στον ιστότοπο:

eleccelerator.com/fusecalc/fusecalc.php?chi…

Επιλέξτε το καλό κύκλωμα (atmega1284p στο παράδειγμά μου, αλλά με τον ίδιο τρόπο με άλλα 40 DIP atmegas) και κοιτάξτε το "U hfuse: w: 0x99: m" και καταργήστε την επιλογή JTAGEN έτσι ώστε να δίνει "U hfuse: w: 0xD9: m". Έχετε υπόψη σας την τιμή 0xD9.

Βήμα 2: Lookάχνετε για το αρχείο Boards.txt στον κατάλογο Mightycore:

Lookάχνετε για το αρχείο Boards.txt στον κατάλογο Mightycore
Lookάχνετε για το αρχείο Boards.txt στον κατάλογο Mightycore
Lookάχνετε για το αρχείο Boards.txt στον κατάλογο Mightycore
Lookάχνετε για το αρχείο Boards.txt στον κατάλογο Mightycore

Αναζητήστε στον υπολογιστή σας τον κατάλογο Mightycore. Για μένα στο C: / user / yourself / AppData / Local / Arduino15 / πακέτα / Mightycore / Harware / avr / 2.0.0 / boards.txt.

Βήμα 3: Τροποποιήστε το Boards.txt και το Bootload With Mightycore:

Τροποποιήστε το Boards.txt και το Bootload With Mightycore
Τροποποιήστε το Boards.txt και το Bootload With Mightycore

Ρίξτε μια ματιά στο μπλοκ συχνότητας ρολογιού του atmega1284p με το Σημειωματάριο ++.

Τροποποιήστε κάθε υψηλή ασφάλεια όπως "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6" σε "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9" (0xd9 την προηγούμενη τιμή που έπρεπε να θυμάστε). Αποθηκεύστε την.

Στη συνέχεια, απλώς πρέπει να ακολουθήσετε τη μέθοδο εκκίνησης που αναφέρεται

www.instructables.com/id/Arduino-18x-Clone…

Αυτό είναι.

Βήμα 4: Συμπέρασμα:

Τώρα κερδίζετε 4 I/O και δεν χρειάζεται να κάνετε χειρισμούς εγγραφής στα σκίτσα σας. Μπορείτε επίσης να επιστρέψετε και να ενεργοποιήσετε το JTAGEN και να κάνετε επανεκκίνηση άλλη μια φορά.

Χάρη σε όλα τα ενδιαφέροντα σεμινάρια στον ιστό που μου έδωσαν κάποια κλειδιά για να πετύχω σε αυτό το έργο.

Συνιστάται: