6 Replies Latest reply on Feb 26, 2014 10:59 AM by vavc

    Bulkloop firmware to cy7c68013a via CyConsole.

    matej.ondricka

      Hi,

         

      I wanto to test bolkloop firmware on Linux platform, but firmware is loaded to EZ USB on Windows 7 64b platform via CyConsole.

         

      But I think, that firmware is not loaded correct to ezusb.

         

      I attach the file, where you see screen shots of my driver, .inf file, CyConsole.

         

      After downloading firmware the ez-usb is disconnected from PC, and when I push reset button on board with ezusb, dhe device is connected.

         

      For testing I use this application, which use libusb library (http://www.cypress.com/?docID=35633). I cen read informaton about the device, but bulkloop transfer dont work :

         

      "This function is for testing the bulk transfer. It will write on OUT endpoint and read from IN endpoint.

         

      For seeing whole bulkloop action from HOST -> TARGET -> HOST, Please run correct firmware on TARGET and restart this program"

        • 1. Re: Bulkloop firmware to cy7c68013a via CyConsole.
          vavc

           Hi ,

             

           

             

          It seems like that the CY7C68013A is not programmed properly. Because the device enumerated with default VID/PID 04B4/8613. Have you programmed the RAM or EEPROM?

             

           

             

          Regards,

             

          Vikas.

          • 2. Re: Bulkloop firmware to cy7c68013a via CyConsole.
            matej.ondricka

            Does mean, that I need to change VID/PID? I programmed RAM.

            • 3. Re: Bulkloop firmware to cy7c68013a via CyConsole.
              matej.ondricka

              But is possible, that I programmed EEPROM too.

              • 4. Re: Bulkloop firmware to cy7c68013a via CyConsole.
                vavc

                 Hi,

                   

                When Cy7C68013A is not programmed, then it will enumerate with 04b$/8613. If you programe RAM, then it will be cleared once you disconnect the device(switch off the power fro self powered device) . 

                   

                As you have programmed the EEPROM, make sure that you are not disconnecting the EEPROM (by means of any switch).If the EEPROM is properly programmed then you have press the RESET button to disconnect and connect the device. So that device will enumerate with the VID?PID used in the firmware. If you are using your own VID/PID then you have edit the inf file with your VID/PID and bind the device manually.

                   

                Please share the *.iic file.

                   

                 

                   

                Regards,

                   

                Vikas. 

                • 5. Re: Bulkloop firmware to cy7c68013a via CyConsole.
                  matej.ondricka

                  Thank you, problem is solved!

                     

                  Now when I download .iic original bulkloop file to eeprom, after reset is device enumerated with new VID and PID and bulkloop transfer run on linux platform.

                     

                  But when I want to make own .iic file, I solved problem, that device is not enumerated.

                     

                  Make .iic file:

                     

                  Hex2bix.exe -i -f 0xc2 -r -m 0xe200 -v 0x04b4 -p 0x1004 -o bulkloop.iic bulkloop.hex

                     

                  Then device is not enumerated, and when I connect it to linux and listusb, then show me:

                     

                  >lsusb

                     

                  >Bus 002 Device 046: ID b404:0410

                     

                  That means, the bytes of VID and PID reversed.

                  • 6. Re: Bulkloop firmware to cy7c68013a via CyConsole.
                    vavc

                     Hi,

                       

                    The issue is not because of reversed bytes of VID/PID. in the firmware itslef, in dcsr.a51 file, you have to give the lower byte of VID/PID first and then upper byte in the descriptors. 

                       

                    While creating iic file, if we give the following command

                       

                    "Hex2bix.exe -i -f 0xc2 -r -m 0xe200 -v 0x04b4 -p 0x1004 -o bulkloop.iic bulkloop.hex",

                       

                     

                       

                    then it won't reverse the byte. 

                       

                     

                       

                    while creating the iic file, 2-5Bytes of iic file are VID/PID. the values are by default 0547 and 2131. If the EEPROM has valid first Byte 0xC2 and if the RENUM bit is zero, then it will enumerate with the VID/PID in the 2-5Bytes of iic file. if RENUM bit is 1 then it will enumerate with the VID/PID used in the firmware.

                       

                     

                       

                    Regards,

                       

                    Vikas.