AMC 68VZ328 software manual Pci

Page 30

Pins 1-5 on the DIMM socket control the Ethernet port on the NETdimmTM. Pins 6-8 control the In- Circuit Emulator. Pins 9-13 control the UART port. Pins 14-20 control the LCD. Pins 21-22 control the USB port. Pins 23-29 control the SPI. Finally, pins 30-84 control the PCI bus.

PCI

The PCI interface on the dimmPCITM CPU module is constructed around a Cypress CY7C09449PV-AC bus controller. This controller is an integrated PCI bridge, master/slave direct memory access controller (DMAC), message transport unit (I2O) and contains 32kbytes of dual ported memory (DPRAM).

The local bus (LB) may access four areas with the CY7C09449; an 8K direct access window into any of the PCI address spaces (memory, I/O or configuration space), the 32kbyte DPRAM, the I2O FIFOs, and the control registers. Any PCI master may access only the last three areas; further, PCI masters may not access the local bus (neither the CY7C09449 nor the 68VZ328 support this).

The DPRAM may be used as either source or destination for PCI DMA transfers, which may be initiated locally (as a master) or by another host (as a target).

The CY7C09449 is attached to a 32-bit synchronous local bus. An Altera EPM7032AE FPGA is required to attach the CY7C09449 to the 16bit asynchronous bus of the Dragonball VZ.

When the dimmPCITM CPU module is used in the system slot (slot 1), SYSEN line is pulled low; the 7032AE performs various PCI central resource functions including RESET generation, CLOCK generation and bus REQUEST and GRANT arbitration.

PCI BIOS

The PCI BIOS establishes a software interface between the PCI device drivers and the CY7C09449 hardware. When the dimmPCITM CPU module is in the system slot, the PCI BIOS also performs the scanning and initialization of devices attached to the PCI bus. Base memory and I/ O addresses are assigned, as are the shared PCI interrupt request lines.

Expansion ROMs (used by PC compatible video cards and the like) are not supported, as the Dragonball does not support the x86 code.

The PCI BIOS includes the standard ‘pcibios_read/write_config_byte/word/dword’ functions. All PCI spaces are defined to be small endian. The Dragonball, which is large endian, has been attached to the C7C09449 such that word accesses do not require byte swapping; byte accesses require toggling the least significant address bit. This is made transparent by the PCI BIOS and

30

www.amctechcorp.com

Image 30
Contents DimmPCITM 68VZ328 Hardware / Software Manual Copyright notice Contact InformationDimmPCITM Software Development Kit NETdimm Developers Kit Quick Start Guide Etc/issue Page This page left intentionally blank Introduction Launching Linux at the embeddedPage What’s on the CD? System RequirementsThis page left intentionally blank CPU Module FeaturesUC68VZ328 Embedded Microcontroller BackplaneGeneral Description CPU Module DescriptionBackplane Description Architecture CPU ArchitectureMCU Core System MemoryMemory Map Memory Memory MapLayout of the Flash and Flash Schematic Layout of the Flash Sdram Ethernet Controller Viewing the Ethernet MAC IDNETdimm Ethernet Schematic Digital I/O IOdimmDigital Output Schematic Analog Output Schematic Analog Input Schematic Digital to Analog Converter Schematic RS-232 WatchdogHighlights Usage LCD Schematic LCD InterfaceDimmPCITM Signal Descriptions DimmPCITM signals for System SlotPCI Electrical Characteristics Maximum RatingsThis page left intentionally blank Builder Kit Installing the dimmPCI TM SystemInstallation Before beginningConfiguring and compiling the µClinux kernel Creating a ROM image Customizing the filesystemAccessing your dimmPCI development board via the serial port Accessing the Network Static IPDynamic IP Accessing your dimmPCI development board via telnet Compiling your own source codeUsing NFS to streamline the development cycle Home directory/dimmpci/source Updating Applications on your dimmPCI module MethodThis page left intentionally blank Programming the uC68VZ328 LoaderOops Cd /opt/boottools/oops Oops -p /dev/ttyS0 -k kernel.bin Page Page This page left intentionally blank Appendix Sample CodeClose the file afterwards fclose filehandle Page Longwatchdogid #include unistd.h #include stdio.h int main void This page left intentionally blank Journalling Flash File System Umount /usr Sbin/mkjffs /dev/flash0 Page This page left intentionally blank Development Tool Chains Normal Usage of the PIC-COFFTool Chain Page This page left intentionally blank D1 Application Note IntroductionKernel and Filesystem Configuration Kernel and Filesystem Configuration Flow Chart YESAvailable Digital I/O Pins List of all available digital I/O pins Programming Structure Dimmio structure descriptionDigital I/O Functions Page Sample Programs In0 In1 In2 In3 In4 In5 In6 In7 Out0 Even ParityMknod io1 c 123 Page This page left intentionally blank D2 Application Note AbstractKernel Configuration RequirementsAgain, from the main menu under Network device support Kernel Configuration Flow Chart AtCommandPrompt Filesystem Configuration Cd /opt/filesystem name make clean Make Filesystem Configuration Flow Chart Modifications to ‘rc’ fileHost machine Configuration TestingPage This page left intentionally blank Using Multiple NETdimm Modules Application NoteSimple Server & Client Inetd based Server & ClientPage This page left intentionally blank Using Analog and Digital I/O with IOdimmCd /opt Cp -Rpdx newfs iodimmmfs ADC MAX1203 Available I/O Pins Category Channel Backplane System Backplane Header Slot PinFunctions Digital Inputs and Outputs+ Κ Iodimm/dio Samples/cardspecific/iodimm/dio Page This page left intentionally blank Using Oops Purpose & basic format of files for oopsUpload & Flash Upload & Run DownloadCommon oops program arguments Appendix This page left intentionally blank 104 Licensing, Copyrights & Liability DimmPCITM Software Development Kit DistributionPreamble 106 107 108 109 No Warranty Appendix How to Apply These Terms to Your New Programs111 112 113 This page left intentionally blank 114 References/ Suggested Reading