Das UDK ist ein platformübergreifendes Konzept, um CESYS-FPGA Karten (USB sowie PCI, PCIe) einheitlich anzusprechen. Derzeit unterstützte Betriebssysteme: Windows 7, Windows XP, Windows Vista und LINUX. Ein LabView Interface ist in der UDK ebenfalls enthalten. Eine Lizensierung bzw. Anpassung auf Fremdharware ist auf Anfrage möglich. |
![]() |
|---|
Auf der Host Seite steht unter den verschiedenen Betriebssystemen die standardisierte API "udkapi_vc[ver]_[arch].lib" zur Verfügung. FPGA-seitig kommt eine standardisierte 32-bit Wishbone-Bus Schnittstelle zum Einsatz. FPGA-Designs und zugehörige PC-Software sind durch das Cesys UDK ohne bzw. mit minimaler Codeänderung unter allen unterstützten Betriebssystemen auf allen unterstützten FPGA-Karten lauffähig. Für kundenspezifische Elektronikenwicklungen können wir ebenfalls auf das UDK aufsetzen. Code Beispiel: |
|---|
#include "udkapi.h" using namespace ceUDK; void TransferSomeData(ceDevice *pDev){ // declare some variables unsigned int uiBaseAddress = 0x0; unsigned int uiWriteVal = 0x11111111; unsigned int uiReadVal = 0x0; // write, read and compare some values for(unsigned int i=0; i<4; ++i){ pDev->WriteRegister(uiBaseAddress, uiWriteVal); uiReadVal = pDev->ReadRegister(uiBaseAddress); if(uiWriteVal != uiReadVal){ throw ceException(0x80000000, "Register test failed due to data inconsistence."); } uiWriteVal <<= 1; } } int main(){ // begin of exception catch area try{ // initialize API and enumerate EFM01 boards. ceDevice::Init(); ceDevice::Enumerate(ceDevice::ceDT_USB_EFM01); // check if any device is detected if(0!=ceDevice::GetDeviceCount()){ // access first device ceDevice *pDev = ceDevice::GetDevice(0); // open device for usage pDev->Open(); // program the FPGA pDev->ProgramFPGAFromBIN("AnyUserDesign.bin"); // do some data transfer TransferSomeData(pDev); // device not needed anymore, close it pDev->Close(); Für weitere Informationen zum UDK oder wenn Sie Fragen haben, besuchen Sie unser FPGA-Forum, schicken Sie uns eine E-Mail oder rufen Sie uns an: 09132 733 400. |