DE5-NET
User
Manual
110
June 20, 2018
The base address of BUTTON and LED controllers are 0x4000010 and 0x4000020 based on
PCIE_BAR4, respectively. The on-chip memory base address is 0x00000000 relative to the DMA
controller.
The above definition is the same as those in the PCIe Fundamental demo.
Before accessing the FPGA through PCI Express, the application first calls PCIE_Load to
dynamically load the TERASIC_PCIE_AVMM.DLL. Then, it calls PCIE_Open to open the PCI
Express driver. The constant DEFAULT_PCIE_VID and DEFAULT_PCIE_DID used in
PCIE_Open are defined in TERASIC_PCIE_AVMM.h. If the developer changes the Vender ID,
Device ID, and PCI Express IP, they also need to change the ID value defined in
TERASIC_PCIE_AVMM.h. If the return value of PCIE_Open is zero, it means the driver cannot
be accessed successfully. In this case, please make sure:
The FPGA is configured with the associated bit-stream file and the host is rebooted.
The PCI express driver is loaded successfully.
The LED control is implemented by calling PCIE_Write32 API, as shown below:
The button status query is implemented by calling the
PCIE_Read32
API, as shown below:
The memory-mapped memory read and write test is implemented by
PCIE_DmaWrite
and
PCIE_DmaRead
API, as shown below: