need to test simple data transfer example on linux

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • need to test simple data transfer example on linux

      Hi to all,

      Actually i am new to linux envirnment and want to use EFM01 to transfer some data from PC(Ubuntu) to EFM01 in c /c++.

      I have inastall
      1)zlib development libraries
      2)cmake
      3)wxWidgets
      4)then extarct the tar file to home folder ("UDK2.0.0.0")
      5)then build and installd drivers
      6)then using cmake gui build udk
      now how can i test an simple application of transfering data from usb to fpga.


      as per User Manual C1050-4107 i came up to here.
      Please guide me to test this module on ubuntu.
    • Dear Thomas,

      Thank you so much.

      Now i have successfully test the EFM01 on Ubuntu .
      but the speed is so slow don't know why on linux 500KB/S on Linux 4000KB/S.
      (i am using virtual Ubuntu on windows pc).


      One more thing i want to know is that are these drivers work on Ubuntu / Angstrom with Arm Cortex A8/A9 processors.
      i have tried on Panda board +Ubuntu .

      1)install zlib
      2)build and install cmake
      3)i have extract the UDK2.0.0.0
      4)when i tried to compile drivers there is an error

      //==================

      utopia@utopia-PandaBoard:~/UDK2.0.0.0/drivers/linux/usb$ make
      make -C /lib/modules/2.6.38-1208-omap4/build SUBDIRS=/home/utopia/UDK2.0.0.0/drivers/linux/usb modules
      make[1]: Entering directory `/usr/src/linux-headers-2.6.38-1208-omap4'
      CC [M] /home/utopia/UDK2.0.0.0/drivers/linux/usb/ceusbuni.o
      /home/utopia/UDK2.0.0.0/drivers/linux/usb/ceusbuni.c:658:2: error: unknown field ‘ioctl’ specified in initializer
      /home/utopia/UDK2.0.0.0/drivers/linux/usb/ceusbuni.c:658:2: warning: initialization from incompatible pointer type
      /home/utopia/UDK2.0.0.0/drivers/linux/usb/ceusbuni.c: In function ‘ceusb_probe’:
      /home/utopia/UDK2.0.0.0/drivers/linux/usb/ceusbuni.c:707:2: error: implicit declaration of function ‘init_MUTEX’
      /home/utopia/UDK2.0.0.0/drivers/linux/usb/ceusbuni.c: In function ‘ceusb_vendor_request’:
      /home/utopia/UDK2.0.0.0/drivers/linux/usb/ceusbuni.c:238:20: warning: ignoring return value of ‘down_interruptible’, declared with attribute warn_unused_result
      /home/utopia/UDK2.0.0.0/drivers/linux/usb/ceusbuni.c: In function ‘ceusb_bulk_transfer’:
      /home/utopia/UDK2.0.0.0/drivers/linux/usb/ceusbuni.c:307:21: warning: ignoring return value of ‘down_interruptible’, declared with attribute warn_unused_result
      /home/utopia/UDK2.0.0.0/drivers/linux/usb/ceusbuni.c:376:21: warning: ignoring return value of ‘down_interruptible’, declared with attribute warn_unused_result
      /home/utopia/UDK2.0.0.0/drivers/linux/usb/ceusbuni.c: In function ‘ceusb_dlfirmware’:
      /home/utopia/UDK2.0.0.0/drivers/linux/usb/ceusbuni.c:507:20: warning: ignoring return value of ‘down_interruptible’, declared with attribute warn_unused_result
      make[2]: *** [/home/utopia/UDK2.0.0.0/drivers/linux/usb/ceusbuni.o] Error 1
      make[1]: *** [_module_/home/utopia/UDK2.0.0.0/drivers/linux/usb] Error 2
      make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-1208-omap4'
      make: *** [all] Error 2
      //==================

      if these drivers work on such system then please tell me what i must to do to compile and install these drivers.

      Nilesh Mane
    • Dear Nilesh,

      regarding the slow speed you've mentioned. The example application transfers data between host and 2 kB sized block ram inside the FPGA. This means, no buffer larger than 2 kB can be transferred at once, which results in low bandwidth. To get higher speed, blocks of 64 kB or higher should be used (and must be accepted by the FPGA design).

      Theoretically the driver should work on the Arm Cortex, as no x86 specific code is used, but we never have tested this (One known restriction: The system must be little endian, otherwise some code must be changed).

      Regarding the error: One structure has been changed in Kernel 2.8.3x, which prevents the driver to build. This is known and will be fixed in the next UDK release. We don't have a release plans at the moment.
      Up to this, you can either try to fix this at your own or go back to an older kernel version. I'm not exactly sure which version changes the structure, I assume it was 2.8.36/37.

      best regards,
      Thomas
      Thomas
      Software development
      Cesys GmbH
    • i switched to 2.6.35

      Dear Thomas,


      it will be great for me if EFM01 work with Arm + Ubuntu/Angstrom.


      As per you told me to switch to older version of kernel, i compiled 2.6.35 and and boot my board.
      but now when i attempt to build drivers it gives another error.



      utopia@utopia-PandaBoard:~/UDK2.0.0.0/drivers/linux/usb$ uname -r2.6.35
      utopia@utopia-PandaBoard:~/UDK2.0.0.0/drivers/linux/usb$ make
      make -C /lib/modules/2.6.35/build SUBDIRS=/home/utopia/UDK2.0.0.0/drivers/linux/usb modules
      make: *** /lib/modules/2.6.35/build: No such file or directory. Stop.
      make: *** [all] Error 2
      utopia@utopia-PandaBoard:~/UDK2.0.0.0/drivers/linux/usb$



      i compare it with Ubuntu desktop the build directory is nothing but the link to keneel-headers in /user/scr/linux-headers<version>, but in my case there are only headers of previous kernel version(in /usr/scr/) there are no file for 2.6.35.

      please, can you tell me when these files are created?
      or how can i create this "linux-header<version no> " directory.



      Nilesh Mane