Chuyển đổi BIN sang HEX
Chuyển đổi luồng byte nhị phân thô application/octet-stream thành các bản ghi bộ nhớ Intel HEX dạng văn bản giúp các lập trình viên vi điều khiển nạp firmware phần cứng một cách chính xác.
So sánh định dạng & Thông số kỹ thuật
| Thông số kỹ thuật | BIN | HEX |
|---|---|---|
| Loại MIME | application/ | text/ |
| Loại | luồng byte nhị phân thô | bản ghi bộ nhớ thập lục phân |
| Nén | không có | không có |
| Thông số tiêu chuẩn | Đặc tả Luồng Byte Nhị phân Thô | Định dạng Đối tượng Intel HEX-32 |
| Chữ ký byte đầu tệp | Raw arbitrary binary bytes | :[0-9A-Fa-f]{8} (Intel HEX colon record format) |
Tổng quan định dạng & Ứng dụng
Các kỹ sư hệ thống nhúng và nhà phát triển phần cứng thường xuyên chuyển đổi các kết quả kết xuất bộ nhớ thô sang định dạng Intel HEX để tải phần mềm lên các vi điều khiển như chip PIC, AVR và 8051. Các tệp nhị phân thô chỉ lưu trữ các lệnh máy thô mà không có bất kỳ ánh xạ địa chỉ nào. Lập trình viên vi điều khiển không thể đọc các bản kết xuất nhị phân thô trừ khi biết rõ địa chỉ đích bộ nhớ cụ thể. Định dạng Intel HEX giải quyết vấn đề này bằng cách đóng gói dữ liệu nhị phân thành các dòng văn bản ASCII có thể đọc được. Mỗi dòng chứa các trường cụ thể cho địa chỉ bộ nhớ, độ dài dữ liệu, loại bản ghi và mã tổng kiểm tra để phát hiện lỗi dữ liệu. Các lập trình viên flash và công cụ gỡ lỗi phần cứng dựa vào cấu trúc này để đặt các byte vào đúng vị trí bộ nhớ trên một con chip.
Thông số kỹ thuật & Phân tích codec
Tệp Nhị phân Thô (BIN) dùng loại MIME application/octet-stream và gồm luồng byte liên tục chưa định dạng, không có tiêu đề byte nhận diện, siêu dữ liệu hay cấu trúc vùng chứa. Tệp Intel HEX (HEX) dùng loại MIME text/plain và mã hóa các byte nhị phân đó thành các dòng văn bản ASCII dạng thập lục phân. Cả hai định dạng đều không dùng nén, nên quá trình chuyển đổi không làm mất dữ liệu. Mỗi byte mã máy được ánh xạ trực tiếp từ luồng thô thành một cặp ký tự thập lục phân trong bản ghi Intel HEX.
Khả năng tương thích hệ điều hành & trình duyệt
Tệp Intel HEX hoạt động trên mọi hệ điều hành vì là tài liệu văn bản thuần. Bạn có thể mở và chỉnh sửa chúng bằng trình soạn thảo văn bản trên Windows, macOS và Linux. Công cụ phát triển hệ thống nhúng chuyên dụng như MPLAB, AVRDUDE và Keil uVision đọc trực tiếp tệp Intel HEX để lập trình vi điều khiển. Trình duyệt web hiện đại cũng có thể xử lý các phép chuyển đổi văn bản này cục bộ bằng API JavaScript FileReader mà không cần tải tệp lên máy chủ.
Thông tin hữu ích
Luôn xác minh phần bù địa chỉ bộ nhớ bắt đầu trước khi chuyển đổi tệp nhị phân thô sang Intel HEX. Nếu vi điều khiển mục tiêu của bạn mong đợi mã bắt đầu ở địa chỉ bộ nhớ 0x0000, hãy đảm bảo công cụ chuyển đổi của bạn căn chỉnh dữ liệu chính xác để tránh lỗi khởi động.
Câu hỏi thường gặp
Làm thế nào để chuyển Nhị phân Thô sang Intel HEX mà không mất dữ liệu?
Tệp Nhị phân Thô (BIN) dùng loại MIME application/octet-stream và gồm luồng byte liên tục chưa định dạng, không có tiêu đề byte nhận diện, siêu dữ liệu hay cấu trúc vùng chứa. Tệp Intel HEX (HEX) dùng loại MIME text/plain và mã hóa các byte nhị phân đó thành các dòng văn bản ASCII dạng thập lục phân. Cả hai định dạng đều không dùng nén, nên quá trình chuyển đổi không làm mất dữ liệu. Mỗi byte mã máy được ánh xạ trực tiếp từ luồng thô thành một cặp ký tự thập lục phân trong bản ghi Intel HEX.
Sự khác biệt giữa Nhị phân Thô và Intel HEX là gì?
Nhị phân Thô là một luồng byte thô nhỏ gọn, chưa định dạng không có thông tin địa chỉ. Intel HEX là định dạng dựa trên văn bản tổ chức các byte đó thành các dòng ASCII dễ đọc chứa địa chỉ bắt đầu, số lượng byte và mã tổng kiểm tra lỗi.