iMX6UL USB Communication Problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX6UL USB Communication Problem

1,216 Views
dennis_jelcic
Contributor I

Hello,

 

We are developing software on the NXP i.MX 6UltraLite, ARM Cortex-A7 (MCIMX6G2CVM05AA) using IAR EW 8.32.4.  We need to develop software that will communicate via the USB port on the baseboard (NXP MCIMX6UL-BB).  We have installed version 2.2 of the SDK (SDK_2.2_MCIM6UL_RFP_Win).  We found example code for a USB ramdisk at the following path in the SDK: %SDK_PATH%\boards\evkmcimx6ul\usb_examples\usb_device_msc_ramdisk\bm.

We are able to compile the code, and get it to run.  However, we are not able to see the device on our PCs.  We are using libusb as our library to communicate with USB devices.  We have successfully used this library to communicate with other USB devices.  However, the libusb code we have does not see the ramdisk.

Is there some type of configuration data that needs to be changed in the ramdisk code, or something else that needs to change in that code, that we are missing?

Thank you for any help that you can provide.

 

Dennis Jelcic

Labels (1)
0 Kudos
4 Replies

1,073 Views
dennis_jelcic
Contributor I

Hi Carlos,

Thanks for the response.  We found the problem.  The USB driver that we were using was not fully functional.  Once we deleted and reinstalled the USB driver, the software started working properly.

Thank you for all your help.

Dennis

0 Kudos

1,073 Views
dennis_jelcic
Contributor I

Hi Carlos,

Thank you for your response.  I apologize for the delay in responding.  I was having difficulty in logging-in to this website.

We have solved the problem as to why we could not see this device on our PC.  There was a problem with our physical USB connection.  That portion is now functional.

We are experiencing a different problem now.  The code runs on the MCU, and we can see the device on our PC.  However, the code does not function as it should.  What should happen once the PC recognizes the device is that Microsoft Windows should prompt the user to format the RAM disk.  However, that does not happen.

What would cause this behavior?  Is there some configuration setting that needs to be set?

Here are the details of our environment:

    Processor: NXP i.MX 6UltraLite (MCIMX6G2CVM05AA)

    Processor Family: ARM Cortex-A7

    Baseboard: NXP MCIMX6UL-BB

    IDE: IAR EW 8.32.4

    SDK: SDK_2.2_MCIM6UL_RFP_Win

    Example Code: %SDK_PATH%\boards\evkmcimx6ul\usb_examples\usb_device_msc_ramdisk\bm

Regards,

Dennis

0 Kudos

1,073 Views
CarlosCasillas
NXP Employee
NXP Employee

Hi Dennis,

There is a FAQ on RAMDISK examples that includes issues when formatting, and it is typically caused by a so small RAM disk, as the default disk size is not enough for the FAT table and additional space. So, you could refer to the file “disk.h” of the mentioned example and looking for the macros “TOTAL_LOGICAL_BLOCKS_ADDRESS” and “LENGTH_OF_EACH_LBA” and changing their values do generate a RAM buffer greater than 20KB, because when a disk is formatted on FAT16, the FAT itself requires about 16-20 KB. If more blocks are assigned (for example 60 blocks of 512 bytes) the raw capacity will be 30 KB, but Windows will show a disk of 10 KB after formatting.

Hope this will be useful for you.
Best regards!
/Carlos
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

-------------------------------------------------------------------------------

0 Kudos

1,073 Views
CarlosCasillas
NXP Employee
NXP Employee

Hi Dennis,

Could you please specify which IDE are you using to compile the application, and how did you download it to the i.MX6UL board? Have you checked the boot switches? Are you monitoring the application with the debug UART? Have you verified that USB cables are connected to the proper port?

Hope this will be useful for you.

Best regards!

/Carlos

0 Kudos