English
Language : 

DS80C400_03 Datasheet, PDF (74/96 Pages) Maxim Integrated Products – Network Microcontroller
DS80C400 Network Microcontroller
Now armed with an IP address and TFTP server IP address, the DS80C400 tries to find code to be loaded into
external program memory. The TINI400 ROM first requests to read the file from the TFTP server coinciding with its
unique physical MAC address (e.g., 006035AB9811). If the request is denied, it issues a second, less specific,
request to read the filename associated with the TINI400 ROM revision (e.g. TINI400-1.0.1). If this request is
denied, then lastly it attempts to read from the TFTP server the file ëTINI400.í Using this strategy, the TFTP server
operator can distinguish between different devices and/or different releases of the TINI400 ROM firmware.
After successfully locating the desired file on the TFTP server, the DS80C400 must transfer and program the file
into external memory. Currently, the DS80C400 only offers programming support for SRAM and AMD compatible
flash memory devices. The NetBoot code expects the transferred file to be in the Dallas tbin2 format. The tbin2
format consists of one or more records, allowing binary concatenation of multiple images into one file. Figure 16
illustrates the tbin2 file format.
For each 64kB bank to be programmed, the TINI400 ROM first performs a CRC-16 of the current memory bank
contents. If the CRC-16 of the current memory matches the data to be programmed, the bank is left alone. If the
CRC-16 differs, it performs a couple of write/read-back operations to assess whether the bank is flash or SRAM
and then executes the erasure (if flash) and programming.
After completion of the TFTP server file transfer and programming of external memory, the NetBoot process
concludes by updating a ëprevious TFTP successí flag and executing the ROM find-user-code routine.
If either DHCP or the TFTP transfer fail, the NetBoot code checks whether the TFTP transfer has been successful
in a previous attempt. If so, the TINI400 ROM exits NetBoot and transfers execution to the find-user-code routine. If
the TFTP transfer has not been successful in the past, the TINI400 ROM allows the watchdog timer to reset the
DS80C400.
Figure 16. 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 TINI400 ROM firmware attempts to find valid user code by searching for specific signature bytes 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 17.
74 of 96