We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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?
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.