pSOSystem Network Interface Driver for Crystal Semiconductor CS8900 ******************************************************************* This readme file describes how to install and configure the pSOSystem network interface driver for the Crystal Semiconductor CS8900 ethernet chip. This readme assumes that you have the following installed and are familiar their use: * pSOSystem/x86 Version 2.1.0 * pRISM IDE/x86 Version 1.2.0 based on Green Hills MULTI Version 1.8.7B The CS8900 network interface driver assumes that the target system contains an Intel 80x86 CPU or equivalent and the target contains a 16-bit ISA bus or equivalent. Installing the CS8900 Network Interface Driver ********************************************** The Crystal Semiconductor CS8900 pSOSystem network interface driver consists of: Two new files: LAN8900.C LAN8900.H Three replacement files: BSP.H BOARD.C ISRSTUBS.386 To install the CS8900 network interface driver in a board support package: 1. Copy the BSP.H file to the board support directory. 2. Copy LAN8900.C, LAN8900.H, BOARD.C, and ISRSTUBS.386 to the board support source code directory. 3. Add the LAN8900.C component to the BSP.BLD project. - From the pRISM command line, go to the board support source code directory. - Enter "multi bsp.bld" - Click the "Add" button and select the LAN8900.C file. 4. Build the board support package to add the CS8900 network interface driver to the board support library (BSP.A). - From the pRISM command line, go to the board support source code directory. - Enter "build bsp.bld" 5. Rebuild any applications which use this BSP as a target. The following modifications were made in the replacement files: BSP.H * Added a define for the "CS8900" lan card model. * Defined the BSP_LANCARD_MODEL to be CS8900. * Added a new section of defines which are specific to the Crystal Semiconductor CS8900 Chip. These defines start with "BSP_CS8900_". BOARD.C * Fixed the Set_Intr_Req() and Enable_Intr_Req() routines as described in the pSOSystem release notes. * Added a new routine, End_of_Intr(), which issues an EOI command based on the specified interrrupt level. ISRSTUBS.386 * Added some conditional assembly statements to the Lan_Stub() routine. If the BSP_LANCARD_MODEL is CS8900, then don't don't issue the End-of-Interrupt (EOI) in Lan_Stub(). The EOI will be issued from the lan_isr() routine based on the configured interrupt level. Configuring the CS8900 Network Interface Driver for pSOSystem ************************************************************* SYS_CONF.H ========== The SYS_CONF.H file is used the configure the pSOSystem as a whole and resides the application source code directory. The SYS_CONF.H file must contain the following definitions: #define SD_LAN1 YES #define SD_LAN1_IP 0x5A000001 #define SD_LAN1_SUBNET_MASK 0xFF000000 SD_LAN1 must be set to YES. SD_LAN1_IP must contain a valid IP address. The value shown above is just an example. SD_LAN1_IP must be unique for each node on the LAN. SD_LAN1_SUBNET_MASK must contain a mask that matches the IP address. SC_LAN1_BUFFS is not used by the CS8900 network interface driver. BSP.H ===== The BSP.H file is used to configure a board support package and resides in the board support package directory. LAN Interfaces Section ---------------------- The LAN Interfaces section of the BSP.H file must contain the following definitions: #define BSP_LAN1 YES #define BSP_LAN1_MTU 1500 #define BSP_LAN1_HWALEN 6 #define BSP_LAN1_FLAGS 0x2000+0x1 If the CS8900 network interface driver will be used by pROBE to debug startup code, then set BSP_LAN1_FLAGS to "0x8000+0x2000+0x1". This will enable the network interface driver to work in polling mode. BSP_LAN1_BUFFS_MIN and BSP_LAN1_BUFFS_MAX are not used by the CS8900 network interface driver. LAN Ethercard section --------------------- The LAN Ethercard section of the BSP.H file must contain the following definition: #define BSP_LANCARD_MODEL CS8900 The CS8900 network interface driver does not use any of the other definitions in the LAN Ethercard section. Crystal Semiconductor CS8900 Ethernet Chip section -------------------------------------------------- The BSP.H file must contain a section called "Crystal Semiconductor CS8900 Ethernet Chip". This section contains definitions which are specific to the CS8900 chip. The CS8900 chip may or may not have a EEPROM attached. The EEPROM is used as non-volatile storage for the CS8900 configuration. If the CS8900 chip has a EEPROM attached, then BSP_CS8900_IO_BASE must match the IO base address configured in the reset block of the EEPROM. This is true even if BSP_CS8900_EEPROM is set to NO. If the CS8900 chip does not have a EEPROM attached, then BSP_CS8900_IO_BASE must be set to 0x300; If the CS8900 chip has a EEPROM attached and you want the CS8900 network interface driver to configure the CS8900 chip using the information in the EEPROM, then set BSP_CS8900_EEPROM to YES. The CS8900 network interface driver will ignore all other definitions in the "Crystal Semiconductor CS8900 Ethernet Chip" section (except for BSP_CS8900_IO_BASE). The CS8900 network interface driver will configure the CS8900 chip using information from the EEPROM. If the CS8900 chip does not have a EEPROM attached or if you want the CS8900 network interface driver to ignore the configuration information in the EEPROM, then set BSP_CS8900_EEPROM to NO. The CS8900 network interface driver will use ALL the definitions in the "Crystal Semiconductor CS8900 Ethernet Chip" section to configure the CS8900 chip. BSP_CS8900_IND_ADDR defines a string which contains the individual address of this node on the LAN. The individual address may also be called the node address or the hardware address. The individual address consists of a sequence of six bytes. These six bytes are listed in the BSP_CS8900_IND_ADDR string with two hexidecimal digits per byte. The bytes may be seperated by colon characters to improve readability. The left most byte in the string is the first byte to be transmitted. Each node on the LAN must have a unique individual address. The "Crystal Semiconductor CS8900 Ethernet Chip" section follows: /*=====================================================================*/ /* */ /* Crystal Semiconductor CS8900 Ethernet Chip */ /* */ /*=====================================================================*/ /* The following 5 definitions must not be changed */ #define TEN_BASE_T 1 /* Media is 10BaseT twisted pair */ #define AUI 2 /* Media is AUI */ #define TEN_BASE_2 3 /* Media is 10Base2 (BNC) */ #define LOW 0 /* DC/DC converter has low enable */ #define HIGH 1 /* DC/DC converter has high enable */ /* Required definitions */ #define BSP_CS8900_IO_BASE 0x300 /* Base address of IO ports */ #define BSP_CS8900_EEPROM YES /* Get config from EEPROM? */ /* The following definitions will only be used if BSP_CS8900_EEPROM is NO */ #define BSP_CS8900_IRQ 5 /* Interrupt request level */ #define BSP_CS8900_MEM_MODE YES /* Use memory mode? */ #define BSP_CS8900_MEM_BASE 0xCD000 /* Base address of PacketPage */ #define BSP_CS8900_USE_SA YES /* Use SA to qualify MEMCS16? */ #define BSP_CS8900_IOCHRDY YES /* Use IOCHRDY to slow access? */ #define BSP_CS8900_MEDIA_TYPE TEN_BASE_T /* Media type */ #define BSP_CS8900_DCDC_POL LOW /* DC/DC converter "enable" polarity */ #define BSP_CS8900_FDX NO /* Is 10BaseT full duplex? */ #define BSP_CS8900_IND_ADDR "00:24:20:10:FF:41" /* Individual address */ For more detailed information about the meaning and use of the above definitions, see the "CS8900 Highly-Integrated ISA Ethernet Controller" data sheet and the "CS8900 Ethernet Controller Technical Reference Manual" from Crystal Semiconductor.Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.