This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Cypress FX2 memory addressing, compiler options help!

Hello,

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 external 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 loaded 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 data=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 changed 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 in uVision2 of to understand how to run my firmware without external ram.

Anything will be appreciated!

Thanks for your time.

Gabriel Camiro