EEPROM烧写后,每次都会从EEPROM启动程序,打开 Cypress USB console 显示的设备就是烧写的固件对应的设备,如果想重新显示缺省USB设备,或者调试新固件,怎么办? 可以直接download新固件,当然也可以用下面的方法,先download Vend_Ax固件,然后往EEPROM中第一字节写入00 ,这样EEPROM就视为无效EEPROM,每次上电会按照缺省USB枚举。 注意:必须下载Vend_Ax 固件,此固件作用就是读写EEPROM。
本文中EEPROM是Large型,型号是24C64
1) 拔掉EEPROM 24C64(可以设计一个开关)
2) 上电, windows提示要安装驱动,最后设备管理器或者Cypress USB console出现"Cypress EZ-USB FX2 (68613) - EEPROM Missing",缺省USB枚举。 3)插上EEPROM 24C64,点击EZ-USB Interface面板的download下载Vend_Ax.hex(在安装目录下的example下的Vend_Ax文件下)
4)在EZ-USB Interface面板 "Vend Req" Toolbar, use the following to fill in the required fields:
Req=0xA9 (The 0xA9 vendor request is used to access large EEPROMs that have a dual-byte addressing scheme)
Value=0x0000
Index=0xBEEF
Length=16
Dir=1 IN 5) 点击Vendor_Req按钮,确认收到的16个数不是 CD CD CD CD。。。如果数据都是CD,说明EEPROM不是24LC64.
6) 在EZ-USB Interface面板 "Vend Req" Toolbar, use the following to fill in the required fields:
Req=0xA9
Value=0x0000
Index=0xBEEF
Length=1
Dir=0 OUT
Hex Bytes= 00
7) 点击Vendor_Req按钮,下载00数据到EEPROM 第一个字节中(也可以写8个字节,第一个字节要等于00,表示EEPROM无效)
8) 在EZ-USB Interface面板 "Vend Req" Toolbar, use the following to fill in the required fields:
Req=0xA9
Value=0x0000
Index=0xBEEF
Length=1
Dir=1 IN
9) 点击Vendor_Req按钮,验证EEPROM的第一个字节是0x00
10) 重新上电,依然会显示 "Cypress EZ-USB FX2 (68613) - EEPROM Missing" 这是0x00的缘故,表示EEPROM无效,用缺省USB枚举。
11) 点击Lg EEPROM下载 .iic到EEPROM中,
12)可以验证下载后的程序的前八个字节,看是否成功
13)重新上电,设备管理器出现"Cypress EZ-USB Example Device"
|