7 Kasım 2007 Çarşamba

INTEL HEX FILE FORMAT

INTEL HEX FILE FORMAT


(Intel Hexadesimal Dosya Formatı)

:llaaaatt[dd...]cc

Each group of letters corresponds to a different field, and each letter
represents a single hexadecimal digit. Each field is composed of at
least two hexadecimal digits-which make up a byte-as described below:

* *:* is the colon that starts every Intel HEX record.
* */ll/* is the record-length field that represents the number of
data bytes (*dd*) in the record.
* */aaaa/* is the address field that represents the starting address
for subsequent data in the record.
* */tt/* is the field that represents the HEX record type, which may
be one of the following:
*00* - data record
*01* - end-of-file record
*02* - extended segment address record
*04* - extended linear address record
* */dd/* is a data field that represents one byte of data. A record
may have multiple data bytes. The number of data bytes in the
record must match the number specified by the *ll* field.
* */cc/* is the checksum field that represents the checksum of the
record. The checksum is calculated by summing the values of all
hexadecimal digit pairs in the record modulo 256 and taking the
two's complement.


Data Records

The Intel HEX file is made up of any number of data records that are
terminated with a carriage return and a linefeed. Data records appear as
follows:

:10246200464C5549442050524F46494C4500464C33

This record is decoded as follows:

: 10 2462 00 464C5549442050524F46494C4500464C 33

| || |||| || |||||||||||||||||||||||||||||||| CC->Checksum

| || |||| || DD->Data

| || |||| TT->Record Type

| || AAAA->Address

| LL->Record Length

:->Colon

where:

* *10* is the number of data bytes in the record.
* *2462* is the address where the data are to be located in memory.
* *00* is the record type 00 (a data record).
* *464C...464C* is the data.
* *33* is the checksum of the record.

http://www.keil.com/support/docs/1584.htm sitesinden alintidir...

Hiç yorum yok: