Khi tôi biên dịch mã, cuối cùng tôi nhận được Motorola S records (a.mot) với khoảng trống (toàn bộ dải địa chỉ không được bao gồm trong mã và dữ liệu).Làm thế nào tôi có thể điền vào một bản ghi S với hai giá trị byte bắt đầu trên ranh giới địa chỉ ngay cả?
Tôi muốn lấp đầy những khoảng trống đó bằng mẫu 0x01 0x80
. Tuy nhiên, điều quan trọng là tất cả các cặp hai byte phải bắt đầu ngay cả địa chỉ. 0x0180
là một mã mở từ vi của tôi mà tôi muốn được thực hiện nếu máy tính đạt đến địa chỉ của vùng flash không sử dụng.
Trước khi bắt đầu trả lời tôi muốn nói với bạn rằng -repeat dữ liệu trong srec_cat có một vấn đề:
- Với hai phần ví dụ C và D đặt cái khác (D sau C) trong không gian địa chỉ.
- Cho rằng byte cuối cùng của phần C kết thúc vào địa chỉ
0x76
và byte đầu tiên của phần D là trên địa chỉ0x78
. Nói cách khác, có khoảng cách dài 1 byte tại địa chỉ0x77
giữa chúng.
Trong điều kiện như vậy, nếu tôi sử dụng -repeat dữ liệu 0x01 0x80
tùy chọn, mèo SREC sẽ điền vào đó một byte với 0x01
và bắt đầu điền khoảng cách sau đây từ 0x80
.
Tôi không biết kích thước của các phần đó bởi vì trình liên kết xử lý nó.
Cá nhân tôi sẽ giải quyết vấn đề này bằng tập lệnh Python nhanh được gọi là bước đăng liên kết. – Vicky