English
Language : 

DS80C400_09 Datasheet, PDF (74/97 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 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 DS80C400 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 DS80C400 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 Maxim 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 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. (Note that this feature requires cooperation by the user application.) If so, the DS80C400
ROM exits NetBoot and transfers execution to the find-user-code routine. If the TFTP transfer has not been
successful in the past, the DS80C400 ROM allows the watchdog timer to reset the DS80C400.
Figure 16. Maxim 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 DS80C400 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 97