Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > Need help with programming Vid/Pid!

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



Need help with programming Vid/Pid!
Moderator:
RSKV

Post Reply
Follow this topic



Need help with programming Vid/Pid!

electrosys posted on 15 Apr 2011 4:32 AM PST
Member
4 Forum Posts

I am new at Cypress and EZ-USB FX2LP, I need some help to programming the Vid/Pid in the boards EEPROM. I have a EZ-USB FX2LP board with the (ISSI 32K SRAM) I am trying to assign a new Vid/Pid to the board, and I am using the NX2LP Programmer Utility, but it doesn't work for me! I have read all the help file and other PDF files that I could find at Cypress, and I exactly did what are at the help files, but I had no luck!   

I can use the CyConsole EZ-USB  for Download *.iic and *.hex files, but when I try the NX2LP Programmer Utility it just not working, I really don't know what is wrong here! Any help will be most appreciate.




Re: Need help with programming Vid/Pid!

aasi posted on 15 Apr 2011 08:33 AM PST
Cypress Employee
1090 Forum Posts

Download vend_ax (.hex) example to the board using Cyconsole. Now you can use 0xA9 vendor command to write to the EEPROM. In your case since you want to program just VID/PID, send the data in the C0 boot Load format specified in FX2LP TRM.

NX2LP Manufacturing utility is used to work with NX2LP-Flex/NX2LP or FX2LP emulating NX2LP-Flex not for writing VID/PID to EEPROM.

Regards,

Anand



Re: Need help with programming VID/PID!

electrosys posted on 16 Apr 2011 01:59 AM PST
Member
4 Forum Posts

Thank you for your quick reply. I understand now, why I can not use the NX2LP Programmer Utility. I have download the Vend_ax (.hex) to the board and I can do all that, but I don't know where/how to enter the VID/PID?

I have also read the AN50963.pdf, page 3,- Programming small EEPROM -, that explains the same procedure with downloading Vend_ax (.hex) and.... I just don't understand the last part, where or how to enter VID/PID! Would you please explain it to me, as a new been could understand it.

Sinderely

Reza



Re: Need help with programming Vid/Pid!

aasi posted on 16 Apr 2011 03:11 AM PST
Cypress Employee
1090 Forum Posts

In that application note (AN50963), In the programming small EEPROM section

You'll have to use A9 instead of A2 (since yours is a 32k EEPROM it would be connected as large EEPROM) then in that picture of CyConsole inside the red oval you can see a hex bytes field. Enter your VID/PID in the format shown in the programming small EEPROM section i.e. C0, VIDL, VIDH, PIDL, PIDH

Regards,

Anand



Re: Need help with programming Vid/Pid!

aasi posted on 16 Apr 2011 03:16 AM PST
Cypress Employee
1090 Forum Posts

Mistook the RAM for EEPROM.

If yours is a small EEPROM (EEPROM with all address lines A0, A1 and A2 tied to ground and used just for holding the VID/PID) then use A2 else you'll have to use A9 like I suggested above.

Regards,

Anand



Re: Need help with programming Vid/Pid!

electrosys posted on 16 Apr 2011 05:27 AM PST
Member
4 Forum Posts

Thank you very much for your help, I find out how to do it now.

Regards

Reza 



Re: Need help with programming Vid/Pid!

EranHadar posted on 08 Apr 2013 06:21 AM PST
Member
4 Forum Posts

 Hi,

I have the same problem as described above, i.e:

1. i use Cypress and EZ-USB FX2LP and programmed as described in the AN50963.pdf , using evaluation board CY3687.

2. First i connect to the safe EEPROM and use the default VID/PID.

3. After the board enumarates im switching the DVK  to small EEPROM.

4. Short pins 2-3 of JP7 to enable writes to small EEPROM-U8 (Write protect pins for small EEPROM).

5. Download Vend_Ac.hex to the RAM.

6. Send the command 0xA2 with value :0x00 index :0x00 and the format shown in the programming small EEPROM section: C0, VIDL, VIDH, PIDL,  PIDH. (0xC0 0x04 0xB4 0x10 0x10)

7. Unpluged the device and then pluged it back.

Now i see the problem:

The device manager doesnt enumarate with the new VID/PID ( and the old - the USB not recognized at all ). The application (Cypress USB Console ) is stuck and i must burn the EEPROM again with the cypress default .iic file LP18_dvk.iic.

I need your help....

 

 



Re: Need help with programming Vid/Pid!

NIKL posted on 08 Apr 2013 09:12 AM PST
Cypress Employee
148 Forum Posts

 EranHadar

Forget the Vend-ex way of doing it.

Copy one of .iic files. (Lets say, bulkloop.iic provided with the sdk). Open with any hex editor.

Change the first 5 bytes to the required format (0xC0, VID, PID). Delete rest of the bytes.

Save it.

Now you can use this iic file to program small eeprom. USB boot-> Enable small eeprom-> Cyconsole->Program->Small EEPROM->(Choose the iic file) 

Let me know if you need more explanation.

 

Thanks

Nikhil

 



Re: Need help with programming Vid/Pid!

EranHadar posted on 09 Apr 2013 11:52 PM PST
Member
4 Forum Posts

 Hi NIKL,

Thanks for your quick response!!.

I tried to implement your recomendations and its doesnt work again, but when i change the format to C2 instead of C0 , it is worked (The board enumaration ).

i tried to understand the differnce , and why it is doesnt work, and i find out that there is a difference between FX2LP TRM & FX2LP18 TRM !!!

In FX2LP it is support the 'C0 load' ( Can see in paragraph 3.4.2) and in FX2LP18 it is not support the 'C0 load' ( There is any refer to 'C0 load' ), Your data sheets ( AN50963.pdf ) not refer at all for these difference and unfortunately i lost time to understand these differece!!!

So if im reback to my question , i want to implement "Automated Firmware Download from USB Using Script File from USB" as described in AN50963.pdf  , i can do it with 'C2 load' ( i.e : (0xC2, VID, PID) format ) ? or there is other why to work with?

Regards

Eran Hadar

 



Re: Need help with programming Vid/Pid!

NIKL posted on 10 Apr 2013 10:06 PM PST
Cypress Employee
148 Forum Posts

 Were you planning to have an small EEPROM just to store C0 Load information and then use script method?

I went through the FX2LP18 TRM, there is no mention of C0 Load, but section 3.5 does mention c0 and c2 eeprom load methods.

It needs a little more clarification.

If c0 load is not supported I guess you will have to store the firmware in EEPROM and use c2 load method. Or use a dummy firmware in EEPROM with c2 load and then tie the spt file to the new VID/PID with which the device comes up (from dummy iic stored in eeprom).

 



Re: Need help with programming Vid/Pid!

EranHadar posted on 11 Apr 2013 12:45 AM PST
Member
4 Forum Posts

 Hi,

Thanks for your response....

I find out cypress application note AN6076  "Differences Between EZ-USB FX2LP and MoBL-USB X2LP18" and in the section of "Boot-up Differences" , i read that FX2LP18 not support 'C0 load' and just 'C2 load' .

My question is :

Is the only way I can load my device is by burn the FW to the EEPROM ( ' c2 load' )???? ( This is not a good way for me and i can't use it! )

Or there is another method by .spt file to this ? 

And if the answer is "yes" ( by .spt file) please guid me how to do this ( step by step) as a new user.

Thanks again 

Eran

 



Re: Need help with programming Vid/Pid!

NIKL posted on 11 Apr 2013 01:25 AM PST
Cypress Employee
148 Forum Posts

 Eran

You can use the default VID/PID of cypress and use the script method. There is no need for EEPROM in this case. It is fine to use Cypress VID/PId as long as it is just for developoement phase.

We recommend you use your company's VID/PId in your final product. And for that since Fx2lp18 supports only C2 boot, you will have to use big enough EEPROM to store the entire firmware.

We do not recommend the using Cypress VID/PID in final product because once you develop a script for your product( with cypress VID/PID ) and bind it, any cypress device you or your customers will use, will get binded to your driver and script.

If you want to use C0 load method, you should consider going for FX2LP.

Thanks

Nikhil

 



Re: Need help with programming Vid/Pid!

EranHadar posted on 16 Apr 2013 12:08 AM PST
Member
4 Forum Posts

I saw from the “device manger” -> “Driver file details “ that the OS loaded my .spt ( bulkloop.spt )

file and cypress .sys file J.

 

Now I have another question:

 

These is mean that my project .hex file loaded to the RAM ?

 

I’m asking these question because if I try to send command from cypress CyConsole ( “Bulk Transfer” command ) I can’t do these…

But if i loaded directly ( bulkloop.hex ) to the RAM I can send  “Bulk Transfer” command?

 

There are another steps that I missed? Can you explain me?

Best regards,

Eran

 



Re: Need help with programming Vid/Pid!

Gayathri posted on 02 May 2013 11:06 PM PST
Cypress Employee
428 Forum Posts

 Hi,

 

Please attach the .spt file here. We would like to try the same.

 

Regards,

Gayathri






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Spec No: None; Sunset Owner: KXP; Secondary Owner: VWA; Sunset Date: 01/01/20