Home | USB/PCI Driver and Firmware Tools Store | Contact us |
Search:
|

Jungo's AMCC Diagnostics Applications


WinDriver for AMCC Also available in WinDriver is an AMCC S5933 Diagnostics application , called amccdiag.exe. Jungo's AMCC S5933 Diagnostics utility runs on Windows 98/NT/NT5.0. Its source code is available in the WinDriver package.

 

AMCC Diagnostics Overview

AMCC Diagnostics is a ready-to-run sample diagnostics application for the AMCC S5833 chip set. The diagnostics program accesses the hardware via WinDriver’s AMCC API. It is written as a console mode application, and not as a GUI application, to simplify the understanding of the source code of the diagnostics program. This will help you learn how to properly use WinDriver's AMCC API.

Use this application as a good starting point for building your device driver. If your driver is not a console mode application, just remove the printf() calls from the code and replace them with MessageBox() if you wish.

Besides being an example of using the AMCC API, the diagnostics utility is also a useful utility for any AMCC chip based device - which offers engineers unrestricted read/write access to all PCI registers, PCI devices and PCI buses. It also supports all AMCC chip registers, host and local memory and port I/O.

 

 
Using the AMCC Diagnostics

The AMCC Diagnostics utility accesses the hardware using WinDriver. Therefore WinDriver must be installed before it is able to run.

Once WinDriver is installed, you may run the diagnostics utility by clicking 'Start / Programs / WinDriver / AMCC Diagnostics'

The utility will first try to locate the card, with the default VendorID and DeviceID assigned by AMCC. If such a card is found you will get a message "AMCC card found". If you have programmed your EEPROM to load a different VendorID/DeviceID, then at the main menu you will have to choose your card (option 'Locate/Choose AMCC board' in main menu).

Main Menu Options:

Scan PCI bus:
Displays all the cards present on the PCI bus and their resources. (IO ranges, Memory ranges, Interrupts, VendorID/DeviceID). This information may be used to choose the card you need to access.

Locate/Choose AMCC board:
Chooses the active card that the diagnostics application will use. You are asked to enter the VendorID/DeviceID of the card you want to access. In case there are several cards with the same VendorID/DeviceID, you will be asked to choose one of them.

PCI configuration registers:
This option is available only after choosing an active card. A list of the PCI configuration registers and their READ value are displayed. These are general registers, common to all PCI cards. In order to WRITE to a register, enter its number, and then the value to write to it.

AMCC S5933 local registers:
This option is available only after choosing an active card. A list of the chips registers and their READ value are displayed. In order to WRITE to a register, enter the register number, and then enter the value to write to it.

Access memory ranges on the board:
This option is available only after choosing an active card. Use this option carefully. Accessing memory ranges, accesses the local bus on your card -- If you access an invalid local address, or if you have any problem with your card (such as a problem with the IRDY signal), the CPU may hang.

  • To access a local region, first toggle active mode between BYTE/WORD/DWORD, to fit the hardware you are accessing.
  • The PLX9050 has four memory ranges to access a local region. There is no difference between them, therefore you need not change the active memory range.
  • To READ from a local address, choose 'Read from board'. You will be asked for local address to read from.
  • To WRITE from a local address, choose 'Write from board'. You will be asked for local address to write to, and the data to write.

Both in board READ and WRITE, the address you give will also be used to set the base address register. LASxBA register is set with the base address, and LASxBRD register is set with the mode (BYTE/WORD/DWORD as chosen as active mode).