- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear All,
I have a problem about F/W code size. I use CY7C68013A and it has 16KB RAM. EEPROM is 24LC128 and its size is 16KB. When F/W code size is smaller than 8KB, everything is ok. When F/W code size is over 8KB, I use following command to generate iic file :
Hex2bix -V 0x04CA -P 0xAF10 -M 0x4000 -I -F 0xc2 -O AtPDCMFw.iic AtPDCMFw.hex
After I download iic file by CyConsole, the device appears as "Unknown USB device". But if I download hex file directly, the device is ok. What is the problem? Thanks~
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The issue looks a little confusing. You should be seeing this only if you are using FX2 or earlier of the EZ-USB family. If the hex file works then the iic file is bound to work.
Is it possible to attach the hex file and iic file here???
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Sir,
Thanks for your reply. The attached zip file includes hex and iic file. I use following command to convert hex file to iic file :
C:\Cypress\USB\bin\Hex2bix -V 0x04CA -P 0xAF10 -M 0x4000 -I -F 0xc2 -O AtPDCMFw.iic AtPDCMFw.hex
I read EEPROM data by Genius NSP program and check with iic file. They are the same. So the data downloaded to EEPROM is correct. Is it possible that iic file is wrong? Thanks!!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Sir,
My problem is solved! To generate over-8KB F/W code, I duplicate the code of ISR_Sudav like following:
void ISR_Sudav(void) interrupt 0
{
GotSUD = TRUE; // Set flag
EZUSB_IRQ_CLEAR();
USBIRQ = bmSUDAV; // Clear SUDAV IRQ
GotSUD = TRUE; // Set flag
EZUSB_IRQ_CLEAR();
USBIRQ = bmSUDAV; // Clear SUDAV IRQ
GotSUD = TRUE; // Set flag
EZUSB_IRQ_CLEAR();
USBIRQ = bmSUDAV; // Clear SUDAV IRQ
GotSUD = TRUE; // Set flag
EZUSB_IRQ_CLEAR();
USBIRQ = bmSUDAV; // Clear SUDAV IRQ
}
This is the reason EEPROM does not work.
Thanks for your help!!!