int main1(void) { void *lib_handle; PCIE_HANDLE hPCIE; BOOL bQuit = FALSE; int nSel; printf("== Terasic: PCIe Demo Program ==\r\n"); lib_handle = PCIE_Load(); if (!lib_handle){ printf("PCIE_Load failed!\r\n"); return 0; } hPCIE = PCIE_Open(DEFAULT_PCIE_VID,DEFAULT_PCIE_DID,0); if (!hPCIE){ printf("PCIE_Open failed\r\n"); }else{ while(!bQuit){ UI_ShowMenu(); nSel = UI_UserSelect(); switch(nSel){ case MENU_LED: TEST_LED(hPCIE); break; case MENU_BUTTON: TEST_BUTTON(hPCIE); break; case MENU_DMA_MEMORY: TEST_DMA_MEMORY(hPCIE); break; case MENU_DMA_FIFO: TEST_DMA_FIFO(hPCIE); break; case MENU_QUIT: bQuit = TRUE; printf("Bye!\r\n"); break; default: printf("Invalid selection\r\n"); } // switch }// while PCIE_Close(hPCIE); } PCIE_Unload(lib_handle); return 0; }
Fpga::Fpga() { libHandle = PCIE_Load(); if (!libHandle) { throw std::runtime_error("Failed to load PCIE lib"); } pcieHandle = PCIE_Open(DEFAULT_PCIE_VID, DEFAULT_PCIE_DID, 0); if (!pcieHandle) { PCIE_Unload(libHandle); throw std::runtime_error("Failed to open PCIE"); } }
Fpga::~Fpga() { PCIE_Close(pcieHandle); PCIE_Unload(libHandle); }
int main(void) { void *lib_handle; PCIE_HANDLE hPCIE; BOOL bQuit = FALSE; int nSel; //file handle FILE *ptr_file; ptr_file = fopen(DATABASE_FILENAME, "r"); if (!ptr_file){ printf("00: Cant open %s database file", DATABASE_FILENAME); return 1; } printf("== Terasic: PCIe Demo Program ==\r\n"); lib_handle = PCIE_Load(); if (!lib_handle){ printf("PCIE_Load failed!\r\n"); return 0; } hPCIE = PCIE_Open(0,0,0); if (!hPCIE){ printf("PCIE_Open failed\r\n"); }else{ while(!bQuit){ UI_ShowMenu(); nSel = UI_UserSelect(); switch(nSel){ /* case MENU_LED: TEST_LED(hPCIE); break; case MENU_BUTTON: TEST_BUTTON(hPCIE); break; case MENU_READ_DATABASE_FILE: TEST_LOAD_DATABASE(ptr_file); break; */ case MENU_WRITE_DATABASE: TEST_DMA_WRITE_DATABASE_MEMORY(hPCIE, ptr_file); break; case MENU_READ_DATABASE: TEST_DMA_READ_DATABASE_MEMORY(hPCIE); break; case MENU_DMA_WRITE_MEMORY: TEST_DMA_WRITE_QUERY_MEMORY(hPCIE); break; case MENU_DMA_READ_MEMORY: TEST_DMA_READ_QUERY_MEMORY(hPCIE); break; /* case MENU_DMA_FIFO: TEST_DMA_FIFO(hPCIE); break; */ case MENU_QUIT: bQuit = TRUE; printf("Bye!\r\n"); break; default: printf("Invalid selection\r\n"); } // switch }// while PCIE_Close(hPCIE); fclose(ptr_file); } PCIE_Unload(lib_handle); return 0; }