English
Language : 

DS80C410 Datasheet, PDF (79/102 Pages) Dallas Semiconductor – Network Microcontrollers with Ethernet and CAN
DS80C410/DS80C411 Network Microcontrollers with Ethernet and CAN
Figure 17. Dallas tbin2 Record and File Format
tbin2 file
tbin2 record
tbin2 record
tbin2 record
tbin2 record
.
.
.
tbin2 record
VERSION
tbin2 record
TARGET ADDRESS (3)
LENGTH-1 (2)
CRC-16 (2)
BINARY DATA (LENGTH)
FIELD
Version:
Target Address:
Length-1:
CRC-16:
FORMAT (NOTES)
01h (versions other than 01h reserved for future use)
LSB, MSB, XSB (target addresses > FF0000h reserved)
LSB, MSB
LSB, MSB
Find-User Code
The DS80C410 ROM firmware attempts to find valid user code by searching for specific signature bytes. First, the
address C000h in the internal RAM is checked. If unsuccessful, the ROM starts a search at the beginning of each
64kB block of memory. The search begins at address location C00000h and continues downward through memory
in decrements of 64kB until executable code is located or failure occurs (search terminates at 000000h). For the
find-user-code routine to judge a block of memory as valid executable code, it must be tagged with the signature
bytes shown in Figure 18.
Figure 18. User Code Signature (Required by Find-User Code)
SIGNATURE BYTES
80h,xxh 54h,49h,4Eh,49h Segment Address(1)
USER CODE
SJMP xx
ëTINIí
Once a valid signature is found, the signature byte at offset 6, referred to in Figure 18 as the segment address, is
examined to determine whether execution control should be transferred immediately or whether the search should
continue. If the segment address byte equals 00h or matches the most significant address byte for the 64kB block
being examined, execution is transferred to the user code. If the segment address byte does not match, that
segment address byte is used to determine the next memory block examined for a valid signature.
Exported ROM Functions
The DS80C410 ROM firmware implements many functions that are made accessible to the user application code.
In order for user application code to call a specific function, the location of that function must be known. The
absolute address location of each DS80C410 ROM function must be read from an export table (also found in the
ROM). To allow flexibility for future ROM firmware structural changes and improvements, the export table itself is
not connected to a specific address range, but instead a 3-Byte pointer to the start of the export table is fixed at
addresses FF0002h (XSB), FF0003h (MSB), and FF0004h (LSB). The first three bytes of the export table contain
the quantity of function entries in the export table. In 3-Byte increments, following the first three bytes, the rest of
the table contains absolute address locations for the exported ROM functions. Thus, once the export table location
has been discovered, the index for a given function/structure (Table 16) can be used to find its absolute address
(Function address = ExportTable[Index x 3]). Figure 19 illustrates the method for locating the export table and a
79 of 102