This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DLPC6401: GUI software can't find USB-to-I2C converter DLL

Part Number: DLPC6401

We purchased the USB-to-I2C Pro that the DLPC6401 GUI software (DLPC139 - DLPC6401 GUI Files) uses to talk with the controller, but the GUI software isn't finding the USBtoI2Cpro.dll file.  I selected the USB-to-I2C Pro through the preferences menu, and get the error saying it can't find the .dll.

The status tab at the bottom shows this...

The i2ctools.com site says the .dll file will reside in the c:\windows\system32 directory, which it does.  After the intitial failures, I tried putting a copy of the .dll into the same folder as the GUI's executable, but still no luck.  I noticed that the status info in the GUI showed a serial number of 0, so out of curiosity, I used regedit to add the correct SerialNumber to the registry.  The GUI seems to see it alright, but it didn't help with getting the software to find the .dll.

I've been able to verify using the USB-to-I2C application that came with the converter that the USB-to-I2C hardware is recognized, and also sent some read requests with that software to successfully verify that the output changes as expected on the oscilloscope.  Further, I verified that the DLPC6401 GUI software never actually tries to send any read or write requests (on the scope), so it seems the problem really is with not finding the .dll.

I've read through DLPU014, the DLPC6401 GUI User's Guide, but it makes no mention of any specific device or software version, so I can't really go back to the company that makes the USB-to-I2C Pro and ask for a version that's known to work with this.  How should I proceed?

Thanks,

Eric 

  

  • Hello Eric,

    Did you download USB-to-I2C Pro for 32bit or 64 bit version?

    Did you move the .dll file to the DLPC6401 GUI folder and you can still see the same error message? The default DLPC6401 GUI installation directory is C:\Program Files (x86)\DLPC6401 GUI 1.0.

    Regards,

    Lori 

  • Hi Lori,

    I downloaded the only version shown from the i2ctools website, which was version 8.3.1 for 64-bit Windows.  The .dll header also confirms that it's the 64-bit version.  Do I need to request a 32-bit version?

    As I mentioned, I did move the .dll to the default gui executable folder, and I just confirmed that it was installed at the default path you noted.

    I'll go ahead and request the 32-bit version, but I would appreciate it if you could confirm this is what I need.

    Thanks,

    Eric

  • Hi Eric,

    Thanks for sharing the information. 

    We will need to look into more resource about the DLPC6401 GUI because this GUI is an old version. 

    Regards,

    Lori 

  • Hi Lori,

    I was able to get the 32-bit version of the DLL from support at I2Ctools, but having not updated the 32-bit dll in quite some time, they expressed concerns with it working with the latest versions of Windows.  I was able to install it, and the GUI made it past the dll error, but then the GuI gave errors of not being able to find a connected USBtoI2C device.  So, two more questions.

    1) While you're asking around, can you find out the last version of Windows on which the DLPC6401 GUI was confirmed to work?  It may be quicker to just install it on a machine running that version of Windows.

    2) There's a note on the reference design schematic that says, "NOTE:Dedicated I2C pins have I2C specific drivers.  GPIO I2C pins (GPIO_8 and GPIO_9) do not have I2C specific drivers."

    Since the GUI connects through the I2C slave port (GPIO_8 & GPIO_9), then is it correct that the DLPC6401 must boot from flash connected to the DLPC6401's master I2C port that's already programmed with the bootloader?  I can't find it stated anywhere, but I'm assuming the bootloader implements the I2C slave driver which would then allow the GUI to connect through the slave port.

    Thanks,

    Eric

  • Hi Eric,

    Thanks for investigating more. 

    I'm still waiting for the response from our internal team, and I will give you update once we have more information. 

    In the DLPC6401 GUI User's Guide, the system requirement for the GUI is Windows XP SP3 or higher, so I think it should work with any version of Windows that satisfy the requirement. 

    I will need to look into your question 2.

    Regards,

    Lori 

  • Hi Lori,

    I'm working with the I2CTools company to try to get the device to be recognized when using the 32-bit version of the DLL.  I believe they're saying it has something to do with driver signing.  While I work through that with them, any progress on my second question regarding the I2C slave port & the bootloader?  I appreciate your help.

    Thanks,

    Eric  

  • Hi Eric,

    I checked with the team, the DLPC6401 GUI 1.0 should work with any latest windows versions that is Windows XP SP3 or higher.

    The DLPC6401 must boot from the parallel flash on the board. It should not boot from any flash attached to I2C. The dedicated IIC0 pins use I2C specific interface buffers. The IIC1 pins use general GPIO pins. so their performance and operation may not be exactly the same. 

    Regards,

    Lori 

  • Hi Lori,

    Thanks. The GUI does run, but it's dependent on out-of-date versions of hardware that don't work with newer versions of Windows.  We have the latest version of I2Ctool's USB-to-I2C converter, the only one of the two supported converters that's still available, and the GUI definitely does not work with it in Windows 11 without reverting to a DLL that's no longer maintained.  Even with that, the GUI now recognizes the DLL but still can't find the USB-to-I2C converter.

    I can setup an old Windows machine to make this work, so what I'm asking is what version of Windows do I need to revert to in order for the GUI to work as intended?

    Regarding booting from the parallel flash, that surprises me.  The reference design shows this by the USB interface in the schematic...

    That led us to believe we could program and boot from the I2C flash.  How do we program the bootloader on to the parallel flash?   We've followed the reference design, which doesn't bring out the JTAG and includes that note about the USB not being required.  Does the note above only pertain to production with preprogrammed flash?  Can you point me to a document with bootloader programming instructions?

    Thanks,

    Eric

  • Hi Eric,

    Yes, we have not updated the DLPC6401 GUI for a while since we did not have the EVM available anymore. I could not find any information in the document or from the team to know the latest Windows version worked with the GUI. 

    For the bootloader programming instructions, I'm trying to search if we have any similar document that can be shared with you.

    Regards,

    Lori 

  • Hi Lori,

    Have you found any documents with bootloader programming instructions for the DLPC6401?  On the board we made, we've broken out the USB pins to test points, so if we need to program the flash via USB, then we can, but we need to know what's required on the PC end to do that.  Without the ability to program the bootloader on to the parallel flash, we can't connect the DLPC6401 GUI, so we can't configure the controller.  Until we can demonstrate that we can operate the controller, we can't proceed with having new boards made.  We're at a stand still, so we really need to get this resolved.

    Thanks,

    Eric

  • Hi Eric,

    Unfortunately, the team have very limited support for the DLPC6401. Sorry for the inconvenience. 

    Regards,

    Lori