2 Replies Latest reply on Feb 25, 2011 5:13 AM by anandsrinivasana_

    Please help with code size and memory location for a single chip application with no external ram.



      I've just finished testing my firmware as desired. I have been working with the FX2 dev board. It runs fine, I even managed to load the firmware from the large eeprom with a 24LC64.


      Now, I tried running the same firmware without the externa ram. The dev board has to jumpers that control access to external ram, MM0 and MM1. So, if you place jumpers in those headers it is soposed to work without external ram. Well it doesn't work! Not from eeprom nor loades with the cypress control panel.


      My .hex file is 10k (9679 bytes). My .iic file is 4k (3159 bytes). In the uvision2 the compiles tells me this: Program size: data=43.6 xdata=4635 code=3130. So one thing I don't get is the dada=43.6! What is it in? 43.6 what?  I've never seen a .6 byte! So, I presume that my code is 3130bytes and xdata space is 4635bytes, this gives me 7765 bytes, that could fit in the 8k FX2. But I' not very familiar with the memory in this chip so I guess there are some blocks not usable or something.


      Well I decided to use the FX2LP chip instead, so my code could easily fit in 16K. I made a board with the FX2LP chip and the eprom only just to see if it enumerates properly, but no!


      I write the eeprom with the same firmware in the FX2 Dev Board and then put the eeprom to my little test board with the FX2LP chip. And I get device not recognized. If I run the little FX2LP board with no eeprom I get the default Cypress No-EEPROM device.


      Now I went back to uVision2 and chaged the BL51 settings in the target options. It was set to code at 0x4000 and xdata to 0x5000 as default, so I guessed that was the thing, so I changed it to code at 0x0000 and xdata to 0x0400 which is above 0x03CA (3130 bytes of code). This didn't work either yet it compiled with no errors and It works in the FX2 Dev Board but only with external ram settings in MM0 and MM1 jumpers off. So this means it is still using external ram.


      I need help either to set options un uVision2 of to understand how to run my firmware without external ram.


      Anything will be appreciated!


      Thanks for your time.


      Gabriel Camiro