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

HackerBox 0049: Εντοπισμός σφαλμάτων: 8 βήματα
HackerBox 0049: Εντοπισμός σφαλμάτων: 8 βήματα

Βίντεο: HackerBox 0049: Εντοπισμός σφαλμάτων: 8 βήματα

Βίντεο: HackerBox 0049: Εντοπισμός σφαλμάτων: 8 βήματα
Βίντεο: #87 HackerBox 0049 Debug 2024, Νοέμβριος
Anonim
HackerBox 0049: Σφάλμα
HackerBox 0049: Σφάλμα

Χαιρετισμούς στους HackerBox Hackers σε όλο τον κόσμο! Για το HackerBox 0049, πειραματιζόμαστε με τον εντοπισμό σφαλμάτων ψηφιακών συστημάτων μικροελεγκτών, διαμορφώνοντας την πλατφόρμα Bluetooth LOLIN32 ESP-32 WiFi στο Arduino IDE, εφαρμόζοντας τη βιβλιοθήκη κινουμένων σχεδίων FastLED με μήτρα 8x8 διευθυνσιοδοτούμενων RGB LED, εξερευνώντας τεχνικές εντοπισμού σφαλμάτων κώδικα σειριακής οθόνης, αξιοποιώντας Ενότητα FTDI 2232HL για εντοπισμό σφαλμάτων JTAG σε συστήματα μικροελεγκτών και προετοιμασία ενός DIY Logic Analyzer για χρήση σε διάφορα σενάρια εντοπισμού σφαλμάτων και δοκιμών υλικού.

Αυτό το Εγχειρίδιο περιέχει πληροφορίες για να ξεκινήσετε με το HackerBox 0049, οι οποίες μπορούν να αγοραστούν εδώ μέχρι εξαντλήσεως των αποθεμάτων. Αν θα θέλατε να λαμβάνετε ένα HackerBox όπως αυτό ακριβώς στο γραμματοκιβώτιό σας κάθε μήνα, εγγραφείτε στο HackerBoxes.com και λάβετε μέρος στην επανάσταση!

Το HackerBoxes είναι η μηνιαία υπηρεσία συνδρομής για λάτρεις της ηλεκτρονικής και της τεχνολογίας υπολογιστών - Hardware Hackers - The Dreamers of Dreams.

Βήμα 1: Λίστα περιεχομένου για το HackerBox 0049

  • Μονάδα Wemos LOLIN32 ESP-32
  • Μονάδα USB FTDI 2232HL
  • Μίνι πίνακας CY7C68013A
  • 8x8 μήτρα WS2812B RGB LED
  • Σετ Rainbow από μίνι κλιπ
  • Σύνολο γυναικών-γυναικών άλτες Dupont
  • Αποκλειστικό καπάκι σκέψης HackerBox
  • Αυτοκόλλητο για ανώνυμη περιήγηση
  • Αυτοκόλλητο κρανίου SIMM

Κάποια άλλα πράγματα που θα σας βοηθήσουν:

  • Συγκολλητικό σίδερο, συγκόλληση και βασικά εργαλεία συγκόλλησης
  • Υπολογιστής για τη λειτουργία εργαλείων λογισμικού

Το πιο σημαντικό, θα χρειαστείτε μια αίσθηση περιπέτειας, πνεύμα χάκερ, υπομονή και περιέργεια. Το να χτίζεις και να πειραματίζεσαι με τα ηλεκτρονικά, αν και είναι πολύ ανταποδοτικό, μπορεί να είναι δύσκολο, προκλητικό, ακόμη και απογοητευτικό κατά καιρούς. Ο στόχος είναι η πρόοδος και όχι η τελειότητα. Όταν επιμένεις και απολαμβάνεις την περιπέτεια, μπορεί να προκύψει μεγάλη ικανοποίηση από αυτό το χόμπι. Κάντε κάθε βήμα αργά, προσέξτε τις λεπτομέρειες και μην φοβάστε να ζητήσετε βοήθεια.

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

Βήμα 2: Ενότητα Wemos LOLIN32 ESP-32

Μονάδα Wemos LOLIN32 ESP-32
Μονάδα Wemos LOLIN32 ESP-32

Πραγματοποιήστε τις αρχικές δοκιμές της πλατφόρμας Wemos LOLIN32 ESP-32 Module WiFi Bluetooth προτού συγκολλήσετε τις καρφίτσες κεφαλίδας στη μονάδα.

Εγκαταστήστε το Arduino IDE και το πακέτο υποστήριξης ESP-32

Στην ενότητα εργαλεία> πίνακας, φροντίστε να επιλέξετε το "WeMos LOLIN32"

Φορτώστε τον παράδειγμα κώδικα στα Αρχεία> Παραδείγματα> Βασικά> Blink και προγραμματίστε τον στο WeMos LOLIN32

