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

Inconsistant results in external memory

I am currently using the STR710 to drive a touch screen. Up until now we have been running the code in internal and external flash (large bitmap constants have been placed here). It has run perfectly like this.

New developments on the project have forced me to move the entire code so that it runs completely in external flash.

When I do this I get some pretty inconsistent results. The code will download, boot and run fine in some configurations. If I make a small change like pulse a led or enable my SPI before the UART rather than after the system won't run.

I suspect this is some sort of memory mapping problem and have even tried some segmentation. Separating CODE from CONST seemed to help things a bit. But I can still stop the code from running by flashing a LED. Or adding an extra line of code in some arbitrary part of the software.

I don’t suppose anyone else has come across something like this before?

Parents
  • Stack overflow and allocated array overflow could generate magic behavior. I move code in STR912FW44 from bank 0 to bank 1 and my program stop working. Reason was my mistake - I did not set number of tasks properly. But it was working from bank 0! I'm sure in followed development it would generate inconsistent result.

Reply
  • Stack overflow and allocated array overflow could generate magic behavior. I move code in STR912FW44 from bank 0 to bank 1 and my program stop working. Reason was my mistake - I did not set number of tasks properly. But it was working from bank 0! I'm sure in followed development it would generate inconsistent result.

Children
No data