iMX6UL USB Communication Problem

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

iMX6UL USB Communication Problem

2,698件の閲覧回数
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

ラベル(1)
0 件の賞賛
返信
4 返答(返信)

2,555件の閲覧回数
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 件の賞賛
返信

2,555件の閲覧回数
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 件の賞賛
返信

2,555件の閲覧回数
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 件の賞賛
返信

2,555件の閲覧回数
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 件の賞賛
返信