From Terasic Wiki
(Difference between revisions)
|
|
Line 356: |
Line 356: |
| =2= | | =2= |
| * <div style="margin-left:0cm;margin-right:0cm;">'''PCIE_ConfigRead32'''</div> | | * <div style="margin-left:0cm;margin-right:0cm;">'''PCIE_ConfigRead32'''</div> |
- |
| |
- |
| |
- |
| |
| | | |
| {| style="border-spacing:0;width:15.251cm;" | | {| style="border-spacing:0;width:15.251cm;" |
Line 364: |
Line 361: |
| || '''Function:''' | | || '''Function:''' |
| | | |
- | Read PCIe Configuration Table. Read a 32-bit data by given a byte offset. | + | :Read PCIe Configuration Table. Read a 32-bit data by given a byte offset. |
| |- style="background-color:#e6e6e6;border:0.5pt solid #00000a;padding:0cm;" | | |- style="background-color:#e6e6e6;border:0.5pt solid #00000a;padding:0cm;" |
| || '''Prototype:''' | | || '''Prototype:''' |
| | | |
- | bool PCIE_ConfigRead32 ( | + | :bool PCIE_ConfigRead32 ( |
| | | |
- | PCIE_HANDLE hPCIE, | + | ::PCIE_HANDLE hPCIE, |
| | | |
- | uint32_t Offset, | + | ::uint32_t Offset, |
| | | |
- | uint32_t *pdwData | + | ::uint32_t *pdwData |
| | | |
- | ); | + | ::); |
| |- style="background-color:#e6e6e6;border:0.5pt solid #00000a;padding:0cm;" | | |- style="background-color:#e6e6e6;border:0.5pt solid #00000a;padding:0cm;" |
| || '''Parameters:''' | | || '''Parameters:''' |
| | | |
- | hPCIE: | + | :hPCIE: |
| | | |
- | A PCIe handle return by PCIE_Open function. | + | ::A PCIe handle return by PCIE_Open function. |
| | | |
- | Offset: | + | :Offset: |
| | | |
- | Specify the target byte of offset in PCIe configuration table. | + | ::Specify the target byte of offset in PCIe configuration table. |
| | | |
- | pdwData: | + | :pdwData: |
| | | |
- | A 4-bytes buffer to retrieve the 32-bit data. | + | ::A 4-bytes buffer to retrieve the 32-bit data. |
| |- style="background-color:#e6e6e6;border:0.5pt solid #00000a;padding:0cm;" | | |- style="background-color:#e6e6e6;border:0.5pt solid #00000a;padding:0cm;" |
| || '''Return Value:''' | | || '''Return Value:''' |
| | | |
- | Return '''true''' if read data is successful; otherwise '''false''' is returned. | + | :Return '''true''' if read data is successful; otherwise '''false''' is returned. |
| | | |
| | | |
| |- | | |- |
| |} | | |} |
Revision as of 16:09, 27 August 2018
Below shows the exported API in the TERASIC_PCIE_AVMM.dll. The API prototype is defined in the TERASIC_PCIE_AVMM.h.
Note: the Linux library terasic_pcie_qsys.so also use the same API and header file.
*
PCIE_Open
Function:
- Open a specified PCIe card with vendor ID, device ID, and matched card index.
|
Prototype:
- PCIE_HANDLE PCIE_Open(
- uint8_t wVendorID,
- uint8_t wDeviceID,
- uint8_t wCardIndex);
|
Parameters:
- wVendorID:
- Specify the desired vendor ID. A zero value means to ignore the vendor ID.
- wDeviceID:
- Specify the desired device ID. A zero value means to ignore the device ID.
- wCardIndex:
- Specify the matched card index, a zero based index, based on the matched vendor ID and device ID.
|
Return Value:
- Return a handle to presents specified PCIe card. A positive value is return if the PCIe card is opened successfully. A value zero means failed to connect the target PCIe card.
- This handle value is used as a parameter for other functions, e.g. PCIE_Read32.
- Users need to call PCIE_Close to release handle once the handle is no more used.
|
*
PCIE_Close
Function:
- Close a handle associated to the PCIe card.
|
Prototype:
void PCIE_Close(
- PCIE_HANDLE hPCIE);
|
Parameters:
- hPCIE:
- A PCIe handle return by PCIE_Open function.
|
Return Value:
- None.
|
Function:
- Read a 32-bit data from the FPGA board.
|
Prototype:
- bool PCIE_Read32(
- PCIE_HANDLE hPCIE,
- PCIE_BAR PcieBar,
- PCIE_ADDRESS PcieAddress,
- uint32_t *pdwData);
|
Parameters:
- hPCIE:
- A PCIe handle return by PCIE_Open function.
- PcieBar:
- Specify the target BAR.
- PcieAddress:
- Specify the target address in FPGA.
- pdwData:
- A buffer to retrieve the 32-bit data.
|
Return Value:
- Return true if read data is successful; otherwise false is returned.
|
Function:
- Write a 32-bit data to the FPGA Board.
|
Prototype:
- bool PCIE_Write32(
- PCIE_HANDLE hPCIE,
- PCIE_BAR PcieBar,
- PCIE_ADDRESS PcieAddress,
uint32_t dwData);
|
Parameters:
- hPCIE:
- A PCIe handle return by PCIE_Open function.
- PcieBar:
- Specify the target BAR.
- PcieAddress:
- Specify the target address in FPGA.
- dwData:
- Specify a 32-bit data which will be written to FPGA board.
|
Return Value:
- Return true if write data is successful; otherwise false is returned.
|
1
Function:
Read an 8-bit data from the FPGA board.
|
Prototype:
- bool PCIE_Read8(
- PCIE_HANDLE hPCIE,
- PCIE_BAR PcieBar,
- PCIE_ADDRESS PcieAddress,
- uint8_t *pByte);
|
Parameters:
- hPCIE:
- A PCIe handle return by PCIE_Open function.
- PcieBar:
- Specify the target BAR.
- PcieAddress:
- Specify the target address in FPGA.
- pByte:
- A buffer to retrieve the 8-bit data.
|
Return Value:
- Return true if read data is successful; otherwise false is returned.
|
Function:
- Write an 8-bit data to the FPGA Board.
|
Prototype:
- bool PCIE_Write8(
- PCIE_HANDLE hPCIE,
- PCIE_BAR PcieBar,
- PCIE_ADDRESS PcieAddress,
- uint8_t Byte);
|
Parameters:
- hPCIE:
- A PCIe handle return by PCIE_Open function.
- PcieBar:
- Specify the target BAR.
- PcieAddress:
- Specify the target address in FPGA.
- Byte:
- Specify an 8-bit data which will be written to FPGA board.
|
Return Value:
- Return true if write data is successful; otherwise false is returned.
|
Function:
- Read data from the memory-mapped memory of FPGA board in DMA.
Maximal read size is (4GB-1) bytes.
|
Prototype:
- bool PCIE_DmaRead(
- PCIE_HANDLE hPCIE,
- PCIE_LOCAL_ADDRESS LocalAddress,
- void *pBuffer,
- uint32_t dwBufSize
- );
|
Parameters:
- hPCIE:
- A PCIe handle return by PCIE_Open function.
- LocalAddress:
- Specify the target memory-mapped address in FPGA.
- pBuffer:
- A pointer to a memory buffer to retrieved the data from FPGA. The size of buffer should be equal or larger the dwBufSize.
- dwBufSize:
- Specify the byte number of data retrieved from FPGA.
|
Return Value:
- Return true if read data is successful; otherwise false is returned.
|
Function:
- Write data to the memory-mapped memory of FPGA board in DMA.
|
Prototype:
- bool PCIE_DmaWrite(
- PCIE_HANDLE hPCIE,
- PCIE_LOCAL_ADDRESS LocalAddress,
- void *pData,
- uint32_t dwDataSize
);
|
Parameters:
- hPCIE:
- A PCIe handle return by PCIE_Open function.
- LocalAddress:
- Specify the target memory mapped address in FPGA.
- pData:
- A pointer to a memory buffer to store the data which will be written to FPGA.
- dwDataSize:
- Specify the byte number of data which will be written to FPGA.
|
Return Value:
- Return true if write data is successful; otherwise false is returned.
|
2
Function:
- Read PCIe Configuration Table. Read a 32-bit data by given a byte offset.
|
Prototype:
- bool PCIE_ConfigRead32 (
- PCIE_HANDLE hPCIE,
- uint32_t Offset,
- uint32_t *pdwData
- );
|
Parameters:
- hPCIE:
- A PCIe handle return by PCIE_Open function.
- Offset:
- Specify the target byte of offset in PCIe configuration table.
- pdwData:
- A 4-bytes buffer to retrieve the 32-bit data.
|
Return Value:
- Return true if read data is successful; otherwise false is returned.
|