Το παράδειγμα προγράμματος θα πρέπει να αναβοσβήνει το μπλε LED της μονάδας. Πειραματιστείτε με την τροποποίηση των παραμέτρων καθυστέρησης για να αναβοσβήνει το LED με διαφορετικά μοτίβα. Αυτή είναι πάντα μια καλή άσκηση για να χτίσετε εμπιστοσύνη στον προγραμματισμό μιας νέας μονάδας μικροελεγκτή.

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

Βήμα 3: Μήτρα 64 LED RGB

Μήτρα 64 LED RGB
Μήτρα 64 LED RGB

Εγκαταστήστε τη βιβλιοθήκη κινουμένων σχεδίων FastLED για το Arduino IDE.

Συνδέστε το LED Matrix όπως φαίνεται.

Σημειώστε ότι το LED "Data In" είναι συνδεδεμένο στο ESP32 Pin 13 (A14).

Όταν ενεργοποιείτε περισσότερες από μια χούφτα LED ταυτόχρονα, ειδικά σε πλήρη φωτεινότητα, σκεφτείτε να χρησιμοποιήσετε μια παροχή 5V υψηλότερου ρεύματος αντί για τον πείρο 5V στο LOLIN32.

Προγραμματίστε το demo σκίτσο LEDmatrix που αναβοσβήνει ένα τυχαίο στοιχείο με τυχαίο χρώμα για τέσσερα δευτερόλεπτα το καθένα.

Βήμα 4: Απλή εντοπισμός σφαλμάτων σειριακής παρακολούθησης για το Arduino IDE

Απλή σειριακή εντοπισμός σφαλμάτων για Arduino IDE
Απλή σειριακή εντοπισμός σφαλμάτων για Arduino IDE

Μία από τις απλούστερες και ταχύτερες μεθόδους για τον εντοπισμό σφαλμάτων σε ένα σκίτσο Arduino είναι η χρήση της σειριακής οθόνης για την παρακολούθηση εξόδου από τις δηλώσεις Serial.print κατά την εκτέλεση του κώδικα.

Στο demo σκίτσο LEDmatrix, αποσυνδέστε τη γραμμή "//#define DEBUG 1" αφαιρώντας τις δύο μπροστινές πτώσεις.

Αυτό θα ενεργοποιήσει τον εντοπισμό σφαλμάτων σειριακής οθόνης στο σκίτσο. Το άνοιγμα της σειριακής οθόνης IDE σε 9600 baud θα εμφανίσει την έξοδο εντοπισμού σφαλμάτων. Ελέγξτε τον κώδικα για να δείτε πώς δημιουργούνται αυτά τα αποτελέσματα.

Τέτοιες σειριακές δηλώσεις εξόδου μπορούν να χρησιμοποιηθούν για επισήμανση όταν η εκτέλεση εισέρχεται/εξέρχεται από μια συγκεκριμένη συνάρτηση ή περιοχή κώδικα. Οι δηλώσεις μπορούν επίσης να εισαχθούν (όπως φαίνεται) στις τιμές εξόδου που χρησιμοποιούνται στο πρόγραμμα για την παρακολούθηση του πώς αλλάζουν σε διαφορετικά τμήματα ενός προγράμματος ή ως απόκριση σε διάφορες εισόδους ή άλλες συνθήκες.

Βήμα 5: Advanced Serial Debugging για το Arduino IDE

Advanced Serial Debugging για το Arduino IDE
Advanced Serial Debugging για το Arduino IDE

Η βιβλιοθήκη SerialDebug σάς επιτρέπει να αξιοποιήσετε πιο προχωρημένους εντοπισμούς σφαλμάτων στο Arduino IDE.

Αυτό το Tandom Nerds Tutorial δείχνει πώς να χρησιμοποιήσετε τη βιβλιοθήκη SerialDebug στα έργα σας.

Βήμα 6: Αποσφαλμάτωση JTAG με τη μονάδα FT2232HL

Αποκατάσταση σφαλμάτων JTAG με τη μονάδα FT2232HL
Αποκατάσταση σφαλμάτων JTAG με τη μονάδα FT2232HL

Το FT2232H (φύλλο δεδομένων και περισσότερα) είναι ένα τσιπ γέφυρας 5ης γενιάς μεταξύ USB 2.0 Hi-Speed (480Mb/s) και UART/FIFO. Έχει τη δυνατότητα ρύθμισης παραμέτρων σε ποικίλες τυπικές σειριακές ή παράλληλες διεπαφές του κλάδου. Το FT2232H διαθέτει δύο σύγχρονες σειριακές μηχανές πολλαπλών πρωτοκόλλων (MPSSE) που επιτρέπουν την επικοινωνία χρησιμοποιώντας JTAG, I2C και SPI σε δύο κανάλια ταυτόχρονα.

Το JTAG (Joint Test Action Group) είναι ένα βιομηχανικό πρότυπο για την επαλήθευση σχεδίων και τη δοκιμή τυπωμένων κυκλωμάτων. Παρόλο που οι πρώτες εφαρμογές της JTAG στόχευαν δοκιμές σε επίπεδο πίνακα, το JTAG εξελίχθηκε για να χρησιμοποιηθεί ως το κύριο μέσο πρόσβασης σε υπο-μπλοκ ολοκληρωμένων κυκλωμάτων, καθιστώντας το βασικό μηχανισμό για τον εντοπισμό σφαλμάτων ενσωματωμένων συστημάτων που ενδέχεται να μην έχουν κανένα άλλο κανάλι επικοινωνίας με δυνατότητα εντοπισμού σφαλμάτων. Ένας "προσαρμογέας JTAG" χρησιμοποιεί το JTAG ως μηχανισμό μεταφοράς για πρόσβαση σε ενότητες εντοπισμού σφαλμάτων εντός τσιπ εντός της CPU στόχου. Αυτές οι ενότητες επιτρέπουν στους προγραμματιστές να εντοπίζουν σφάλματα στο λογισμικό ενός ενσωματωμένου συστήματος απευθείας σε επίπεδο οδηγιών μηχανήματος ή σε ό, τι αφορά τον πηγαίο κώδικα γλώσσας υψηλού επιπέδου.

JTAG Αποσφαλμάτωση του ESP32 με FT2232 και OpenOCD

Ενσωματωμένος εντοπισμός σφαλμάτων του ESP32 χρησιμοποιώντας προσαρμογέα JTAG που βασίζεται σε FTDI 2232HL

OpenOCD το Open On-Chip Debugger

Δείτε επίσης αυτόν τον υπέροχο οδηγό από το Adafruit που δείχνει πώς μπορείτε να χρησιμοποιήσετε ένα FT232H για σύνδεση με αισθητήρες I2C και SPI και διαλείμματα από οποιονδήποτε επιτραπέζιο υπολογιστή με Windows, Mac OSX ή Linux.

Βήμα 7: DIY Logic Analyzer - CY7C68013A Mini Board

DIY Logic Analyzer - CY7C68013A Mini Board
DIY Logic Analyzer - CY7C68013A Mini Board

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

Το πρόγραμμα sigrok είναι μια φορητή σουίτα λογισμικού ανάλυσης σήματος ανοιχτού κώδικα, πολλαπλών πλατφορμών, που υποστηρίζει διάφορους τύπους συσκευών, συμπεριλαμβανομένων λογικών αναλυτών, παλμογράφων κ.λπ.

Ο μίνι πίνακας CY7C68013A είναι ένας πίνακας αξιολόγησης Cypress FX2LP. Ο πίνακας μπορεί να χρησιμοποιηθεί ως λογικός αναλυτής βασισμένος σε USB, 16 καναλιών με ρυθμό δειγματοληψίας έως 24MHz. Βασισμένο σε υλικό αρκετά παρόμοιο με το Saleae Logic, το υλικολογισμικό sigrok ανοιχτού κώδικα fx2lafw μπορεί να υποστηρίξει τη λειτουργία ως λογικός αναλυτής.

Εκπαιδευτική επίδειξη μετατροπής Logic Analyzer του Mini Boad

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

Βήμα 8: Αποκλειστικό καπάκι σκέψης HackerBox

Αποκλειστικό καπάκι σκέψης HackerBox
Αποκλειστικό καπάκι σκέψης HackerBox

Ελπίζουμε να απολαμβάνετε την περιπέτεια HackerBox αυτού του μήνα στα ηλεκτρονικά και την τεχνολογία υπολογιστών. Απευθυνθείτε και μοιραστείτε την επιτυχία σας στα παρακάτω σχόλια ή στην Ομάδα Facebook HackerBoxes. Επίσης, να θυμάστε ότι μπορείτε να στείλετε μήνυμα ηλεκτρονικού ταχυδρομείου στη διεύθυνση [email protected] ανά πάσα στιγμή εάν έχετε κάποια ερώτηση ή χρειάζεστε βοήθεια.

Τι έπεται? Ελάτε στην επανάσταση. Ζήστε το HackLife. Αποκτήστε ένα δροσερό κουτί με εργαλεία που μπορούν να σπάσουν και παραδίδονται απευθείας στο γραμματοκιβώτιό σας κάθε μήνα. Περιηγηθείτε στο HackerBoxes.com και εγγραφείτε για τη μηνιαία συνδρομή σας στο HackerBox.

Συνιστάται: