Home
PLX PCI HOST SDK
Contents
1. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Read from or FLASH EEPROM Reserved Write to Programming Programming Memory 3 Bit Field Description Specifies whether operation is supported 0 0 Not supported 1 Supported 2 1 Reserved Example 5 10 PCI Host SDK User s Manual v3 1 PLX Technology Inc All rights Reserved Back End Monitor Section 5 IOP Software Architecture 0x2080 Memory R W No FLASH programming EEPROM programming RO AO 100 So 1301 Os ECC ET EC CCE 50 0 P20 ECS EC 2 BEM responds to the inquiry posed by PLXMon BEM will respond to the PLXMon inquiry with the following info between the consequent two items in the bolded block lt REPLY_HEADER gt Version Information PixAddressLow PixAddressHigh PIxChipType Capabilities rmation separated by a space char EEPROMType FLASHType FlashAddressLow FlashAddressHigh BufferAddressLow BufferAddressHigh BufferSize FlashBufferAddressLow FlashBufferAddressHigh FlashBufferSize lt CR gt For example D Note An ASCII string from EEPROM_TYE Note An ASCII string from FLASH_ TYPE E defined in P1xTypes h defined in P1xTypes h Version Information 3000000 Major 3 Minor 0 RevO 32 bit data and address PlxAddressLow 20000000 PlxAddressHigh 0 PlxChipType IOP 480 Capabilities 2480 All programming supported EEPROM EEPROMType String
2. All Available Memory FLASH SRAM DRAM Figure 5 2 Diagram of the IOP Memory Usage 5 5 2 MiniBSP Application Only the Host software is included in the Host SDK The description of IOP software included here is intended to help the user understand how the pieces fit together The IOP software is included only in the Pro SDK For further details please see the Pro SDK documentation MiniBSP is included in the PCI SDK to provide a good starting point for users who have an untested board Therefore it is limited in features and functionality It provides bare minimum boot up code for the Reference Design Boards This application configures the microprocessor the PLX chip and proceeds to blink the LED that is connected to one of the PLX chip s USER pins if exists To use the MiniBSP application program the binary image into the FLASH using a FLASH chip programmer Once the FLASH is programmed reboot the Reference Design Board and if the LED blinks then the MiniBSP application configured the Reference Design Board properly If this test is successful the FLASH can be reprogrammed with the PCI SDK Monitor image supplied with the PCI SDK Note The MiniBSP application is provided as a bare bones IOP ROM application useful for confirming the functionality of new Reference Design Boards It does not contain any PCI SDK features that are described in the PCI SDK manuals PCI Host SDK User s Manual v3 1 5
3. IOP Image File RomApp bin IOP API Board Support Back End iti Package Monitor ficfor W Nr Ai oan RO a Specific for BSP BEM lt each solution IOP Applications Figure 3 1 The PCI SDK Software Architecture provides a response where appropriate to the PCI API DLL The status of the API call is returned to the calling application Only the Host software is included in the Host SDK The description of IOP software included here is intended to help the user understand how the pieces fit together The IOP software is included only in the Pro SDK For further details please see the SDK Pro documentation The IOP software contains three modules excluding the IOP application the IOP API library the Board Support Package BSP and the Back End Monitor BEM The IOP API is designed specifically for each PLX chip or for a combination of PLX chips on one RDK board The IOP API can be customized to run on any RDK board by modifying the Board Support Package IOP debugging can be performed with PLXMon by including the Back End Monitor into the IOP application PCI Host SDK User s Manual v3 1 3 2 PLX Technology Inc All rights Reserved Section 3 Assumptions PCI SDK Software Architecture Overview 3 3 Assumptions This section discusses some assumptions made in the design of the PCI SDK 3 3 1 PCI SDK Assumptions The assumptions for the PCI SDK are as follow
4. The IOP software architecture is separated into four modules being e The Board Support Package BSP e The IOP API library e The Back End Monitor BEM and e The IOP application software user application modules The IOP software architecture is shown in IOP Image File RomApp bin User Applications BSP IOP API Board Initialization Module DMA Resource DEE Manager uP Initialization Module Back End Monitor BEM PLXMon 99 Figure 5 1 IOP Software Architecture PCI Host SDK User s Manual v3 1 5 1 PLX Technology Inc All rights Reserved Section 5 IOP Software Architecture 5 1 Board Support Package BSP The Board Support Package BSP included in the Pro SDK contains all the information needed by the IOP API that is specific to the board This module provides the necessary entry points needed to port the PCI SDK to new platforms For complete details of the IOP BSP please see the IOP software documentation included in the Pro SDK 5 2 IOP API Library The IOP API library contains the code for all the documented API functions This code is standard for all IOP applications and is independent of the board configuration The code directly calls the PLX chip no intermediary functions 5 2 PCI Host SDK User s Manual v3 1 PLX Technology Inc All rights Reserved Section 5 Back End Monitor IOP Software Architecture
5. 4 Description of your intended design PLX chip used Microprocessor Local Operating System and version if any UO 5 Description of your problem and 6 Steps to recreate the problem You may contact PLX customer support at Address PLX Technology Inc Atin Technical Support 390 Potrero Avenue Sunnyvale CA 94086 Phone 408 774 9060 Fax 408 774 2169 Web http www plxtech com You may send email to one of the following addresses west apps plxtech com mid apps plxtech com east appstplxtech com euro apps plxtech com PCI Host SDK User s Manual v3 1 1 4 PLX Technology Inc All rights Reserved asia apps plxtech com 2 Getting Started 2 1 PCI SDK Compatibility Due to interaction between host and IOP software components it is recommended that major software versions are the same on the host and the IOP PLXMon for example does not support serial connections to devices running a BEM version previous to 3 0 Also structures and API calls typically change between SDK version releases However Host SDK 3 1 is fully compatible with IOP software from PCI SDK 3 0 PLX RDKs will contain the proper IOP software version to match the SDK version at the time of shipment however if the PCI SDK is purchased as an upgrade and intended for use with an earlier PLX RDK board the RDK s FLASH code should be upgraded to the current version This is necessary to ensure that nothing unpredictable occurs due to
6. 5 3 Back End Monitor Only the Host software is included in the Host SDK The description of IOP software included here is intended to help the user understand how the pieces fit together In particular this section is included to clarify the interaction of the Host application PLXMon with the IOP BEM The IOP software including the BEM is included only in the Pro SDK For further details please see the Pro SDK documentation The Back End Monitor BEM provides features that help debugging IOP applications The BEM allows the host application PLXMon to send commands to the IOP application using a serial connection to a RDK board The Back End Monitor supports several commands including reading from and writing to IOP memory locations these commands support different data sizes resetting the IOP software reading from or writing to the EEPROM connected to the PLX chip and reprogramming the on board FLASH if supported etc These commands provide a generic interface for an IOP application PLXMon uses this monitor to retrieve data from the IOP In normal operation the BEM accesses the UART Services functions to get a stream of data that has been received by the UART chip The monitor extracts commands that the monitor recognizes from the data stream performs the necessary action and provides an appropriate response The monitor provides the filtered data stream to the next task requiring serial data in the daisy chain if the data is not des
7. e g Eeprom93CS66 FLASHType String e g AT49LV040 FlashAddressLow FFF80000 FlashAddressHigh 0 BufferAddressLow 10000 BufferAddressHigh 0 BufferSize 100 FlashBufferAddressLow 10000000 FlashBufferAddressHigh 0 FlashBufferSize 80000 IOP 480 BEM would respond with the following data lt REPLY_HEADER gt 3010000 20000000 D 480 FFF80000 0 10000 0 100 10000000 0 80000 lt CR gt 2480 FLASH Memory R W Eeprom93CS66 AT49LV040 PCI Host SDK User s Manual v3 1 PLX Technology Inc All rights Reserved 5 11 Section 5 IOP Software Architecture Back End Monitor e FLASH Programming Because of serial mode communication properties the host has to write the data either for EEPROM or FLASH programming into the local memory first and it then informs the local CPU to program either EEPROM or FLASH That s the reason why buffers are provided Query the local CPU for the data structure mentioned above If the Capabilities bits indicate the BEM supports FLASH programming then continue Write IOP_SERIAL_FLASH_PROTOCOL to the MailBox 6 and write the starting FLASH offset to program at to the MailBox 7 and write the FLASH image size to the MailBox 5 Finally the host resets the local CPU When the local CPU is reset it checks MailBox 6 for the IOP_SERIAL_ FLASH PROTOCOL If the MailBox 6 contains IOP_SERIAL_FLASH_PROTOCOL then the local CPU initializes and begins to receive FLASH image data t
8. p BEM Command Command Specific Info Table 5 1 BEM Commands e BEM Definition Command Reset the IOP board Query the information for the board AS Read a 8 bit data from IOP local memory Read a 16 bit data from IOP local memory Read a 32 bit data from IOP local memory Read a 64 bit data from IOP local memory Read from EEPROM into the EEPROM data buffer Read multiple 8 bit data from IOP local memory Read multiple 16 bit data from IOP local memory Read multiple 32 bit data from IOP local memory Read multiple 64 bit data from IOP local memory Read from IOP 480 or 401B CPU register N O O 5 3 T TO Write a 8 bit data to IOP local memory Write a 16 bit data to IOP local memory Write a 32 bit data to IOP local memory Write a 64 bit data to IOP local memory Write from the EEPROM data buffer into the EEPROM Write multiple 8 bit data to IOP local memory Write multiple 16 bit data to IOP local memory Write multiple 32 bit data to IOP local memory Write multiple 64 bit data to IOP local memory Write to IOP 480 or 401B CPU register NIVIOIZIZI NISI TITIO 5 3 3 BEM Reply Format Reply Format ___1 Byte Extra Bytes lt CR gt REPLY HEADER 0x1 Data or message returned Message Symbols Reply Success Reply Error PCI Host SDK User s Manual v3 1 5 5 PLX Technology Inc All r
9. 5 0 and the Microsoft Platform Software Development Kit The WinNT device drivers were developed using the Microsoft Windows NT DDK version 4 0 and Microsoft Visual C 5 0 The Windows Driver Model WDM device drivers were developed using the Microsoft Windows 2000 DDK and Microsoft Visual C 5 0 2 3 4 Windows Software Installation Note All previous PCI SDK versions prior to 3 0 should be removed before installing a newer version of the PCI SDK However this Host SDK 3 1 is compatible with the IOP portion of the PCI SDK 3 0 therefore that SDK does not need to be uninstalled if you plan to use the IOP software features Refer to section B 1 for more details To install the PCI SDK Software package complete the following 1 Insert the CD ROM into the appropriate CD ROM drive 2 Follow the instructions in the HTML page which should automatically load If this does not load use Windows Explorer or the Run option from the menu to execute Setup exe which is located on the installation CD ROM 3 Follow the prompts to complete the SDK installation 4 Reboot the computer after the installation Note For proper WinNT installation a user with Administrator user rights should install the PCI SDK 2 3 4 1 Windows NT Device Driver Installation The Windows NT installation wizard takes care of the device driver installation PCI Host SDK User s Manual v3 1 2 2 PLX Technology Inc All rights Reserved Section 2 P
10. Board the device driver can only see the one that is directly connected to the PCI bus on which the Windows system is running All PCI API functions will access this PLX chip only PCI Host SDK User s Manual v3 1 4 2 PLX Technology Inc All rights Reserved Module 9080 Services PCI API PCI 9080 PCI 9054 IOP 480 Future PLX Driver Driver Driver Driver 9080 Driver 9054 Driver 480 Driver Module Module Module Driver Module 9054 Services Module 480 Services Module Services Module PCI PCI 9080 9054 IOP Chip Ile Figure 4 2 The PLX Driver Layout 4 3 1 PLX Chip Device Driver Module This module provides the management of the PLX chip based PCI boards in Windows This management includes storing device specific information processing PCI API and system messages handling interrupts and allocating resources for each board Some non PLX specific functionality is handled in this module such as reading from and writing to PCI configuration registers 4 3 2 PLX Chip Services Module This module contains the chip specific API implementation in the device driver 4 4 Creating A New Driver This section briefly covers how a new device driver can be created using the existing device driver as a template When a new PLX chip Services Module which provides the real functionality for the device driver is updated to support a new PLX chi
11. Cap Forte mg neuer Halsey Eau CH eeng re EGP Peace cen ura Fea Consumed E 00000000 un Disapa Fei GG Hot engt Ed oan Local Registers Gaul von Ee ron 0 mme mt woen Dm eg ml ron CIE 00h con iE DH DO He oo 164 00000000 Et FEH M 10480 Clock Fasquency Clock Frequency MHz pn ees Chen Del re el EEPROM Deet DT EH WM oe 501 0000000 GR Bhi 000000 chi 10000000 git 0007310 Hore gt gt wl CES Dal Gran FN KU PT cocon ET Co EE mo ET cocon fs mon Deeg Geo wl wot get om el cou CR FEFODODO Bij LEE lirs gel memur CE ET 00011404 ET om Eet vo ca CN icon o m como all zl E C Ham to PO Configuration Add and PO Deet hors Base Addr Figure 7 1 Configuration EEPROM Settings for the IOP 480RDK 7 2 PCI Host SDK User s Manual v3 1 PLX Technology Inc All rights Reserved Section 6 PCI 9054RDK 860 RDK Software Quick Reference 7 3 PCI 9054RDK 860 The table below describes the memory requirements of the PCI SDK for the PCI 9054RDK 860 Table 7 2 Basic Information About PCI 9054RDK 860 PCI 9054RDK 860 0x0000 0000 gt 0xO1FF FFFF 32NE FLASH Type AT49LV040 default as shipped Pee AM29F040 also supported in software OxFFFO 0000 gt OxFFF7 FFFF 512KB FLASH Image Offset at which to 0x0000 0000 Memory space used by ROM code 0x0000 0000 gt 0x0003 FFFF emory space used by RAM cod
12. PCI Host SDK User s Manual v3 1 ii PLX Technology Inc All rights Reserved Contents PCI Host SDK User s Manual v3 1 iii PLX Technology Inc All rights Reserved List of Figures PCI Host SDK User s Manual v3 1 1 1 PLX Technology Inc All rights Reserved Section 1 General Information Customer Support List of Tables Table 5 1 BEM Commands able 7 1 Basic Information About IOP 480RDK able 7 2 Basic Information About PCI 9054RDK 860 able 7 3 Basic Information About CompactPCl 9054RDK 860 able 7 4 Basic Information About PCI 980RDK 401B able 7 5 Basic Information About PCI 9080RDK 860 PCI Host SDK User s Manual v3 1 1 2 O PLX Technology Inc All rights Reserved 1 General Information PLX Technology offers PCI bus interface chips that address a range of adapter and embedded system applications Our PCI chips work well with a variety of CPUs and embedded controllers including the IBM PowerPC 40x family Motorola MPC860 850 and 68360 as well as the PowerPC 60x family Analog Devices Sharc various Texas Instruments DSPs the Intel i960 family Hitachi SuperH family IDT MIPS and others If the design does not require a microprocessor our chips are easily configured to run without the aid of a CPU PLX provides Software Development Kits SDK Reference Design Kits RDK and Hardware Design Kits HDK that facilitate your PCI design development 1 1 About This Manual This manu
13. Reserved
14. WFETER Los Wer Dpieeo Hap Date f 5 12 99 10120 AM Paanan 061233 10 13 05 AM Posteo 06 12 89 1013034M Ponsa 00 12 29 10 13 07 AM Pci9054 64 1001258 54 RE 06 12 99 1012584M lop4 e H Figure 2 5 The Detailed Event Window 2 5 1 2 3 Registry Configuration Every Windows NT device driver requires an entry in the registry The registry contains lots of information used by the operating system as well as information used by the PLX device driver if necessary The name in the registry for the PLX PCI SDK device driver will be the same as the driver name For instance the Pci9080 sys device driver has a Pci9080 registry item as shown in Figure 2 6 Registry Information for PCI Goso Deves Diver Wada NDI Al date iver aie due under le LocalMachine System CurrentControlSet Services tree PCI Host SDK User s Manual v3 1 2 13 PLX Technology Inc All rights Reserved Section 2 Getting Started Understanding The PCI SDK Reg Edibor N E LOCAL MACHINE on Local Machine Stan TPES DWORD Dx SupportediDs REG_SZ 90901065 04011085 08601085 77091085 Type REG_DWORD Dei ka Kei Figure 2 6 Registry Information for PCI 9080 Device Driver Windows NT The figures below show the required registry settings for the PCI SDK device drivers The values displayed in the figures may be different from those in your system after you use the PCI SDK package These figures are shown here to demonstrate the registry
15. either modify the interrupt trigger service routines or modify the main ISR The Back End Monitor relies on the UART to send and receive data from the serial port Modify the UART code to support the UART on the board To initialize the PLX chip modify the parameters for the IOP API initialization functions contained within the board initialization routine Within the BSP there is some control parameters for the IOP API and the Back End Monitor that can be modified to improve performance of the PCI SDK These parameters are platform and application dependent and can affect the operation of the application differently on different systems 5 7 Support For Multiple PLX chips On One Board Each PLX chip has its own IOP API library When two or more chips are present on one Reference Design Board a new IOP API library must be created This library will contain the normal API functions defined in this document and some new or modified functions that represent new features made available by combining the features of the multiple chips Some multiple chip libraries will be available for the more popular implementations however it will be up to the designer to create his her own library for multi chip combinations not currently supported 5 16 PCI Host SDK User s Manual v3 1 PLX Technology Inc All rights Reserved 6 Real Time Operating System Support 6 1 General Information The PCI Host SDK contains software for a Windows host to ac
16. entries used by PCI SDK E Registry Editor HKEY LOCAL MACHINE on Local Machine E Registry Edit Tree View Security Options ErrorControl REG_DWORD 0x1 EventLogLevel REG_DWORD 0x2 MaxPciBus REG_DWORD 0x3 MaxSglTransferSize REG_DWORD 0x100000 Start REG_DWORD 0x4 SupportediDs REG_SZ 90541085 18601065 C86010B5 Type REG_DWORD 0x1 E Registry Editor HKEY_LOCAL_ MACHINE on Local Machine ErrorControl REG_DWORD 0x1 EventLogLevel REG_DW ORD 0x2 MaxPciBus REG_DWYORD 0x3 MaxSglTransferSize REG_DWORD 0x1 00000 Start REG_DWORD 0x4 SupportediDs REG_S2 480 Type REG_DWORD 0x1 LanmanServer gt Figure 2 8 Registry Informaion for IOP 480 Device Driver Windows NT Note Only advanced users with administrative rights should use the registry editor to modify entries It is recommended that you NOT change any values contained in the registry The registry entries for each of the PLX device drivers are listed as follows PCI Host SDK User s Manual v3 1 2 14 PLX Technology Inc All rights Reserved Section 2 Understanding The PCI SDK Getting Started e CommonBufferSize This value sets the size of the user buffer the hbuf in PLXMon Its default value is set to 64KB Warning First the device driver makes a request to the operating system for a buffer with the size indicated by this registry entr
17. option in order to maintain Power Management capabilities PCI Host SDK User s Manual v3 1 2 17 PLX Technology Inc All rights Reserved Section 2 Getting Started Using The PCI SDK With A New Board 2 5 2 IOP Software IOP software is part of the local or IOP portion of our SDK offerings These are included in the SDK Pro See the SDK Pro documentation for details 2 6 Using The PCI SDK With A New Board The following steps can be used as a guide on how to use the PCI SDK with a new board 3 Program the desired Vendor and Device IDs into the configuration EEPROM 4 If using Windows NT you will need to add the new Vendor and Device IDs to the Supported Device List To add support for new IDs use the Device Driver Wizard utility see section P 5 1 2 4 If using Windows 98 or Windows 2000 you should consult section P for driver installation PLXMon can now access the board s configuration EEPROM Using PLXMon s EEPROM Configuration window customize the EEPROM settings for the new board and reboot the system for the changes to take effect 7 Try accessing IOP memory by using the Direct Slave memory accesses to the board This means the memory controller for the IOP memory has been set up and the PLX device has been initialized 8 For boards with an IOP CPU a MiniBSP is provided for minimal local side initialization and board boot up If you intend to use Serial Mode communication with PLXMon the board must suppo
18. release version of the API is used e BSP Module this module contains all board specific code including the IOP bus memory map the board and microprocessor initialization routines and the interrupt service routine for the PLX chip e Back End Monitor this module provides a monitor for debugging IOP applications which supports PLXMon through the serial port and e IOP Applications this module contains the main application for the board and the IOP PCI Host SDK User s Manual v3 1 3 1 PLX Technology Inc All rights Reserved Section 3 PCI SDK Software Architecture Overview Software Architecture 3 2 Software Architecture The PCI SDK is separated into two distinct sets of software the IOP software that runs on the board and the PCI software that runs on the Windows host system as shown in Figure 3 1 Each API contains distinct function calls that emphasize the features of the PLX chip Some function calls look and react similarly in both APs but may have different parameter lists The PCI Host software consists of two primary components being the PCI API Dynamic Link Library DLL and the Windows Device Driver PCI applications make calls to the PCI API DLL where they are translated into the appropriate device driver calls The device driver performs the requested action and PLXMon i Serial Communications PCI Communications 4 Using PCI API Library and HOST PLX Device Drivers i y PCI Bus RS 232 IOP
19. the installation Add New Hardware Wizard oD Custom OEM PCI 9054 Board Windows has finished installing the software you selected that your new hardware device requires e f the device appears under Other devices the installation was successful The PCI API and PLXMon may now be used to access the device System Properties RAEI General Device Manager Hardware Profiles Performance View devices by type View devices by connection Y CDROM amp Disk drives Display adapters 2 Floppy disk controllers amp Hard disk controllers F Keyboard 23 Modem S Monitors Y Mouse 9 Network adapters q Other devices d Custom OEM PCI 9054 Board A Ports COM amp LPT BR System devices OH Properties Refresh Remove Print Note If the device ID changes or the board is physically moved to a different PCI slot Windows will recognize it as a completely new device and the process must be repeated PCI Host SDK User s Manual v3 1 2 9 PLX Technology Inc All rights Reserved Section 2 Getting Started Troubleshooting 2 4 Troubleshooting You may experience difficulties using the PCI SDK with Windows NT with low memory and multiple PLX RDK boards If you notice that one of your RDK boards is not being assigned the proper memory resources by the PCI BIOS e g no address provided to the Local Space
20. 0 address it is most likely due to a common memory problem with WinNT It is recommended that users increase the amount of available system pages in their System Registry by following the steps below 1 From a command prompt type regedt32 This will bring up the Registry Editor window This editor looks similar to the Windows Explorer application Select the HKEY_LOCAL_MACHINE on Local Machine window from within the Registry Editor Open the SYSTEM folder From the SYSTEM folder open the CurrentControlSet folder From the CurrentControlSet folder open the Control folder From the Control folder open the Session Manager folder From the Session Manager folder open the Memory Management folder o NOOR oh From the Memory Management folder change the value of the SystemPages key from 0x0 to 0x13880 If problems persist please contact Customer Support 2 4 1 Driver Interrupt Sharing The PCI SDK device drivers support PCI interrupt sharing This allows PLX devices to share the same interrupt line as other devices However in order to share interrupts with non PLX devices the device driver for the non PLX device must also support sharing Because many device drivers do not support interrupt sharing the PCI SDK can only be guaranteed to function properly with other PLX devices In PCI systems the BIOS often assigns the same interrupt to multiple devices however the respective device drivers must support these s
21. 15 PLX Technology Inc All rights Reserved Section 5 IOP Software Architecture IOP Applications 5 6 Porting The PCI SDK To New Platforms Only the Host software is included in the Host SDK The description of IOP software included here is intended to help the user understand how the pieces fit together The IOP software including the BSP is included only in the Pro SDK For further details please see the Pro SDK documentation All information needed to port the PCI SDK to new platforms is contained within the BSP module which is included in the Pro SDK Some of the information contained within the BSP includes The memory map of the IOP bus The microprocessor boot code The PLX chip interrupt service routine The UART interrupt service routine or the polling mechanism for retrieving data from UART The board initialization routine and The board and or application specific controls for the IOP API and the Back End Monitor The IOP API and the Back End Monitor need to know where certain devices are located on the IOP bus such as the PLX chip DRAM SRAM and the UART These values need to be updated when creating an application for new boards When the microprocessor is changed on a board the microprocessor boot code must be modified to support the new microprocessor This boot code is provided within the BSP module Most interrupt service routines are customized to the application To customize the PCI ISR for an application
22. 2 things 1 The PlxApi dil file installed in the system wide path 2 PLX Windows device driver s installed properly and started It is legal to distribute PIXApi dll and device driver files i e Pci9080 sys however it is ILLEGAL to distribute the entire PCI SDK without proper authorization from PLX Customers must choose their own installation methods such as using InstallShield software to create installation disks so that the device driver s and the DLL file can be correctly installed to their designated locations 4 6 1 Installation of PIxApi dll File PIxApi dll should be installed to e lt Windows_Dir gt System directory in Windows 98 e lt Windows_Dir gt System32 directory in Windows NT 2000 4 6 2 Installation of PLX Device Driver The installation of a device driver involves the following steps e Copy relevant files to their proper destination locations e For Windows NT setup the required registry entries Refer to section P 5 1 2 3 for registry entry descriptions 4 6 2 1 Installation of PLX Device Drivers On Windows NT 1 Copy the device driver file e g Pci9054 sys or Pci9030 sys to lt Windows_Dir gt System32 Drivers The device driver files are located in lt Sdk Install Dir gt Win32 Driver WinNT lt Driver_Name gt Driver i386 Free 2 Add the following registry entries Under HKEY_LOCAL_MACHINE System CurrentControlSet Services add e Services lt Driver_Name gt CommonBufferSize 65536
23. Address Memory space recommend for user s 0x0008 0000 gt OxO1FF FFFF 31 5MB 7 4 PCI Host SDK User s Manual v3 1 PLX Technology Inc All rights Reserved Section 6 PCI 9080RDK 401B RDK Software Quick Reference Users who have upgraded the PCI SDK and intend to use it with an existing PLX RDK must first reprogram the configuration EEPROM connected to the PLX chip Skipping this step can cause unpredictable behavior of the PCI SDK If you have purchased the PCI SDK with a PLX RDK then there is no need to upgrade the EEPROM because it was programmed at the factory before shipping The following diagram shows the default settings for the RDK Dipang 430556 EEPROM values Ala ES PC Confquestion Regiis Device IC OO CG wendeg w 1085 Hol Swap Control W concu ne Siban BONY SE Sub Verde pe Pio gengt bs IO inem Gel vg Eege DT OT Els Code dream Hals EA 0 Ha Eed mem oo Los Cordiquestion Recess Flange bot PCI to Local Adebess Space 0 El Frac Local Be Aker los Dec Master lo PO Menen DI zm Hessp ka PCI bo Local Adebets Space O pol DEU Local Eo Adchess For Dec Haer to PO DAC ithil P Los Arbitration A egesher Ken ina Al PO Bee decide Flerespi do Diso Master bo PO ae CE er Endeo Misc ED Bounda Flegisher ml MR l PO Geet Addr Deg Lo Dssct Master lo BOCH Gil IK LE Flange ka PCI bo Local E spain AOM nom Don Flange ka PCI pn Local Address Space 146 Erd FFC Remap lor PI bo Local Emparnion BK mef mung
24. Beran lor PCI to Local Adidas Spana 1 ray 2000000 Bus Region Descipia for PCI to Local cres 1051 Gee ac E Local Space In PCI lo Local Greter FE monar E Flange Lo Daer Master to PO gl rroog Funtime Regnier Madh D Urr e n Peni 00000000 Madhon 1 Lire Dekret mol oo Shor Dieu Deg EEPROM Dier Mapping to PCI Configuation Akk and PCI Ont Aen Easa Ac Tha EEPROM kee pou selected in tha Conbgunadion mess MESS Se el sl baal Figure 7 3 Configuration EEPROM Settings for the CompatctPCI 9054RDK 860 7 5 PCI 9080RDK 401B The table below describes the memory requirements of the PCI SDK for the PCI 9080RDK 401B Table 7 4 Basic Information About PCI 9080RDK 401B Teen 0x0000 0000 gt OxOOFF FFFF 16MB 0x1000 0000 gt 0x1007 FFFF 512KB OxFFF8 0000 gt OxFFFF FFFF 512KB FLASH Image Offset at which to 0x0006 0000 If the user has a reprogram the FLASH bigger FLASH image this has to be decreased to proper offset Memory space used by ROM code 0x1000 0000 gt 0x1003 FFFF Memory space used by RAM code PCI 0x1004 0000 gt 0x1007 FFFF SDK Samples Direct Master to PCI memory space 0xB800 0000 gt OxBFFF FFFF 8MB Address IO Direct Master to PCI Address PCI 9080 Register Address 0x2000 0000 gt 0x2000 DIER Memory space recommend for user s 0x0 gt Ox00FF FFFF 16MB use space 0xB000 0000 gt OxB7FF FFFF 8MB PCI Host SDK User s Manual v3 1 7 5 PLX Technology I
25. CI 9030 EEPROM Ex m PCI Configuration Registers M s pol 3001 Vendor ID 02h 1085 PCI Status 04h 0230 Class Code Revision 08h 06800001 Subsystem ID HOH 3030 SubsytemVen ID EN 1085 NewCap_Ptr 12h 0040 Interrupt Line Dal 00000100 PM Cap 16h 48014801 PMCS fh 00000000 HotSwap 20h 0000406 YPD_Next Cep Pr 24h 00000003 m Local Configuration Registers Bangeforso 28h FFFFEOOO 1 DCH oooo0000 s2 Gol oooooooo sa al 00000000 ROM 38hj 00000000 RemapforSO DCH 00000001 1 40h 00000000 52 Dad 00000000 s3 pl 00000000 ROM oul 00100000 Desc forso 50h 00402081 s1 pl 00800000 62 00800000 s ECH 00800000 Rom al 00000000 cso 64f 00001001 Ce ml 00000000 cs2 6Ch 00000000 C53 Gol 00000000 Int c s 74H 00300000 Init Contiol D 00780000 1 0 7Chf 00249000 m Hidden Registers Hidden 1 Power Management Data Select 80h 00000000 Hidden 2 Power Management Data Scale 84h 00000000 Show Offset in Serial EEPROM Offset Mapping to PCI Configuration Addr and PCI Offset from Base Addr Load File File k Cancel Write EEPROM Type NS93CS56 Save As 7 2 IOP 480RDK The table below describes the memory requirements of the PCI SDK for the IOP 480RDK Table 7 1 Basic Information About IOP 480RDK TOP_480RDK EEN OxFFF8 0000 OXFFFF FFFF 0x0006 0000 If the user has a bigger FLASH image this has to be decreased to proper offset 93CS66LEN FLASH Image Off
26. CI SDK Installation Getting Started 2 3 4 2 Windows 98 2000 Device Driver Installation A device driver is necessary for the PCI SDK software to communicate to the PCI boards Windows applications cannot communicate to PCI devices without a device driver installed The PCI SDK includes drivers for all supported PLX PCI chips In Windows 98 2000 however the SDK installation package cannot automatically assign device drivers for PLX devices The Windows Plug n Play Manager is responsible for detecting devices and prompting the user for the correct driver To assign a driver to a device Windows refers to an INF file The INF file provides instructions for Windows as to which driver files to install and which registry entries to insert To install a driver for a board containing a PLX device complete the following steps 1 After installing the PCI SDK successfully see the previous section shutdown the computer 2 Insert the PLX RDK board or your custom board with a PLX device into a free PCI slot 3 Reboot the computer Windows should first detect the new hardware device with a New Hardware Found message box Acknowledge this message box 4 Windows displays the Add New Hardware Wizard which will search for new drivers g it If you are using a PLX RDK board proceed to section 2 3 4 2 1 If you are using a custom board with a PLX device proceed to the section P 3 4 2 2 2 3 4 2 1 Driver Installation for PLX Reference
27. Config At Deg ba Dech Maer PACT GON OO y Flange ka PO to Local Expansion AOM DW mr Flange lo PC o Local Address Space 1 161 Em FF Renan lor PCI ta Local step Dt Fail CON Ferag For PEI do Locales Space 1 al wor Bus Region Desc ptas lor PO do Local secar DR HC al Local Space lor PO la Local Accartes MEN E Flange La Dec blasta io P pol Fr Rina Becker Kafe D Liver Defined Den mmm Madboa 1 Wise Destined DCH me Show Oifset ka C Gaia EEPROM Oika C Mapping io PO Cordiqueston id sr PE Giet irom Essa Sit The EEPROM ipe pou selected in the Configuration mamas HESS CE wel Em Figure 7 2 Configuration EEPROM Settings for the PCI 9054RDK 860 7 4 CompactPCI 9054RDK 860 The table below describes the memory requirements of the PCI SDK for the CompactPCI 9054RDK 860 Table 7 3 Basic Information About CompactPCI 9054RDK 860 CompactPCI S0S4RDK 860 SDRAM Address 0x0000 0000 gt OxO1FF FFFF 32MB SBSRAM Address 0x2000 0000 gt 0x2007 FFFF 512KB FLASH Type AT49LV040 default as shipped AM29F040 also supported in software FLASH Address OxFFFO 0000 gt OxFFF7 FFFF 512KB FLASH Image Offset at which to 0x0000 0000 reprogram the FLASH Memory space used by ROM code 0x0000 0000 gt 0x0003 FFFF Memory space used by RAM code PCI 0x0004 0000 gt 0x0007 FFFF Direct Master to PCI memory space 0x4000 0000 gt 0x40FF FFFF 16MB Address Direct Master to PCI IO space 0x5000 0000 gt Ox50FF FFFF 16MB
28. Design Boards e Once Windows has completed its search the following dialog is displayed Select Search for the best driver for your device Click Next Found New Hardware Wizard Install Hardware Device Drivers Na device driver is a software program that enables a hardware device to work with gt an operating system This wizard will complete the installation for this device ox Other PCI Bridge Device device driver is a software program that makes a hardware device work Windows needs driver files for your new device To locate driver files and complete the installation click Next What do you want the wizard to do Search for a C Display a list of the known drivers for this device so that can choose a specific driver e Select the locations to search for INF the file By default PLX includes the INF file in lt Sdk_Install_Dir gt Win32 Driver Wadm Click Next PCI Host SDK User s Manual v3 1 2 3 PLX Technology Inc All rights Reserved Section 2 Getting Started PCI SDK Installation Found New Hardware Wizard EI Locate Driver Files SS Where do you want Windows to search for driver files gt Search for driver files for the following hardware device oy Other PCI Bridge Device The wizard searches for suitable drivers in its driver database on your computer and in any of the following optional search locations that you specify To start the search click Next If
29. I compatible with all PLX devices and PLX device drivers and e PLXMon a Graphical User Interface GUI application that can be used to monitor and modify PLX chip registers It can also download software to a PLX RDK board and communicate to the software running on the RDK board All Win32 executables included in the PCI SDK are located in lt Sdk_I nstall_Dir gt Bin Furthermore this directory is added to the PATH environment variables when the PCI SDK is installed For more information on PLXMon please refer to the PLXMon User s Manual For information on writing a Win32 application using the PCI API see the PCI Host SDK Programmer s Reference Manual PCI Host SDK User s Manual v3 1 2 11 PLX Technology Inc All rights Reserved Section 2 Getting Started Understanding The PCI SDK 2 5 1 2 Windows NT Device Drivers The PCI SDK includes Windows NT device drivers for each PLX device All device drivers are located in lt Sdk_Install_Dir gt Driver WinNT The naming convention used for the device drivers is Pci lt DeviceType gt sys or lop480 sys For example the device driver for the PCI 9080 device is Pci9080 sys 2 5 1 2 1 Starting And Stopping There may be times when you will need to restart the Windows NT device driver For instance you must restart the device driver after changing the supported device list To restart the Windows NT device driver you should use the Windows NT Control Panel The Control
30. ID and Device ID PLXMon has a hot link to a PCI SDK utility called the Device Driver Wizard which is also in the program menu for the PCI SDK package This utility is used to add or remove vendor and device IDs of the boards from the Supportedlds entry for the appropriate device driver It also lets you enable or disable the desired PLX device driver to start automatically at startup Note Since all PLX device drivers are enabled by default it is recommended that you disable device drivers that will not be used If a 9054 is the only PLX device you intend to use for example using the DriverWizard you may disable PCI9080 PCI9030 and IOP480 drivers The settings will take effect after a reset PCI Host SDK User s Manual v3 1 2 15 O PLX Technology Inc All rights Reserved Section 2 Getting Started Understanding The PCI SDK 2 5 1 3 Windows 98 2000 WDM Device Drivers The PCI SDK includes Windows Driver Model WDM device drivers for Windows 98 2000 All device drivers are located in lt Sdk_Install_Dir gt Driver Wdm The naming convention used for the device drivers is Pci lt DeviceType gt sys or lop480 sys For example the device driver for the PCI 9080 device is named Pci9080 sys Windows NT Driver Wizard for PLX Chips Ed Please select a PL chip Supported Device IDs For PCI 9080 Vendor ID Device ID 10B5 0401 10B5 0860 10B5 9080 10B5 0364 V Enable Device Driver Automatically At Startup Add Devic
31. IOP480_CPU_IND BEM to Host lt REPLY_HEADER gt lt DATA gt lt CR gt Write to IOP 480 CPU or IBM401GF Registers Host to BEM pZ lt IOP480_CPU_IND BEM to Host None EX gt lt CR gt EX gt lt Space gt lt Data gt lt CR gt The IOP 480 CPU Registers are indexed as follows 32 General Purpose Register define CPU480 RO define CPU480 R1 define CPU480 R2 define CPU480_R3 define CPU480_R4 define CPU480_R5 define CPU480_R6 define CPU480 R7 define CPU480_R8 define CPU480_R9 define CPU480_R10 define CPU480 R11 define CPU480 R12 define CPU480_R13 define CPU480 R14 define CPU480_R15 define CPU480_R16 define CPU480 R17 define CPU480_R18 define CPU480_R19 define CPU480 R20 define CPU480 R21 define CPU480 R22 define CPU480 R23 define CPU480 R24 define CPU480 R25 define CPU480 R26 define CPU480 R27 define CPU480 R28 define CPU480 R29 define CPU480_R30 define CPU480_R31 Machine State Register define CPU480 MSR 32 Condition Register OONOOARWN CH define CPU480 CR Special Purpose Registers define CPU480 CDBCR define CPU480_CTR 35 define CPU480 DAC 36 define CPU480 DBCR37 define CPU480_DBSR38 define CPU480 DCCR define CPU480 DCWR define CPU480 DEAR 41 define CPU480 ESR 42 define CPU480_EVPR43 define CPU480 IAC define CPU480_ICCR 45 define CPU480 ICDBDR define CPU480 LR define CPU480 PID define CPU480_P
32. IT define CPU480 PVR 50 define CPU480_SGR 51 define CPU480 SKR 52 define CPU480_SLER 53 define CPU480_SPRGO define CPU480_SPRG1 define CPU480 SPRGR define CPU480_SPRG3 define CPU480_SRRO 58 define CPU480_SRR1 59 define CPU480_SRR2 60 define CPU480_SRR3 61 define CPU480 TBHI 62 define CPU480 TBHU 63 define CPU480 TBLO 64 define CPU480 TBLU 65 define CPU480 TCR 66 define CPU480 TSR 67 define CPU480 XER 68 33 34 39 40 5 8 PCI Host SDK User s Manual v3 1 PLX Technology Inc All rights Reserved Section 5 Back End Monitor IOP Software Architecture define CPU480_ZPR 69 Note Because the General Purpose Registers GPRs of IOP 480 are used constantly by the local CPU it is probably meaningless to read any one of them It is EXTREMLY DANGEROUS to modify IOP 480 CPU registers no matter what registers are GPRs or Special Purpose Registers SPRs unless you have a hardware or software debugger running PCI Host SDK User s Manual v3 1 5 9 PLX Technology Inc All rights Reserved Section 5 IOP Software Architecture Back End Monitor e Query Information About The Board Connected Host to BEM p lt CR gt BEM to Host 1 Interface structure between PLXMon and BEM The following structure is an interface used by the PLXMon and the BEM to pass information from the BEM to the PLXMon The exact information passed from BEM to PLXMon will be described in detail later typedef stru
33. Panel contains a utility called Devices that allows you to start and stop the device driver see Note Before stopping the device driver all PCI SDK applications should be closed Device Status Startup E Disabled Started Automatic Started Automatic Started Automatic Started Automatic System ed Manual i Disabled Hw Profiles PnP 154 Enabler Driver System PPTP Filter Driver Started Automatic K Help Close Start Stop Figure 2 3 The Devices Utility Window By default the device driver is configured to startup automatically at Windows NT boot time You may configure the device driver to start manually by selecting the Startup button However no PCI SDK applications will function until the device driver has been started You may also use the PCI SDK DriverWizard application to restart the device drivers Consult section P5 12 4 Jor more details 2 5 1 2 2 Event Logging The Windows NT Device Driver has the capability to record errors into the Windows NT Event Viewer When trouble shooting problems with the device driver it is recommended that the event viewer be used PEA can be viewed by selecting an event item 4 shows an example of the Event Viewer and Figure 2 5 hows details of an event PCI Host SDK User s Manual v3 1 2 12 PLX Technology Inc All rights Reserved Section 2 Understanding The PCI SDK Getting Started Event Viewer System Log on
34. THE 1 0 INTERCONNECT SOLUTION PLX PCI Host SDK SOFTWARE DEVELOPMENT KIT USER S MANUAL THE 1 0 INTERCONNECT SOLUTION PLX PCI HOST SDK SOFTWARE DEVELOPMENT KIT USER S MANUAL Version 3 1 May 2000 Website http www plxtech com Email appsOplxtech com Phone 408 774 9060 800 759 3735 Fax 408 774 2169 2000 PLX Technology Inc All rights reserved PLX Technology Inc retains the right to make changes to this product at any time without notice Products may have minor variations to this publication PLX assumes no liability whatsoever including infringement of any patent or copyright for sale and use of PLX products This document contains proprietary and confidential information of PLX Technology Inc PLX The contents of this document may not be copied nor duplicated in any form in whole or in part without prior written consent from PLX Technology Inc PLX provides the information and data included in this document for your benefit but it is not possible for us to entirely verify and test all of this information in all circumstances particularly information relating to non PLX manufactured products PLX makes no warranties or representations relating to the quality content or adequacy of this information Every effort has been made to ensure the accuracy of this manual however PLX assumes no responsibility for any errors or omissions in this document PLX shall not be liable for any errors or for incidental
35. al provides information about the functionality of the PCI SDK Customers have the choice of using the PCI SDK with any PLX Reference Design Kit RDK or a generic device that uses a PLX chip Users should consult this manual when installing the PCI SDK and for general information 1 2 PCI SDK Features The PCI Host SDK contains software for a Windows host to access the PLX Chip across the PCI bus This includes the following features e PCI API and device drivers compatible with Windows NT 98 2000 e PLXMon 2000 a Windows Graphical User Interface GUI application used to configure modify PLX PCI devices and download IOP applications to the local RAM The PCI Pro SDK also contains software for a local CPU or IOP I O Processor to access the chip via the local bus on a peripheral card Additional components of the Pro SDK include e A feature based IOP API with support for a variety of host processors and PLX PCI chips IOP DMA Resource Manager that supports three modes of operation A Back End Monitor application used for basic debugging Board Support Package BSP that allows customization of the PCI SDK RTOS support for several PLX RDK boards which can be used as a model for development of RTOS BSPs for custom boards For further details see the documentation for the Pro SDK 1 3 Where To Go From Here The following is a brief summary of the chapters to help guide your reading of this manual Chapter 2 Getting Started
36. cess the PLX Chip across the PCI bus The PCI Pro SDK also contains software for a local CPU or IOP I O Processor to access the chip via the local bus on a peripheral card As part of the IOP support PCI Pro SDK contains VxWorks BSP for PCI 9054RDK 860 and CompactPCl 9054RDK 860 boards We will provide a VxWorks BSP for IOP 480RDK in the near future Please send an email if you are interested in VxWorks BSP for IOP 480RDK to software plxtech com If you are interested in developing a driver for other RTOS then you can use almost all of the IOP API library functions from the PCI Pro SDK The IOP API library is a set of functions that can be called from within a RTOS The RTOS code needs to call the P1xInitApi function to initialize the PLX API This will integrate the IOP API with your RTOS For further details see the documentation for the Pro SDK PCI Host SDK User s Manual v3 1 6 1 PLX Technology Inc All rights Reserved 7 RDK Software Quick Reference The information below should be used as a guide to the PCI SDK software requirements for each PLX RDK board 7 1 PCI and Compact PCI 9030 RDK Lite The following below details the 9030 RDK Lite memory map 0000 2000 gt FFFF FFFF Unused 0000 0000 gt 0000 2000 DPRAM 8 Kbytes The following EEPROM values are used in the 9030 RDK Lite The Compact PCI EEPROM values are identical except for the Device ID which is 30C 1h versus 3001h of the PCI board P
37. ck Next Add New Hardware Wizard This wizard searches for new drivers for PCI Bridge A device driver is a software program that makes a hardware device work Cancel PCI Host SDK User s Manual v3 1 2 5 PLX Technology Inc All rights Reserved Section 2 Getting Started PCI SDK Installation Select Display a list of all since this is a custom device and click Next Add New Hardware Wizard What do you want Windows to do Search for the best driver for your device Recommended e Select Other devices and click Next Add New Hardware Wizard Select the type of device from the list below then click Next Multi function adapters Network adapters Other detected devices Other devices PCMCIA socket Ports COM amp LPT Printer SCSI controllers Sound video and game controllers System devices Universal serial bus controller fs lt Back Cancel PCI Host SDK User s Manual v3 1 2 6 PLX Technology Inc All rights Reserved Section 2 PCI SDK Installation Getting Started e Select Have Disk to search for a driver in another location and click Next Add New Hardware Wizard 2 Unsupported Device e Browse to select the PciSdk inf file which is located in Win32 Driver Wdm of the SDK PciS dk inf 3 win32 Drive J pci9080 PCI Host SDK User s Manual v3 1 2 7 PLX Technology Inc All rights Reserved Secti
38. ct _PLATFORM_PARAMS U32 Version BEM Version amp Platform type U32 PlxAddressLow Lower 32 bits of PLX Chip base address U32 PlxAddressHigh Upper 32 bits of PLX Chip base address U16 PlxChipType PLX Chip Type U16 Capability Capabilities of the BEM U8 EEPROMType EEPROM type not used by BEM U8 FlashType FLASH type not used by BEM U16 Reserved Space for future use U32 FlashAddressLow Lower 32 bits of FLASH base address U32 FlashAddressHigh Upper 32 bits of FLASH base address U32 BufferAddressLow Perm buffer for EEPROM programming U32 BufferAddressHigh U32 BufferSize Permanent Buffer size U32 FlashBufferAddressLow Temp Buffer for FLASH programming U32 FlashBufferAddressHigh U32 FlashBufferSize Temp FLASH buffer size PLATFORM_PARAMS PPLATFORM_PARAMS Version is defined as follows 3 3 2 2 2 2 2 2 2 2 2 2 1 111 110 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 a4 i a4 a4 a4 9 8 7 6 5 4 3 2 1 0 Plat Version Major Version Minor Version Revision form Reserved Platform Bit6 0 32 bit addressing 1 64 bit addressing Bit 7 0 32 bit data size 1 64 bit data size Capability is defined as follows
39. d Click the Add Remove button Note This only removes the files that were originally installed by the PCI SDK installation program For proper removal in WinNT a user with Administrator user rights should remove the PCI SDK OT EOE PCI Host SDK User s Manual v3 1 2 5 PLX Technology Inc All rights Reserved Section 2 Getting Started PCI SDK Installation 2 3 PCI SDK Installation 2 3 1 Unpacking The PCI SDK comes complete with the following items see e PCI SDK User s Manual this document PLXMon 99 e PCI SDK Programmer s Reference Manual User s e PLXMon 2000 User s Manual and ge Manual e PCI SDK CD ROM y NOTE The Host SDK provides these manuals only in electronic form on the Host SDK CD ROM Please take the time now to verify that your PCI SDK is complete If not please contact Customer Support GE Installation 2 3 2 Minimum System Requirements Minimum host system requirements for the PCI SDK are as follows e Windows NT 4 0 with Service Pack 3 or above Windows 98 or Windows 2000 e 16MB of RAM 32MB or more recommended e 80MB hard drive space e 1 RS 232 serial port if serial communications will be used Figure 2 1 Components of the PCI SDK 2 3 3 Development Requirements The PCI SDK development environment is typically in the Window NT 98 2000 operating system The PCI API was developed using Microsoft Developer Studio supplied with Microsoft Visual C
40. discusses how to start using the PCI SDK and some of the applications provided Chapter BJP DK Software Architecture Overview describes the layout of the PCI SDK software 1 4 Other PCI SDK Manuals The PCI Host SDK includes the following manuals that users should consult for design details e PCI Host SDK Programmer s Reference Manual This manual covers all software design issues regarding the device drivers Host API and user applications e PLXMon User s Manual This manual describes the usage of the PLXMon application e PLX Device Driver Manual This manual covers the PLX device drivers and service modules which are the core parts of the PLX device drivers The manual will be created only a PDF file in Acrobat format during the PCI SDK installation e PLX RDK Manufacturing Test Specification This manual covers the basic information about the PLX RDK Manufacturing Test program and will be created only as a PDF file in Acrobat format during the PCI SDK installation 1 5 Conventions Please note that when software samples are provided the following notations are used e italics are used to represent variables function names and program names e courier is used to represent source code given as examples PCI Host SDK User s Manual v3 1 1 3 PLX Technology Inc All rights Reserved Section 1 General Information Customer Support 1 5 1 Windows Programming Conventions Some designers may not be familiar with Windows pr
41. e Remove Device Restart Device Driver For PCI 9080 Cancel Figure 2 9 The PCI SDK Device Driver Wizard 2 5 1 3 1 Starting And Stopping Unlike Windows NT drivers Windows 98 2000 device drivers are started and stopped as needed by the operating system The PLX device drivers are started when Windows detects a device that needs it If at a later time the device is removed or uninstalled from the Device Manager the device driver will be stopped unless there is installed device associated with the same driver There is no applet that controls the starting or stopping of a device driver under Windows 98 2000 2 5 1 3 2 Event Logging Event logging is enabled in Windows 2000 but not supported under Windows 98 2 5 1 3 3 Registry Configuration Every Windows 98 2000 device driver requires an entry into the registry The registry contains information required by the operating system as well as information required by the device driver All device drivers are located in the registry under HKEY_LOCAL_MACHINE System CurrentContro Set Services Class Unknown 000X where 000x is the driver number within the Unknown class of drivers The PLX device driver can be PCI Host SDK User s Manual v3 1 2 16 PLX Technology Inc All rights Reserved Section 2 Understanding The PCI SDK Getting Started found within the Unknown class by looking at the NTMPDriver value of each key which should describe the driver name e g Pc
42. e PCI 0x0004 0000 gt 0x0007 FFFF SDK Samples Direct Master to PCI memory space 0x4000 0000 gt Ox40FF FFFF 16MB Address Direct Master to PCI IO space 0x5000 0000 gt Ox50FF FFFF 16MB Address emory space recommend for user s 0x0008 0000 gt OxO1FF FFFF use 31 5MB Users who have upgraded the PCI SDK and intend to use it with an existing PLX RDK must first reprogram the configuration EEPROM connected to the PLX chip Skipping this step can cause unpredictable behavior of the PCI SDK If you have purchased the PCI SDK with a PLX RDK then there is no need to upgrade the EEPROM because it was programmed at the factory before shipping The following diagram shows the default settings for the RDK PCI Host SDK User s Manual v3 1 7 3 PLX Technology Inc All rights Reserved Section 6 RDK Software Quick Reference CompactPCI 9054RDK 860 Displajina 140566 EEPROM sales Le IE Es PO Cordquestion Fega Deem ed 18850 VendoriD Wd Jus Ho Swap ett Il cacaos Subset ID poa Sub Verde 10 Eeler intent Lines nl 07 irian Fin Gel 10 Peng w m Cl Code M KART Nep Deg ia oo Ne Le rel D Den os PCI to Local Adcee Space DN TECH Locales crecido Dec Master lo PO Mero DI SOT Flersap a PCI ba Local Sichen Space 0 pl 00000001 Local n Shezs For Dec Mater to PCIIQUCRG God SO Local Arbitration Heger Fo CC PO Bisse cer Mienapitor Deech Master kp md vuan Local Bus DA ge Enin Dempa Fo IT ISITE 5 PO
43. ecture e EventLog System lt Driver_Name gt EventMessageFil SystemRoot System32 IoLogMsg dll SystemRoot System32 Drivers lt Dr iver_Name gt sys datatype REG_EXPAND_SZ e Services EventLog System lt Driver_Name gt TypesSupported 7 data type REG_DWORD 4 6 2 2 Installation of PLX Device Drivers On Windows 98 2000 1 Copy the device driver file e g Pci9054 sys or Pci9030 sys to lt Windows_Dir gt System32 Drivers The device driver files are located in lt Sdk_Install_Dir gt Win32 Driver Wdm lt Driver_Name gt Driver Free i386 2 Copy the setup information file INF PciSdk inf to lt Windows_Dir gt InflOther PciSdk inf is installed lt Sdk_Install_Dir gt Win32 Driver Wdm PciSdk inf should be modified to include entries for the customized OEM board Most importantly the custom Device and Vendor IDs must be added When Windows detects the board it will use the INF file to assign the correct driver Refer to the DDK or other documentation for INF files PCI Host SDK User s Manual v3 1 4 5 PLX Technology Inc All rights Reserved Section 5 Board Support Package BSP IOP Software Architecture 5 IOP Software Architecture Only the Host software is included in the Host SDK The description of IOP software included here is intended to help the user understand how the pieces fit together The IOP software is included only in the SDK Pro For further details please see the SDK Pro documentation
44. ems It is based on the device driver architecture found in Windows NT 4 0 and allows for binary compatibility between Windows 98 and Windows 2000 The architecture of the device driver is designed to reduce the time needed to create a new device driver for customer boards that contain a PLX device If needed the source code provided for the device driver may be customized for specific boards in minimal time 4 2 Win32 Applications And The PCI SDK All Win32 applications connect to and use the PCI API DLL The Win32 application can communicate to any PCI device with a PLX chip by using the PCI API DLL Each Win32 application can be created like any other Windows application For more information on creating a Win32 application using the PCI API DLL see the PCI SDK Programmer s Manual 4 3 Win32 Device Driver Overview This section describes the overall layout and concept of a PLX device driver To accommodate the need for one common PCI API as well as to reduce development time for device driver design for new Reference Design Boards the following device driver model was created One device driver handles one type of PLX chip as seen in Each device driver communicates with the PCI API on a one to one basis there is no device driver inter communication If a new device driver is developed and added to the system it can be integrated simply by installing it into the Win32 operating system If more than one PLX chip is present on a Reference Design
45. eply If the data received by the Back End Monitor is not a command the data is queued for the IOP application 4 1 2 PCI APl Device Driver Communication PCI Bus Communication is performed using the PCI API dynamical link library DLL file PIxApi dlh and the Win32 device driver supplied with the PCI SDK 4 1 2 1 PCI API Library The PCI API consists of a library of functions from which multiple PLX chip based PCI boards can be accessed and used The PCI API provides API function groups which manage the features of each PLX chip Groups such as DMA access direct data transfers and interrupt handling contain functions that can be universal to any PLX PCI board The PLXMon application makes extensive use of the PCI API functions For the most part the PCI APPs purpose is to translate application functions calls and send them to the appropriate device driver The only functionality present in the PCI API is to connect to the various PLX device drivers This includes opening closing and searching for PLX devices that are present on the PCI bus 4 1 2 2 Win32 Device Driver The device driver s role in the system is to store device data within the kernel and to execute the commands given to it from the PCI API The device driver can be used as a framework to create custom software for managing PCI devices as well The Windows Driver Model WDM is a new specification for developing device drivers on Windows 98 and Windows 2000 operating syst
46. es and is licensed not sold If you are a rightful possessor of the PLX Software PLX grants you a license to use the PLX Software as part of or in conjunction with a PLX chip on a per project basis PLX grants this permission provided that the above copyright notice appears in all copies and derivatives of the PLX Software Use of any supplied runtime object modules or derivatives from the included source code in any product without a PLX Technology Inc chip is strictly prohibited You obtain no rights other than those granted to you under this license You may copy the PLX Software for backup or archival purposes You are not authorized to use merge copy display adapt modify execute distribute or transfer reverse assemble reverse compile decode or translate the PLX Software except to the extent permitted by law PLX Software License Agreement GENERAL If you do not agree to the terms and conditions of this PLX Software License Agreement do not install or use the PLX Software and promptly return the entire unused PLX Software to PLX Technology Inc You may terminate your PLX Software license at any time PLX Technology may terminate your PLX Software license if you fail to comply with the terms and conditions of this License Agreement In either event you must destroy all your copies of this PLX Software Any attempt to sub license rent lease assign or to transfer the PLX Software except as expressly provided by this l
47. hared interrupts A driver that does not support this feature may prevent the PLX driver from functioning correctly A possible workaround for this condition is to manually configure the BIOS to assign a unique interrupt to the PLX device PCI Host SDK User s Manual v3 1 2 10 O PLX Technology Inc All rights Reserved Section 2 Understanding The PCI SDK Getting Started 2 5 Understanding The PCI SDK 2 5 1 Windows Based Host Software 2 5 1 1 Introduction The PCI Host SDK contains eight distinct device drivers an API and a Windows monitor application see Figure 2 2 They are as follows S Sample Application PLXMon Custom Application KE PLX PCI API So A WEE EE PCI 9080 PCI 9054 IOP 480 PCI 9080 PCI 9054 IOP 480 WDM WDM WDM H WinNT WinNT WinNT Device Device Device Device Device Device Driver Driver Driver Driver Driver Driver ii aoe De 1 PCI PCI PCI PCI 9080RDK 9054RDK EFSER 9080RDK 9054RDK EES Win98 i WinNT Win2000 Figure 2 2 Windows Host software Layout for PCI Host SDK V3 1 e Four PLX WinNT Device Drivers supporting the PCI 9080 the PCI 9054 PCI 9030 and IOP 480 e Four PLX WDM Win98 Win2000 Device Drivers supporting the PCI 9080 the PCI 9054 PCI 9030 and IOP 480 e PCI API a powerful AP
48. he AppMain function should be cyclic in nature and should return control periodically back to the main function 5 5 1 IOP Memory And IOP Applications IOP applications running in ROM or in RAM use memory in different ways When an IOP application is executed as a ROM program it contains all the modules it needs such as the Back End Monitor A ROM application contains e The main IOP application module e The IOP API e The BSP module and e The Back End Monitor Figure 5 2 hows how the ROM application uses memory IOP RAM applications are built differently from IOP ROM applications The IOP RAM applications look very similar to IOP ROM applications as far as the source code is concerned but they differ when the IOP RAM application is linked to the libraries IOP RAM type applications borrow the Back End Monitor from the resident IOP ROM application The size of IOP RAM applications is normally smaller because a lot of 5 14 PCI Host SDK User s Manual v3 1 PLX Technology Inc All rights Reserved Section 5 Back End Monitor IOP Software Architecture the code used by the IOP RAM application resides in the IOP ROM application Therefore the IOP ROM application on the RDK board must have the modules needed for the IOP RAM application and the IOP ROM application must provide the links to those modules The BSP provided with the PCI SDK contains the links for IOP RAM based applications into the resident ROM application
49. hrough serial mode using X Modem file transfer protocol When all the FLASH image data has been received the local CPU begins to reprogram the FLASH When the reprogramming is done it resets itself Note The protocol for downloading a FLASH image from the host program to the embedded follows the same guidance as the downloading of a RAM application through a serial channel Both targets of the serial downloading download a file in the Binary Block Format defined in the protocol h For FLASH the block reads like this FlashBufferAddressLow BlockImageSize data 0 0 U32 U32 U32 units U32 U32 Please notice that the buffer for the FLASH programming is to the DRAM or SDRAM buffer for storing FLASH image instead of directly to the FLASH itself 5 12 PCI Host SDK User s Manual v3 1 PLX Technology Inc All rights Reserved Section 5 Back End Monitor IOP Software Architecture e EEPROM Programming 1 Query the local CPU for the BufferAddressLow BufferAddressHigh BufferSize parameters as well as whether EEPROM programming is supported or not 2 If the IOP side supports the EEPROM programming write EEPROM data to the local Buffer using BEM commands if the host wants to write data to the EEPROM 3 Issue WRITE_TO_EEPROM command for writing to the EEPROM or READ_FROM_EEPROM command for reading from EEPROM to the BEM module or issue 4 Read EEPROM data from the local Buffer using BEM commands if the host want
50. i9080 sys or Pci9054 sys depending on the PLX chip in use Note Only advanced users should use the registry editor to modify the registry entries It is recommended that you NOT change any values contained in the registry 2 5 1 3 4 Known Problems in Windows 98 Device Drivers Windows 98 contains a few features that do not yet perform as expected The following list contains some known features that affect the operation of the PCI SDK e Scatter Gather and Shuttle DMA The Win98 device driver may periodically fail to transfer huge Scatter Gather and Shuttle DMA data buffers This affects the following PCI API functions PIxDmaSglTransfer and PlxDmaShuttleTransfer It is recommended that all data buffers used in the DMA transfers NOT exceed 1 MB in size e Support of Power Management Features of the PLX chips The Windows 98 Power Management subsystem contains many compatibility issues With regards to Power Management the method recommended by Microsoft documentation to change the power level of a device does not work as expected To overcome the problem two possible methods can be used 1 Change the power level using a different method than the one recommended by Microsoft The intended behavior can be obtained However this could cause problems in future releases of Windows 98 2 Leave the device driver sections as is in hopes that Microsoft will correct the problem in future releases of Windows 98 The PCI SDK uses the first
51. ications must relinquish the processor periodically to avoid starvation of the BEM cooperative or non preemptive multitasking e When an application is downloaded to the IOP RAM or the application wants to reprogram the on board FLASH using a serial connection the IOP BSP must execute the CheckPciDownloadToRam and the CheckSerialDownloadToRam functions at microprocessor reset or re execution of boot up code initialized by the software e The BlinkLed function assumes that the LED is connected to the PLX chip s USERo pin Users can comment this function out if there is no LED connected or choose to provide another way to blink an LED e Supplied IOP Libraries are compiled only for specific CPUs in their default endian mode Please contact PLX technical support if you require support for additional processors PCI Host SDK User s Manual v3 1 3 3 PLX Technology Inc All rights Reserved 4 Host Win32 Software Architecture This section describes the Win32 software provided in the PCI Host SDK The Win32 software provided in the PCI SDK includes a PLX Chip Debug Utility application PLXMon a PCI API library PIxApi dl PLX device drivers and sample programs 4 1 PLX Chip Debug Utility PIxMon PLXMon can communicate with PCI devices via two different paths see Figure 4 1 e Direct Serial Communications e Host API Device Driver Interface PCI Bus Communication l i PLXMon99 PCI API E WDM Win32 Driver Wi
52. icense is hereby rendered null and void WARRANTY PLX Technology Inc provides this PLX Software AS IS WITHOUT ANY WARRANTY EXPRESS OR IMPLIED INCLUDING WITHOUT LIMITATION AND ANY WARRANTY OF MERCHANTIBILITY OR FITNESS FOR A PARTICULAR PURPOSE PLX makes no guarantee or representations regarding the use of or the results based on the use of the software and documentation in terms of correctness or otherwise and that you rely on the software documentation and results solely at your own risk In no event shall PLX be liable for any loss of use loss of business loss of profits incidental special or consequential damages of any kind In no event shall PLX s total liability exceed the sum paid to PLX for the product licensed here under PLX Copyright Message Guidelines The following copyright message along with the following text must appear in all software products generated and distributed which use the PLX API libraries Copyright 2000 PLX Technology Inc Requirements e Arial font e Font size 12 minimum e Bold type e Must appear as shown above in the first section or the so called Introduction Section of all manuals e Must also appear as shown above in the beginning of source code as a comment Contents Table of Contents 1 2 4 1 Driver Interrupt Sharing PCI Host SDK User s Manual v3 1 i PLX Technology Inc All rights Reserved 4 1 2 1 PCI API Librar
53. ights Reserved Section 5 IOP Software Architecture Back End Monitor 5 3 4 BEM Command Protocols e Single Read Host to BEM p lt g h i j gt lt Address gt lt CR gt BEM to Host lt REPLY_HEADER gt lt DATA gt lt CR gt e Single Write Host to BEM p lt G H I J gt lt Address gt lt Space gt lt Data gt lt CR gt BEM to Host None e Read from EEPROM Host to BEM pk lt ByteSize gt lt CR gt BEM to Host 1 Data is stored at the local memory indicated by the BufferAddressLow and BufferAddressHigh to be mentioned later in this section Note The lt ByteSize gt cannot be bigger than the physical byte size of the on board EEPROM 2 lt REPLY_HEADER gt lt CR gt if OK 3 lt REPLY_HEADER gt lt CR gt if error e Write to EEPROM Host to BEM 1 Data is stored by the host at the local memory indicated by the BufferAddressLow and BufferAddressHigh to be described in section 2 Then the host issues the following string pK lt ByteSize gt lt CR gt Note The lt ByteSize gt cannot be bigger than the physical byte size of the on board EEPROM BEM to Host lt REPLY_HEADER gt lt CR gt if OK lt REPLY_HEADER gt lt CR gt if error 5 6 PCI Host SDK User s Manual v3 1 PLX Technology Inc All rights Reserved Section 5 Back End Monitor IOP Software Architecture e Block Read Host to BEM p lt m n o p gt l
54. igned for the BEM There are times when a task may not want other tasks to extract data or commands from the data stream Other tasks are prevented from extracting data from the data stream passed by the UART if one task access the UART support functions directly A task which wants to receive raw data and bypasses the previous task in the daisy chain can call PlxGetChars to retrieve an unfiltered data stream If a task chooses to access the unfiltered data stream it should take all the data necessary to perform the action and return control back to the main routine contained within the BSP once the action is completed The next application in the daisy chain if required retrieves the filtered data stream from the BEM monitor The application can do whatever it needs to do with the data The application can choose to provide a filtered stream of data from what is left over from its parsing of the data stream so that the data stream can be passed down to the next task in the chain The Back End Monitor BEM can recognize different commands coming from PLXMon reset the IOP microprocessor read a memory location and write to a memory location etc The protocol for the serial communication between the IOP application and the host PLXMon is documented in the following sections Some commands use parameters Parameters listed are normally necessary for the command except when a parameter is within square braces and These parameter
55. in decimal data type REG_DWORD e Services lt Driver_Name gt ErrorControl 1 data type REG_DWORD e Services lt Driver_Name gt Start 2 data type REG_DWORD e Services lt Driver_Name gt Type 1 data type REG_DWORD e Services lt Driver_Name gt MaxSglTransferSize 1048576 in decimal data type REG_DWORD e Services lt Driver_Name gt MaxPciBus 3 data type REG_DWORD e Services lt Driver_Name gt EventLogLevel 2 data type REG_DWORD e Services lt Driver_Name gt SupportedIDs Dev0Vend DevlVend data type REG_SZ Dev0 and Dev1 are the four hexadecimal letters for the device IDs vena is the four hexadecimal letters for the vendor ID One example is 908010B5 040110B5 One pair of device ID and vendor ID must be separated from another pair by a space There is no tailing space at the end of the string e Control Session Manager Memory Management SystemPages 80000 in decimal data type REG_DWORD The registry key lt Driver_Name gt is the name of the executable without the sys suffix In order for the Event Viewer under Windows NT to retrieve the messages logged by the PLX device drivers the following registry values must be added as well Under HKEY_LOCAL_MACHINE System CurrentControlSet Services add PCI Host SDK User s Manual v3 1 4 4 PLX Technology Inc All rights Reserved Section 4 Distribution of PLX Device Drivers and PLXApi DIl File Host Win32 Software Archit
56. incompatibilities with modules Users who are upgrading their PCI SDK and intend to use it with an earlier PLX RDK board should upgrade the FLASH boot image of the RDK To upgrade the FLASH image use PLXMon to reprogram the RDK FLASH if supported If PLXMon does not support programming of the FLASH device a device VO programmer must be used The updated FLASH images are provided in lt Sdk_Install_Dir gt RdkFlashFiles Please refer to the PLXMon manual for detailed instructions regarding which boards are supported and the proper offset to program the FLASH 2 2 Uninstalling Previous Versions of the PCI SDK Warning If you have modified any files in the original PCI SDK install directory such as C program files the uninstaller may delete them Please be careful before uninstalling a previous SDK package Installation of the latest SDK will update the registry and drivers in the Windows System and Driver directories Prior to installing a new version of the PCI SDK it is recommended to first uninstall any previously installed versions Many files change between SDK releases and since these files are used for development purposes they may be incompatible with a previous release To remove all PCI SDK Software including device drivers complete the following 1 Stop all PLX applications Open the Windows Control Panel Double click on the Add Remove Programs icon in the Control Panel window Choose the PCI SDK package from the item list an
57. l Marites to PO oy Faccooco Pete Rogers Matos 0 Lives Cetin ml mo Mattes User Deel nl eem Show Dhek E Seid EEPADH Dir C Hispping to PO Configuration Ak and PCI Diir ker Dans Ad Tha EEPROM ippa ou taleciad in Ee Configuration mara i MESOS dE Bel wel Fm Figure 7 4 Configuration EEPROM Settings for the PCI 9080RDK 401B 7 6 PCI 9080RDK 860 The table below describes the memory requirements of the PCI SDK for the PCI 9080RDK 860 Table 7 5 Basic Information About PCI 9080RDK 860 PCI _9080RDK 860 0x1000 0000 gt 0x10FF FFFF 16MB 0x0000 0000 gt 0x0007 FFFF 512KB FLASH Type AM29F040 IOP programming only OXFEFE 0000 gt OxFFFF FFFF 512KB FLASH Image Offset at which to 0x0000 0000 reprogram the FLASH Memory space used by ROM code 0x0000 0000 gt 0x0003 FFFF PCI 0x0004 0000 gt 0x0007 FFFF Memory space used by RAM code SDK Samples Direct Master to PCI memory space 0x4000 0000 gt 0x40FF FFFF 16MB Address Direct Master to PCI IO 0x5000 0000 gt Ox50FF FFFF Address PCI 9080 Register Address 0xC000 0000 gt 0xC000 DIER Memory space recommend for user s 0x1000 0000 gt Ox10FF FFFF 16MB space 16MB PCI Host SDK User s Manual v3 1 O PLX Technology Inc All rights Reserved Section 6 PCI 9080RDK 860 RDK Software Quick Reference Users who have upgraded the PCI SDK and intend to use it with an existing PLX RDK must first reprogram the configuratio
58. n EEPROM connected to the PLX chip Skipping this step can cause unpredictable behavior of the PCI SDK If you have purchased the PCI SDK with a PLX RDK then there is no need to upgrade the EEPROM because it was programmed at the factory before shipping The following diagram shows the default settings for the RDK F E EE ELETE pee Figure 7 5 Configuration EEPROM Settings for the PCI 9080RDK 860 PCI Host SDK User s Manual v3 1 7 7 PLX Technology Inc All rights Reserved Appendix A Index A MINIBSP 0 ege age 2 18 5 16 lee EI EE 5 15 S B PCI 9054RDK 860 7 1 PCI 9080RDK 401B isise 7 5 BEM3 2 5 2 5 4 5 5 5 6 5 7 5 8 5 9 5 11 5 13 PTHOBSGRDK 860 oe 7 6 BemMain 2 nes nun rien aden eels 5 15 POLARI RE 3 2 4 2 Boot Up Ree EE 5 16 POLBIOS icon 2 10 BSP1 3 2 18 3 1 3 2 3 1 5 2 5 3 5 4 5 15 5 16 BLXMon1 3 2 5 2 2 2 9 2 11 2 15 2 18 3 1 3 2 3 1 4 c Power Management 2 17 Protocols a aa AE TT 5 7 Compact 7 4 R p Registry mme 2 10 2 13 2 16 Direct Master 7 2 7 1 7 4 7 6 5 Direct Slave 2 18 SGLDMA tee nt M nr anne 2 17 l Shuttle EM 2 15 2 17 IOP 480 2 11 5 6 5 9 5 10 5 12 7 2 U IOP 480RDK reini aipeanna aea aiian 7 EI EE 5 18 UART nee 9 4 5 15 5 18 L wW EE eeh 3 1 5 16 WDM En 2 2 2 11 4 2 M Microprocessor 1 4 PCI Host SDK User s Manual v3 1 IX PLX Technology Inc All rights
59. n32 Driver Module PLX Services Module Serial Communication Figure 4 1 The Host Software Architecture 4 1 1 Serial Communication This method of communicating with a board containing a PLX device is mainly used for debugging purposes While a custom host Win32 device driver is being created it is helpful to be able to read and write values directly to and from the board If PLXMon is set to serial mode it calls functions that reside in the PLXMon Communications Module It is the responsibility of the PLXMon Communications Module code to convert the valid PLXMon commands into a serial data stream The protocol used in passing the data is based on an ASCII translation scheme for more information on the serial protocol see section 5 3 This stream of data is sent to the IOP PCI Host SDK User s Manual v3 1 4 1 PLX Technology Inc All rights Reserved Section 4 Host Win32 Software Architecture PLX Chip Debug Utility PIxMon application The Win32 operating system provides a device driver to control the serial port The Win32 SDK provides services to access this device driver When the data arrives the IOP board s microprocessor must have a means of handling the incoming data The Back End Monitor calls UART service routines to retrieves data from the UART module which can be implemented as interrupt driven or polling The Back End Monitor decodes the command and data and acts on the command and returns a r
60. nc All rights Reserved Section 6 RDK Software Quick Reference PCI 9080RDK 860 Users who have upgraded the PCI SDK and intend to use it with an existing PLX RDK must first reprogram the configuration EEPROM connected to the PLX chip Skipping this step can cause unpredictable behavior of the PCI SDK If you have purchased the PCI SDK with a PLX RDK then there is no need to upgrade the EEPROM because it was programmed at the factory before shipping The following diagram shows the default settings for the RDK Displaying 430546 EEPROM values AB E PO Cod apart Bee wenda D gend 1085 pews il oun PO Base Ad les Local Esparci n RM Pan cocoooco Sub Vande D Hani 1065 Simeon 10 DEM 3060 eeng Line ah 9 ene Fin DAA OT eege el OT Gen Code pan foso web wl a Maia elo degen geil rouen Local Bass Adddbest dos Dec Maske le PCI Mamay 3441 52000000 Renap for PCI to Local Scheer Space il Ge men Loca Ber Aker for Direct Master to PO DTD D n Com Local S ation Fiag pp oan E PO Base Aceon Flemap ev Dieci Matis to PO h mo E Local Bus Big gie Erdy Deco Hegle 20h OKT l PO Cont dd He bu Drs Hecke lo PAPE ww ORK al Range ot FCI lo Local Expansion ROM Dad Georg Range lea PO ja Locs Adbert Space 1 IMB Wal PECH Beran for PC to Local Esperen FM a DIE Rarap lol PO jot reg Addas Grace 1 rach cari But Regi n Descriptor for PCI to Local Acemee 2004 00H H Local Space for PO to Local Acceres pom 000003 al Fanga fea Dae
61. ogramming conventions Therefore a few conventions have been noted below for example e PU32 data is analogous to U32 data or unsigned long data and e IN and OUT are used to distinguish between parameters that are being passed into API functions and parameters that are being returned by API functions 1 6 Terminology All references to Windows NT assume Windows NT 4 0 or higher and may be denoted as WinNT All references to Windows 98 may be denoted as Win98 References to Windows 2000 may be denoted as Win2000 or Win2K Win32 references are used throughout this manual to mean any application that is compatible with the Windows 32 bit environment All references to IOP I O Platform throughout this manual denote a board containing a PLX PCI device and references to IOP software denote the software running on that board 1 7 Development Tools Development tools used to develop the PCI Host SDK include e Win32 Applications Microsoft Visual C 5 0 with Microsoft Developer Studio e Windows NT 4 0 Drivers Microsoft Windows NT 4 0 Device Driver Kit DDK e Windows 98 2000 WDM Drivers Microsoft Windows 2000 Device Driver Kit DDK 1 8 Customer Support Prior to contacting PLX customer support please ensure that you are situated close to the computer that has the PCI SDK installed and have the following information 1 Model number of the PLX PCI RDK if any 2 PLX PCI SDK version if any 3 Host Operating System and version
62. on 2 Getting Started PCI SDK Installation Once the file is located Windows will parse it to provide a list of possible drivers Select the driver that most closely matches the installed board type Click Next Add New Hardware Wizard Select the manufacturer and model of your hardware device If you have a disk that contains the updated driver click Have Disk To install the updated driver click Finish Models CompactPCI 9D54RDK 860 Board Custom OEM IOP 480RDK Board Custom GEM PCI 9054 Board Custom DEM PCI 9080 Board IOP 480RDK Board PCI 9054RDK 860 Board PrI SNA4ARDK I ite Y Have Disk lt Back Cancel e Windows will now inform the user of the driver selected If a warning appears which states The driver was not written specifically for this device click Yes to install the driver anyway This warning arises because the ID in the INF file does not match the installed device s ID Click Next Add New Hardware Wizard Windows driver file search for the device Custom OEM PCI 9054 Board Windows is now ready to install the selected driver for this device Click Back to select a different driver or click Next to continue Location of driver C PLASNPCISDKAWINS2 DRIVER WDM PCI Cancel PCI Host SDK User s Manual v3 1 2 8 PLX Technology Inc All rights Reserved Section 2 PCI SDK Installation Getting Started e Click Finish to complete
63. or consequential damages in connection with the furnishing performance or use of this manual or the examples herein PLX assumes no responsibility for any damage or loss resulting from the use of this manual for any loss or claims by third parties which may arise through the use of this SDK and for any damage or loss caused by deletion of data as a result of malfunction or repair The information in this document is subject to change without notice PLX Technology and the PLX logo are registered trademarks of PLX Technology Inc Other brands and names are the property of their respective owners Document number PCI SDK MAN P1 3 1 TECHNOLOGY THE UO INTERCONNECT SOLUTION PLX SOFTWARE LICENSE AGREEMENT THIS PLX SOFTWARE IS LICENSED TO YOU UNDER SPECIFIC TERMS AND CONDITIONS CAREFULLY READ THE TERMS AND CONDITIONS PRIOR TO USING THIS SOFTWARE OPENING THIS SOFTWARE PACKAGE OR INITIAL USE OF THIS SOFTWARE INDICATES YOUR ACCEPTANCE OF THE TERMS AND CONDITIONS IF YOU DO NOT AGREE WITH THEM YOU SHOULD RETURN THE ENTIRE SOFTWARE PACKAGE TO PLX LICENSE Copyright 2000 PLX Technology Inc This PLX Software License agreement is a legal agreement between you and PLX Technology Inc for the PLX Software which is provided on the enclosed PLX CD ROM PLX Technology owns this PLX Software The PLX Software is protected by copyright laws and international copyright treaties as well as other intellectual property laws and treati
64. p the old PLX chip Services Module is replaced The new PLX chip Services Module would reflect the new register set of the PLX chip and would support the existing PCI API by accessing the appropriate registers on the new PLX chip based on the PCI API function requested The PLX chip Device Driver Module would need some modifications to create a new PCI device driver When a new API function is introduced the Device Driver Module has to be modified to support the API the function 4 5 Device Driver Features The Win32 device driver supports the sharing of interrupts between many PLX chip based boards Since the PCI specification allows multiple devices to share the same Interrupt Line the device driver must support this as well Specifically the Interrupt Service Routine ISR is designed to support interrupt sharing PCI Host SDK User s Manual v3 1 4 3 PLX Technology Inc All rights Reserved Section 4 Host Win32 Software Architecture Distribution of PLX Device Drivers and PLXApi DII File The device driver supports event logging to the OS Event Log subsystem When the device driver determines an error in operation it registers event messages with the appropriate information concerning the cause of the error The Event Log may be used to debug the device driver if problems occur 4 6 Distribution of PLX Device Drivers and PLXApi DII File A Windows application which uses PCI API functions from the PCI SDK package requires
65. rt the BEM communication protocol not included in MiniBSP Tailor the MiniBSP to the custom board and program the FLASH with this image When the above steps have been performed and are working properly modify the IOP Board Support Package BSP module to begin porting the PCI SDK to the new board Consult the PCI SDK Programmer s Manual for more information on porting the PCI SDK to new boards PCI Host SDK User s Manual v3 1 2 18 PLX Technology Inc All rights Reserved 3 PCI SDK Software Architecture Overview 3 1 Software Components The PCI SDK software architecture is shown in The SDK software is divided into the following major components The following Host components are included in the Host SDK e PLXMon this module includes PCI Bus communication and serial communication to the Back End Monitor e PCI API library file P xApi di which translates API function calls into function calls to the PLX device drivers e PLX device drivers which actually control the access to the PLX devices The following local or IOP components are included in the Pro SDK e OP API Library this library contains the code that performs the API functions and accesses the PLX chip There are at least two IOP APIs for each PCI device Release and Debug Both libraries are the same except the release version eliminates many of the parameter validation steps that are performed in the debug version and hence performance is increased if the
66. s e Mailbox register 5 6 and 7 are reserved for communication between PLXMon and the IOP software when PLXMon downloads RAM applications to the IOP e When a PLX PCI device driver is started mailbox register 3 of the device supported by the driver will contain the address of the PCI common buffer and mailbox register 4 will contain the size of the buffer 3 3 2 PCI API And Win32 Software Assumptions The assumptions for the PCI API and the Win32 software are as follows e All Win32 applications supplied with the PCI SDK will provide full functionality to all PLX registered devices e The doorbell interrupts QUERY_EEPROM_TYPE DOORRBELL_KERNEL_RESET FLASH_READ and FLASH_WRITE are reserved for PCI SDK purposes 3 3 3 IOP API And IOP Software Assumptions The assumptions for the IOP API and the IOP software included in the SDK Pro but not the Host SDK are as follows e For the Back End Monitor BEM to function properly the IOP board must have one available serial port configurable by the Board Support Package software e The data received by the serial port must be retrieved in a timely manner in order to eliminate any lost data e The initialization of the PLX chip is done only by the EEPROM and or IOP software e The data expected by the application will not contain any data that could be interpreted by the BEM as a command if the BEM is linked into the application e All IOP appl
67. s are optional to the command Parameters listed with the vertical bar indicate that one or another parameter must be provided Carriage returns are denoted as lt CR gt PCI Host SDK User s Manual v3 1 5 3 PLX Technology Inc All rights Reserved Section 5 IOP Software Architecture Back End Monitor 5 3 1 BEM Command Format and Commands Please note All BEM commands are case sensitive except hexadecimal value parameters There will be no leading zero in the hex number string to speed up the serial communication Of course if the data is zero there will be only one zero ASCII letter If two consequent hexadecimal values are required then they are separated by a space ASCII letter Ox20h There is no space between a hexadecimal letter 0 9 a f or A F and another non hexadecimal letter such as P Due to the fact the Microsoft Word automatically toggles the case of the first letter in the sentence when you type there is a possibility that the command letter in this document might not be accurate even though every effort is made to make it accurate For the latest and most accurate information on BEM please read lt INSTALLPATH gt inc Bem h file 5 4 PCI Host SDK User s Manual v3 1 O PLX Technology Inc All rights Reserved Section 5 Back End Monitor IOP Software Architecture 5 3 2 BEM Command Format Command Format ____2 Bytes__ ___ 1 Bwte __ Extra Bytes lt CR gt Header
68. s to read data from the EEPROM PCI Host SDK User s Manual v3 1 5 13 PLX Technology Inc All rights Reserved Section 5 IOP Software Architecture IOP Applications 5 4 Methods For Debugging IOP Applications The PCI SDK supports two methods for debugging IOP applications They are e Win32 Debugging Using PLXMon This method assumes that there is no IOP application running on the RDK board With new RDK boards this method provides the preliminary debugging and validation of new RDK boards e PLXMon with the BEM With the BEM linked into the IOP application PLXMon can communicate to the RDK board through the PC s COM port to the serial port on the RDK board PLXMon can be set up to communicate to the RDK board or IOP application using either the serial port or the PCI bus 5 4 1 Operation Of The Back End Monitor In A System This section describes how the BEM can be used on an RDK board and how it affects system performance The Back End Monitor combinations are as follows 1 AppMain only the IOP application is running without any BEM tasks and 2 BemMain and AppMain the IOP application is running with BEM debugger Method 1 This method is used once the application has been fully tested and is working properly There is no monitor task running so this method provides the best performance for the application PLXMon can be used to debug the application if the RDK board is inserted into a free slot in the host sys
69. set at which to reprogram the FLASH PCI Host SDK User s Manual v3 1 7 1 PLX Technology Inc All rights Reserved Section 7 RDK Software Quick Reference Memory space used by ROM code 0x0000 0000 gt 0x0003 FFFF Fe EE used By RAT code os 0000 gt 020007 EFEF SDK Samples Master EE 0000 Ox4FFF FFFF space Address 256MB Direct Master to PC 0x5000 256MB Address IOP 480 Configuration Register 0x5000 0000 settings Base Address IOP 480 Configuration Register 0x3000 0000 re initiali Base Address in PCI SDK default and used in SDK IOP 480 Serial Port Unit Base Address Memory space user s use IOP 480RDK to memory 0000 OxSFFF EFEFEF O space default and EEPROM ed from 1000 0000 0x0008 OxO1FF FEEF 31 5MB recommend 0000 Users who have upgraded the PCI SDK and intend to use it with an existing PLX RDK must first reprogram the configuration EEPROM connected to the PLX chip Skipping this step can cause unpredictable behavior of the PCI SDK If you have purchased the PCI SDK with a PLX RDK then there is no need to upgrade the EEPROM because it was programmed at the factory before shipping The following diagram shows the default EEPROM settings for the RDK INP EEPROM aloe PO Configuesion Fl egitters ege ID D i oun endo Deler Gas Code fem van Suergen DCH T CET Sub Werder pEh Cep
70. t StartAddress gt lt Space gt lt ItemCount gt lt CR gt BEM to Host The following data themselves are used to demonstrate For 8 bit read the output will be lt REPLY_HEADER gt 0 1 10 20 30 0 4 5 60 lt CR gt For 16 bit read the output will be lt REPLY_HEADER gt 0 1 1234 104 0 1345 890 798 lt CR gt For 32 bit read the output will be lt REPLY_HEADER gt 0 12345678 0 1234 78900 0 lt CR gt r R E o For 64 bit read the output will be lt REPLY_HEADER gt 0 123456789abcdef0 lt CR gt E 0 e Block Write Host to BEM The following data themselves are used to demonstrate 8 bits pM lt StartAddress gt 0 10 2 3 45 67 89 90 a lt CR gt 16 bits pN lt StartAddress gt 0 10 2 3 4 5 7890 1234 6789 lt CR gt 32 bits pO lt StartAddress gt 0 12345678 12 48 90000 12345 lt CR gt 64 bits pP lt StartAddress gt 0 123456789abcdef0 4 567890 lt CR gt The input data can be as long as it is necessary the BEM will continuously write data until it receives the ending lt CR gt or the format does not fit For example 16 bit data can not be longer than 5 hexadecimal numbers BEM to Host None PCI Host SDK User s Manual v3 1 5 7 PLX Technology Inc All rights Reserved Section 5 IOP Software Architecture Back End Monitor Read from IOP 480 CPU or IBM401GF Registers Host to BEM pz lt
71. tem s PCI Bus and PLXMon s PCI Communication is turned on Method 2 PLXMon is used to debug the application through the serial port IOP application performance will be affected using this method because the BEM monitor is processing commands and copy data to and from different memory buffers There is a possibility of lost data destined for the IOP application If IOP application data matches BEM command s the monitor will remove them from the serial data stream When the IOP application requires data that could be captured by the monitor the IOP application should access the UART Services module directly bypassing the monitor by calling PlxGetChars 5 5 IOP Applications The IOP API the BSP and the Back End Monitor libraries are linked with the IOP application objects to create the binary image This image is then programmed into FLASH memory or downloaded to RAM memory and executed All IOP applications have an AppMain function which is the main application function The main function is kept within the BSP module This limitation is imposed on all applications because of the way the Back End Monitor BEM is implemented The BEM needs to run periodically to operate properly Since there can only be one execution thread running at one time a cycle is created using the main function This cycle loops forever calling the BEM and then the main application function sequentially cooperative multitasking or non preemptive multitasking T
72. y However if the device driver fails to get the buffer requested due to a lack of system resource then it will decrement the size until it is given an allocated buffer by the operating system You should use the PlxPciCommonBufferGet API function to determine the actual buffer size e ErrorControl This value is required by the operating system and should not be modified e EventLogLevel This value sets the event logging mode in the device drivers If this value is O then events will not be logged If this value is 1 then high severity events will be logged If this value is 2 then all events will be logged e MaxPciBus This value sets the highest PCI bus that the device driver will scan for PLX devices By default it is set to 0x3 e MaxSg TransferSize This value sets the size of an internal buffer that is required for SGL and Shuttle DMA transfers e Start This value is required by the operating system and should not be modified e SupportedIDs This value contains the Vendor Ids and Device Ids for the PLX devices that the driver supports Users should use the PCI SDK application DriverWizard to modify this field Modification of this field directly might make the DriverWizard application run erratically e Type This value is required by the operating system and should not be modified 2 5 1 2 4 Driver Configuration Before using the device driver with a customer board the driver must first be configured with the appropriate Vendor
73. you are searching on a floppy disk or CD ROM drive insert the floppy disk or CD before clicking Next T CD ROM drives I Specify a location _ Microsoft Windows Update nee e Windows will then scan through INF files to find a matching device driver If one is found the following dialog is displayed Click Next Found New Hardware Wizard E Driver Files Search Results E The wizard has finished searching for driver files for your hardware device wy y The wizard found a driver for the following device od Other PCI Bridge Device Windows found a driver for this device To install the driver Windows found click Next 4 a pcisdk_win2000 inf PCI Host SDK User s Manual v3 1 2 4 PLX Technology Inc All rights Reserved Section 2 PCI SDK Installation Getting Started e When the following dialog is displayed the device driver installation is complete Click Finish Found New Hardware Wizard 3 Completing the Found New Hardware Wizard xy PCI 9030 RDK Lite Board W in2000 Windows has finished installing the software for this device To close this wizard click Finish 2 3 4 2 2 Driver Installation for Custom Reference Design Boards with PLX devices To install a driver for a custom board containing a PLX PCI device perform the following steps e Unless the PCI class code is changed the installation wizard will detect the custom device as a PCI Bridge Cli
Download Pdf Manuals
Related Search
Related Contents
Zoom H4n User's Manual Acer 300P Printer User Manual Smith Performance Sprayers 190447 Instructions / Assembly La lettre de l`INSET de Nancy n°22 01 TD 000 674 F Manuel de service CMV 125 Manual Sika Colombia 2010.p65 Manuel d`installation WT-D/P Guide d`installation Modbus for Grundfos boosters ANGLER CONNECT Unicol SVC1 flat panel wall mount Copyright © All rights reserved.