Μετατροπή BIN σε HEX
Η μετατροπή ακατέργαστων δυαδικών ροών byte τύπου application/octet-stream σε εγγραφές μνήμης Intel HEX βάσει κειμένου επιτρέπει στους προγραμματιστές μικροελεγκτών να εγγράφουν με ακρίβεια το firmware στο υλικό.
Σύγκριση μορφών και τεχνικές προδιαγραφές
| Προδιαγραφή | BIN | HEX |
|---|---|---|
| Τύπος MIME | application/ | text/ |
| Τύπος | Μη επεξεργασμένη δυαδική ροή byte | Εγγραφή μνήμης σε δεκαεξαδική μορφή |
| Συμπίεση | κανένα | κανένα |
| Πρότυπη προδιαγραφή | Raw Binary Byte Stream Specification | Intel HEX-32 Object Format |
| Κεφαλίδα Magic Bytes | Raw arbitrary binary bytes | :[0-9A-Fa-f]{8} (Intel HEX colon record format) |
Επισκόπηση Μορφής & Εφαρμογές
Οι μηχανικοί ενσωματωμένων συστημάτων και οι προγραμματιστές υλικού μετατρέπουν συχνά τα raw memory dumps σε μορφή Intel HEX για να φορτώσουν λογισμικό σε μικροελεγκτές όπως τσιπ PIC, AVR και 8051. Τα δυαδικά αρχεία αποθηκεύουν μόνο ακατέργαστες εντολές μηχανής, χωρίς αντιστοίχιση διευθύνσεων. Οι προγραμματιστές μικροελεγκτών δεν μπορούν να διαβάσουν raw binary dumps εκτός εάν είναι γνωστή η συγκεκριμένη διεύθυνση προορισμού μνήμης. Η μορφή Intel HEX λύνει αυτό το πρόβλημα συσκευάζοντας τα δυαδικά δεδομένα σε ευανάγνωστες γραμμές κειμένου ASCII. Κάθε γραμμή περιέχει συγκεκριμένα πεδία για τη διεύθυνση μνήμης, το μήκος δεδομένων, τον τύπο εγγραφής και ένα άθροισμα ελέγχου για τον εντοπισμό σφαλμάτων δεδομένων. Τα προγράμματα flash και τα εργαλεία αποσφαλμάτωσης υλικού βασίζονται σε αυτή τη δομή για να τοποθετήσουν byte στις σωστές θέσεις μνήμης σε ένα τσιπ.
Τεχνικές προδιαγραφές και ανάλυση κωδικοποιητών
Τα αρχεία Raw Binary (BIN) χρησιμοποιούν τον τύπο MIME application/octet-stream και αποτελούνται από μια συνεχή ροή μη μορφοποιημένων byte, χωρίς επικεφαλίδες magic byte, μεταδεδομένα ή δομή κοντέινερ. Τα αρχεία Intel HEX (HEX) χρησιμοποιούν τον τύπο MIME text/plain και κωδικοποιούν τα ίδια δυαδικά byte σε σειρές δεκαεξαδικών χαρακτήρων ASCII. Καμία από τις δύο μορφές δεν χρησιμοποιεί εσωτερική συμπίεση, επομένως η μετατροπή μεταξύ τους γίνεται χωρίς απώλειες. Κάθε byte κώδικα μηχανής αντιστοιχίζεται απευθείας από την ακατέργαστη ροή σε ζεύγος δεκαεξαδικών χαρακτήρων μέσα στη δομή εγγραφής Intel HEX.
Συμβατότητα Λειτουργικού Συστήματος & Προγράμματος Περιήγησης
Τα αρχεία Intel HEX λειτουργούν σε οποιοδήποτε λειτουργικό σύστημα, καθώς είναι έγγραφα απλού κειμένου. Μπορείτε να τα ανοίξετε και να τα επεξεργαστείτε σε προγράμματα επεξεργασίας κειμένου στα Windows, στο macOS και στο Linux. Εξειδικευμένα εργαλεία ανάπτυξης ενσωματωμένων συστημάτων, όπως τα MPLAB, AVRDUDE και Keil uVision, διαβάζουν εγγενώς αρχεία Intel HEX για τον προγραμματισμό μικροελεγκτών. Τα σύγχρονα προγράμματα περιήγησης ιστού μπορούν επίσης να εκτελέσουν αυτές τις μετατροπές κειμένου τοπικά, χρησιμοποιώντας τα API FileReader της JavaScript, χωρίς να απαιτείται μεταφόρτωση σε διακομιστή. Η υποστήριξη εξαρτάται επίσης από την εφαρμογή, τη συσκευή, το λειτουργικό σύστημα και την έκδοση.
Χρήσιμες πληροφορίες
Επαληθεύετε πάντα τη μετατόπιση της αρχικής διεύθυνσης μνήμης πριν μετατρέψετε ένα δυαδικό αρχείο σε Intel HEX. Εάν ο μικροελεγκτής-στόχος σας αναμένει ο κώδικας να ξεκινά στη διεύθυνση μνήμης 0x0000, βεβαιωθείτε ότι το εργαλείο μετατροπής ευθυγραμμίζει σωστά τα δεδομένα, ώστε να αποτρέπονται αποτυχίες εκκίνησης.
Συχνές Ερωτήσεις
Πώς μετατρέπεται το Raw Binary σε Intel HEX χωρίς απώλεια ποιότητας;
Τα αρχεία Raw Binary (BIN) χρησιμοποιούν τον τύπο MIME application/octet-stream και αποτελούνται από συνεχή ροή μη μορφοποιημένων byte, χωρίς κεφαλίδες μαγικού αριθμού, μεταδεδομένα ή δομή περιβλήματος. Τα αρχεία Intel HEX (HEX) χρησιμοποιούν τον τύπο MIME text/plain και κωδικοποιούν τα ίδια δυαδικά byte σε σειρές δεκαεξαδικών χαρακτήρων ASCII. Καμία από τις δύο μορφές δεν χρησιμοποιεί εσωτερική συμπίεση, επομένως η μετατροπή μεταξύ τους γίνεται χωρίς απώλειες. Κάθε byte κώδικα μηχανής αντιστοιχίζεται απευθείας από την ακατέργαστη ροή σε ζεύγη δεκαεξαδικών χαρακτήρων μέσα στη δομή εγγραφών Intel HEX.
Ποια είναι η διαφορά μεταξύ Raw Binary και Intel HEX;
Το Raw Binary είναι μια συμπαγής, μη μορφοποιημένη ροή ακατέργαστων byte χωρίς πληροφορίες διεύθυνσης. Το Intel HEX είναι μια μορφή βασισμένη σε κείμενο που οργανώνει αυτά τα ίδια byte σε ευανάγνωστες γραμμές ASCII που περιέχουν διευθύνσεις έναρξης, μετρήσεις byte και αθροίσματα ελέγχου.