4 Replies Latest reply on Mar 13, 2015 9:57 AM by user_1377889

    USB HID Bootloader and then switching to USBUART in program

    william.dreschel

       Hi,

         

      I have been using the USB HID bootloader in my PSOC5LP project without issue. I would like to switch the function of the USB port to USB serial when my bootloadable program runs. So in the bootloadable program I reconfigure  the USBFS module to USBUART. I do the normal startup code:

         

          CyGlobalIntEnable;

         

          /* Start USBFS Operation with 3V operation */

         

          USBUART_Start(0,USBUART_3V_OPERATION);

         

          while(!USBUART_bGetConfiguration());

         

          USBUART_CDC_Init();

         

      I am using Windows 7 Professional x64. When the bootloadable program first starts, the Windows Driver Installation Program takes a very long time and never finds the CDC Data Interface driver. (It searches on-line and in preconfihured folders.) When I point the Device Manager Update Driver dialog to the \Generated_Source\PSoC5 directory, it won't use the generated driver.

         

      Any thoughts on this? I should be able to switch from HID to USBUART right? I have attached the Windows fails for reference.

         

      Thanks, Bill

        • 1. Re: USB HID Bootloader and then switching to USBUART in program
          william.dreschel

           I also tried the CDC Driver Windows Win7 x64 driver from here:

             

          http://www.cypress.com/?rid=93995

             

          And went thru the installation and still Win7 will not use the CDC Data Interface driver when pointing Update Driver at it...

          • 2. Re: USB HID Bootloader and then switching to USBUART in program
            william.dreschel

             Well, I got it working on my Toshiba I3 Win7 x64 notebook. Simply using the default PID F232 and pointing the Driver Update dialog to the generated code \ PSOC5 directory worked. The computer recognized and enumerated the COM port and I was able to communicate with it thru a C# program. (I had been using a PID of 0005 before which had been recommended at a Cypress forum.) So I bootloaded as a HID and then switched to a Virtual Serial port. Cool.

               

            So pressing my luck I moved the board to my second older HP I3 Win7 x64 notebook. This time I got an Unknown USB Device. When I tried pointing the Driver Update dialog to the generated code \ PSOC5 directory Windows told me that the best driver was already loaded (gotta love that).

               

            Any ideas? Do I need to change the USB voltage to 5V or something like that? Has anyone seen this before?

            • 3. Re: USB HID Bootloader and then switching to USBUART in program
              william.dreschel

               Well, talking with myself one more time:

                 

              I got both of my computers working with the USBUART by using this code:

                 

                CyGlobalIntEnable;

                 

                  /* Start USBFS Operation with 3V operation */

                 

                  USBUART_1_Start(0,USBUART_1_DWR_VDDD_OPERATION);

                 

                  

                 

                  while(!USBUART_1_GetConfiguration());

                 

                  

                 

                  USBUART_1_CDC_Init();

                 

              Had seen another reference to using USBUART_1_3V_OPERATION screwing up someone elses Win7 USB serial communication somewhere else in the forum.

                 

              SO VOLTAGE DOES MATTER! I think the newer Toshiba was more tolerant to lower voltage USB than the HP...

              • 4. Re: USB HID Bootloader and then switching to USBUART in program
                user_1377889

                Bill,

                   

                when nobody talks to you here, Probably nobody made an experience as you did. The "usual" thing is that the windows supplied drivers help. Sometimes it helps to remove the USB-associated drivers and do a re-install. A good and helpfull tool is deview64 which you can download freely from nirsoft.org.

                   

                 

                   

                Bob