Our project runs reliably via the emulator (runs every time without fail and runs for days without a single hiccup so we know the DSP hardware itself is reliable). However when running the same code from FLASH sometimes the DSP will not boot. Some DSPs are worse than others (i.e. some will boot 9 times out of 10, others will boot only twice out of 10 tries). Once the DSP boots it's fine but sometimes it just won't boot. We've traced the issue to the the first function (an LCD init routine) that executes from DDR3 (our code is very large with a mixture of functions in internal memory and DDR3). When the DSP fails to boot we see it has aborted when trying to call this function. It never even enters the function as we put an LED diagnostic at the start and the LED doesn't light.
The DSP is booting via a NOR FLASH via EMIF16. The boot failure is from a cold (power-up) boot. If the DSP fails to boot the project can be loaded via the emulator and runs fine.
Any clues as to what might be causing this? It is random in nature so it's got to be something to do with a power-up condition.