1 ICL ETHERTEAM PCI/ISA FLASH PROGRAM UTILITY 1.1 General The ICL EtherTeam PCI/ISA Flash Utility is used to program the Flash Boot PROM on the ICL EtherTeam PCI/ISA Adapter. Flash PROM is supported on EtherTeam ISA board only. 1.2 Quick Guide To Program The Flash PROM 1. Ensure from the Setup of the machine that the Shadow Option ROMs are disabled. Otherwise it may be that the Memory Access to the Boot PROM in fact doesn't access the Flash PROM and writing the Flash fails. 2. Enable the Boot PROM Address to be 32Kbyte aligned, so that there is a continuous 32Kbyte memory window available. Select the Boot PROM Address to be (C000), C800, D000 or D800 (see section 1.5). In doing this, either: 1. Use ETDIAG 3.01 (or later) to enable the Boot PROM Address before starting the Flash Utility. 2. Give the Boot PROM Address as a parameter when starting the Flash Utility. The Flash Utility uses it only temporarily, the original setup of the board is not changed. 3. Ensure that you do not have any AMD PCnet drivers loaded. Active network connection may cause problems in using the Flash Utility. 4. Use the Flash Utility to program the Flash PROM (see section 1.6). Start the program from the DOS Command Prompt (DO NOT start it from Windows DOS Box): 1. If you have used ETDIAG to enable the Boot PROM Address beforehand, just type: FLASH 2. If you define the used Boot PROM Address explicitly, type for example: FLASH /ROMd800 3. If you let the Flash Utility to select the used Boot PROM Address, type: FLASH /ROM 1.3 Using The Flash Utility The syntax of the ICL EtherTeam PCI/ISA Flash Program Utility is: ICL EtherTeam PCI/ISA Flash Utility v1.11 (960223) usage: flash [/IOaddr] [/FI[file]] [/ROM[addr]] [/V] [/CHK] [/EO] [/BU[file]] [/H] where : /IOaddr = Adapter IO Base Address (Default = Scan All) /FIfile = Boot PROM Image File (Default = NETROM.BIN) /ROMaddr = Boot PROM Base Address (Default = Current) /V = Compare Boot PROM To The Image File /CHK = Calculate Checksum Of The Boot PROM /EO = Erase Only The Boot PROM /BUfile = Backup EEPROM Byte Map (Default = EEPROM.BAK) /H = This Help Message 1.4 Boot PROM Image File The Boot PROM Image File (NETROM.BIN) contains the binary image of the PCnet Remote Boot. Its format is absolute binary, and its size and checksum are set properly. The original AMD PCnet Family Board Boot PROM code is in Intel MSC-86 Hex format. Use the utility FLASHBIN to convert it to the Absolute Binary mode, applicaple to the FLash Utility. To execute it, type: FLASHBIN After started, the program outputs the configuration of the board, and the operations it is doing, as: ICL EtherTeam PCI/ISA Flash File Conversion v1.00 (950223) Hexa File NETROM.HEX Converted To Binary File NETROM.BIN 1.5 Enabling Boot PROM Address 1.5.1 Boot PROM Size Required Using the Flash Utility requires that the Boot PROM Address has been enabled, either using the ETDIAG program or specifying the address when starting the Flash Utility. In the latter case, the address is used only temporarily, the original setup of the board is not changed. Although the size of the Boot PROM is 16k only, the HW implementation of the addressing logic requires that the binary image of the Boot PROM code must be copied into two successive 16k blocks on the PROM. Because of this, the Flash Utility sets the size of the PROM Size temporarily as 32Kbyte when programming or calculating the checksum of the Flash PROM. If only verifying or erasing the contents of the Flash PROM is concerned (/V- or /EO-options), then the original Boot PROM Size 16k can be used. NOTE! Because of the requirement of 32k size, the PROM Address must be set 32k aligned, either (C000), C800, D000 or D800. There must be a continuous 32Kbyte memory range available beginning from that address. 1.5.2 Reprogramming The Setup EEPROM Independently of the original setting of the Boot PROM Address in the Setup EEPROM (the Boot PROM may be even disabled), the Flash Utility changes it temporarily, according to the requirements of the selected operation: 1. Save the original Setup EEPROM Byte Map (optionally save it also to a back-up file). 2. Reprogram the Boot PROM related PnP Registers in the Setup EEPROM Byte Map and reload the new configuration to the PCnet device. 3. Complete the selected Flash operation (programming, erasing or whatever selected). 4. After completing the selected operation, restore the original Setup EEPROM Byte Map. Optionally, the original Setup EEPROM Byte Map can be saved (for error recovery) into a file (default EEPROM.BAK). If the file already exists, the Flash Utility asks for permission to overwrite it. If not enabled, the operation is cancelled. You may then rename the file and try again. NOTE: The backup may be activated by the option "/BU[file]", where file is the name of the backup file (if not the default EEPROM.BAK). 1.6 Flash Utility Operations In all the following operations it is possible to add the "/ROM" or "/ROMaddr" option to define the temporarily used Boot PROM Address. 1. If you will define the used Boot PROM Address explicitly, type for example: FLASH /ROMd800 2. If you will let the Flash Utility to select the used Boot PROM Address, type: FLASH /ROM 1.6.1 Programming The Flash PROM The typical use of the Flash Utility is to (re)program the contents of the Boot PROM. To program the Flash PROM with the default Boot PROM Image, just type: FLASH After started, the program outputs the configuration of the board, and the operations it is doing, as: ICL EtherTeam PCI/ISA Flash Utility v1.11 (960223) PCnet ISA II Adapter Configuration: I/O Address = 02A0 ROM Address = D800 ROM Size = 32k Erasing Flash PROM, Wait... Programming Flash PROM, Wait... Comparing Flash PROM, Wait... Calculating CheckSum Of Flash PROM, Wait... Flash PROM Ok, Checksum = 002F6200 Succesfully Completed If the Flash Utility will reprogram the Setup EEPROM, the backup of the Setup EEPROM was defined (/BU-option), and the backup file EEPROM.BAK exists, the following is output before completing the operation: EEPROM.BAK Exists, Overwrite? (y/n) If the used Boot PROM Image is other than the default NETROM.BIN, define the corresponding file name as an option, for example: FLASH /FInetrom.new 1.6.2 Verifying The Contents Of The Flash PROM It is also possible to check that the current contents of the Flash PROM matches with the given Image File (NETROM.BIN as default). To verify the contents of the Flash PROM, just type: FLASH /V After started, the program outputs the configuration of the board, and the operations it is doing, as: ICL EtherTeam PCI/ISA Flash Utility v1.11 (960223) PCnet ISA II Adapter Configuration: I/O Address = 0300 ROM Address = DC00 ROM Size = 16k Comparing Flash PROM To NETROM.BIN Flash PROM Equals To NETROM.BIN Succesfully Completed 1.6.3 Verifying The CheckSum Of The Flash PROM It is also possible to check if the current CheckSum of the Flash PROM matches with a known value. To calculate the checksum, just type: FLASH /CHK After started, the program outputs the configuration of the board, and the operations it is doing, as: ICL EtherTeam PCI/ISA Flash Utility v1.11 (960223) PCnet ISA II Adapter Configuration: I/O Address = 0300 ROM Address = DC00 ROM Size = 32k Calculating CheckSum Of Flash PROM, Wait... Flash PROM Ok, Checksum = 002F6200 Succesfully Completed 1.6.4 Erasing The Contents Of The Flash PROM It is also possible to erase the contents of the Flash PROM. To erase the Flash PROM, just type: FLASH /EO After started, the program outputs the configuration of the board, and the operations it is doing, as: ICL EtherTeam PCI/ISA Flash Utility v1.11 (960223) PCnet ISA II Adapter Configuration: I/O Address = 0300 ROM Address = DC00 ROM Size = 16k Erasing Flash PROM, Wait... Succesfully Completed 1.7 Error Conditions If some error is detected during the operation, the corresponding error message is output and the operatio is terminated, for example: No PCnet Adapter Found No PCnet PCI Flash Support No Boot PROM Address Found Boot PROM Address Not 32k Aligned Boot PROM Size Is Not 16k Boot PROM Image NETROM.BIN Was Not Foud Not Enough Memory To Read NETROM.BIN Size Of NETROM.BIN Does Not Match No PROM Header '55AA' In NETROM.BIN Invalid Checksum In NETROM.BIN Flash PROM Operation Failed Flash PROM Equals To NETROM.BIN Flash PROM Differs From NETROM.BIN Failed To Setup Flash PROM Access Failed To Restore Original Setup CONTENTS 1 ICL ETHERTEAM PCI/ISA FLASH PROGRAM UTILITY .............. 1.1 General ................................................ 1.2 Quick Guide To Program The Flash PROM .................. 1.3 Using The Flash Utility ................................ 1.4 Boot PROM Image File ................................... 1.5 Enabling Boot PROM Address ............................. 1.5.1 Boot PROM Size Required .............................. 1.5.2 Reprogramming The Setup EEPROM ....................... 1.6 Flash Utility Operations ............................... 1.6.1 Programming The Flash PROM ........................... 1.6.2 Verifying The Contents Of The Flash PROM ............. 1.6.3 Verifying The CheckSum Of The Flash PROM ............. 1.6.4 Erasing The Contents Of The Flash PROM ............... 1.7 Error Conditions .......................................