Hi,
I'm working on the above-mentioned NAND flash controller which is 8051 based. Firmware is actually stored in a portion of the NAND flash which is then boot-loaded upon startup. According to the datasheet, it has 15KB of on chip code/data RAM. It also states that the default firmware is about 8KB, and that there's about 7KB free space for me to add any extra code.
I've compiled this with Keil uVision3 and sure enough the "code" section under "Program Size" is about 7+KB, but xdata takes up another 6+KB. I'm wondering if xdata is part of the 15KB, because in the project options->target, the off-chip memory size is only set to 0x2000 which is 8KB. I have tried expanding this to a larger size with a larger code and it compiles, but I'm getting some weird behavior which makes me wonder if my code space is actually too large and overwriting some other memory space.
Some of the weird behavior include 1) Weird ASCII characters showing up in the vendor/product ID upon USB renumeration 2) Wrong LUN behavior upon USB renumeration 3) Different behavior in standalone and debug mode 4) Some global variables being modified w/o me changing them
I'm wondering if anyone has any experience working with the same chip before? If so, is xdata part of the 15KB, and if not, how much xdata is available, and how much code space is really available?
I understand this isn't a Cypress support forum but I have been having trouble getting a response from Cypress either from their forum, the distributor or from Cypress themselves. Any help would be appreciated. Thanks.