Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

USB low-full-high speed peripherals Forum Discussions

Anonymous
Not applicable

Dear,

   

I am zhangyj, I have developed a project, that using CY7C68013A in slaveFIFO mode. Now I want to download the firmware to EEPROM,

   

I have created the IIC file by hex2bix, and download it to EEPROM.

   

 

   

USB device can be detected, and enumerate two times, but  the firmware can not work, if I use USB cable download the firmware to 68013 directly, it will work.

   

 

   

Anyone can help me, thanks!

0 Likes
28 Replies
Anonymous
Not applicable

Please let me know the command line arguments you're using to create the .iic file.

   

Regards,

   

Anand

0 Likes
Anonymous
Not applicable

hex2bix -i -o abc.iic hxd_usb_load.hex -f 0xC2 

   

The hxd_usb_load.hex is the firmware that can work if download from usb.

   

I also try the command:

   

hex2bix -i -o abc.iic hxd_usb_load.hex -f 0xC2 -v  0x0547 -p 0x1002,

   

The results are same, iic file can not work after downlaod to EEPROm(24LC64, pin0 pull-up).

0 Likes
Anonymous
Not applicable

Hi,

   

     Have you checked with any working iic file?. Download any working iic(Eg, bulkloop.iic available with DVK) file and see whether it works. What is the VID/PID being displayed? Does it match with the VID/PID in firmware?

0 Likes
Anonymous
Not applicable

Hi,

   

    I encounter the same problem to you. Have you solve it? Could you give me some suggestion? My email address is : xueguofeng@nssc.ac.cn

   

Thanks in advance.

   

Guofeng Xue

0 Likes
Anonymous
Not applicable

Hi Guofeng Xue,

   

You are saying that FX2LP is not booting from the EEPROM that is there on your board. I am assuming that you are seeing this with your custom board.

   

Please let me know if you are able to programm the EEPROM successfully. Also let me know the EEPROM part number that you are using. Also, share the schematics and hex file, if possible.

   

Thanks,

   

sai krishna.

0 Likes
Anonymous
Not applicable

Hi RSKV,

   

Thanks for your reply.  The hex adn iic files are in the attach file. The command used to generate iic file, is like this:
C:\Cypress\USB\Bin\Hex2bix.exe -i -o  tcxmaster.iic tcxmaster.hex -f 0xc2 -v 0x1234 -p 0x5678

   

also, I tried another way, in the follows, but the results are the same.

   

C:\Cypress\USB\Bin\Hex2bix.exe -i -f 0xc2 -v 0x1234 -p 0x5678 -c 0x40 tcxmaster.hex

   

Thank you very much.

0 Likes
Anonymous
Not applicable
0 Likes
Anonymous
Not applicable
0 Likes
Anonymous
Not applicable
0 Likes
Anonymous
Not applicable
0 Likes
Anonymous
Not applicable

Please try with the attached .iic file.

   

Thanks,

   

sai krishna.

0 Likes
Anonymous
Not applicable

Attaching the tcxmaster.iic file by changing the extension to .txt.

   

Change the extension to .iic after you download the file.

   

Thanks,

   

sai krishna.

0 Likes
Anonymous
Not applicable

Oh,Thank you .

0 Likes
Anonymous
Not applicable

Hi RSKV,

   

And this is the cyusb.inf file

   

Guofeng Xue

0 Likes
Anonymous
Not applicable

Hi,

   

Have you tried programming your board with the .iic file that I have attached.

   

Please let me know the result after you test it at your end.

   

Thanks,

   

sai krishna.

0 Likes
Anonymous
Not applicable

Hi RSKV,

   

Yeah, I have tried to use the file you gave. but the result is the same. PC can recognize the device, read the VID and PID, but they can not communicate with each other.

   

By the way, in the file you give to me, i find that th second and third byte data are not 0x34 and 0x12. If the iic file is generated the mmand of hex2bix.exe the second and third byte data should be the VID. Why? Thanks for your reply and happy to discus with you.

   

Guofeng Xue

0 Likes
Anonymous
Not applicable

I tested till FX2LP enumerates with the code present in the EEPROM.

   

What am I supposed to try on that after enumeration. please let me know so that I can try the same at my end.

   

Thanks,

   

sai krishna.

0 Likes
Anonymous
Not applicable

Hi,

   

1. Open the cy console use lg eeprom to download iic file into the target eeprom in the device.

   

2. turn off the device and then turn on it.

   

3. get the vid and pid using cy console.

   

4. click the "bulk trans" button on the cy console interface. if the conmunication is successfull,  the transfored data will be printed on the console, if not. it will print the "trans... failed"

   

Guofeng Xue

0 Likes
Anonymous
Not applicable

Bulk transfers are failing even if I download the firmware into FX2LP's RAM through USB.

   

Same is the case when FX2LP boots from the connected EEPROM.

   

what is the behaviour that you are obsering at your end. Is there an issue with booting from EEPROM or with doing bulk transfers?.

   

Please let me know.

   

Thanks,

   

sai krishna.

0 Likes
Anonymous
Not applicable

Hi,

   

it can boot from eeprom, because we can get the vid and pid correctly, but  it can not comunicate after booting from eeprom such as bulk transfer.

   

thanks

   

Guofeng Xue

0 Likes
Anonymous
Not applicable

PS, When use .hex file the bulk transfer works well.

   

Guofeng Xue

0 Likes
Anonymous
Not applicable

Hi,

   

I am seeing the BULK transfers getting failed in both cases. Please have a look at the attached image showing the Bulk transfers getting failed even after downloading your hex file into FX2LP's RAM.

   

Do one thing. Share your firmware project source code. I will take a look at it by adding some debug messages.

   

You can also try adding some debug messages (gets printed on UART), if you have that facility on your board.

   

Thanks,

   

sai krishna.

0 Likes
Anonymous
Not applicable

OK. The attached file bellow is the same as  I used, except the vid and pid in dscr.a51 file. please try with my firmware project.

   

thank you.

   

Guofeng Xue

0 Likes
Anonymous
Not applicable

Hi RSKV,

   

    Are there any bugs in my firmware project? Thanks.

   

Guofeng Xue

0 Likes
Anonymous
Not applicable

I can not do any bulk transfers even with the firmware that you sent me. I will update you once I have any findings.

   

Thanks,

   

sai krishna.

0 Likes
Anonymous
Not applicable

Hi RSKV,

   

Please try to change the vid and pid in dscr.a51 file. Rebuild them after the changing ,and then try the bulk transfer in the cy console. i think .hex file will work well.

   

before:

   

 ;;     dw   0b404H      ;; Vendor ID
 ;;     dw   1386H      ;; Product ID (Sample Device)  
      dw   07360H      ;; Vendor ID
      dw   0210H      ;; Product ID (Sample Device)

   

after:

   

      dw   0b404H      ;; Vendor ID
      dw   1386H      ;; Product ID (Sample Device)  
    ;;  dw   07360H      ;; Vendor ID
   ;;   dw   0210H      ;; Product ID (Sample Device)

   

Thanks

   

Guofeng Xue

0 Likes
Anonymous
Not applicable

Finally,I solve the problem. The key point is that 68013's configuration needs IFCLK. In the firmware I designed, it use external IFCLK, which drive from Xilinx FPGA. After power on, 68013 reads firmware from eeprom, and configure itself, but xilnx fpga's initiation is slower than 68013, so it cannot drive IFCLK to 68013. So 68013 cannot be configured correctly . After changing the fpga and give a reset to 68013, it works well.

0 Likes
Anonymous
Not applicable

 Cool 🙂

0 Likes