This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
We have a custom board with two C6657s. They operate normally in all respects (PCIe, DDR3 etc) except when trying to boot from NOR.
IF the BOOTMODE is set to NOBOOT (switch setting) we can run all of our tests.
If we load the flash (at address 0x70000000) with the simplest of code (BR $) and set the BOOTMODE to NOR, then the DSP just ends up executing rubbish.
The DEVSTAT register reads 0x201 for NOBOOT, and 0x241 for NOR boot.
If I set the BOOTMODE to NOBOOT and reset the board, then connect CCS, everything is as expected. No GEL file is loaded.
I can then reset the core withing CCS, and set DEVSTAT to 0x241. If I execute the IBL now it will never even attempt to read the flash. I have a logic analyser within an FPGA connected to EMIF so I can see what is going on.
If I set the BOOTMODE to NOBOOT and leave DEVSTAT as 0x201, I can change the PC to 0x70000000 and run. This runs fine so there appears to be no problem executing directly from flash.
I have the IBL source code, but it is really hard to follow.
Does anyone know if a DEVSTAT value of 0x241 is compatible with a NOR boot from 0x70000000 using a 16-bit device?
And can you confirm that for a NORBOOT all that happens is that the PC is set to 0x70000000 after a bit of housekeeping? You don't need any tables within the flash?
Thanks.
Thanks.
I've seen that post already. It is for a different processor so the pin settings are different.
My problem is much more severe. Although the DSP seems to work fine in every other respect, it only reliably works if the bootmode is set to NOBOOT.
In all of my testing, I have only ever seen it correctly boot from NOR 3 times. When it fails to boot properly, then the PC can be anywhere - literally!