Cypress Perform

Home > Support
support.cypress.com     Bookmark and Share
Support

Knowledge Base Article



FX2LP does not enumerate for Firmware (code+xdata) of Size Greater than 16 K - KBA83973

Last Updated: 12/20/2012

Question: FX2LP does not enumerate when firmware (code+xdata) of size greater than 16 K is downloaded. Why is this happening?

Answer: Check in your .m51 file where the compiler is placing the descriptor files. The issue might be that the compiler is putting the descriptor table into external memory. When this happens fw.c relocates the descriptor table to memory location 0x0080 where it overwrites some portion of the code. This might cause error in enumeration or incorrect functioning of some part of code. You can specify the starting location of your code memory after leaving space for the interrupt vector tables and the descriptor table.


For example, in the BL51 locate tab, you can specify your code to begin at a location greater than (0x0080 + length of your descriptor table). Here, 0x0000 - 0x0080 will contain the interrupt vector table. For example if the length of your descriptor table is 80h, you can safely start your code from 0x120h.


Related Categories: USB Hi-Speed Peripherals




Provide feedback on this item to help us improve:

How likely are you to recommend this article to a friend or colleague?

Not at all likely
0
1
2
3
4
5
6
7
8
9
10
Extremely likely

Was this item helpful?
Yes
No
Maybe


Additional comments:

Email:

Sunset Owner: KXP; Secondary Owner: VWA; Sunset Date: 01/04/12