I've been using the BF514F16 for years and it works great. I have the BMODE pins set to 010 so the program stored in the internal flash boots fine. The BF514F16 is obsolete, so I'm testing out booting from external SPI memory, by setting BMODE pins to 011. I updated my flash programmer to work with the external flash (GD25Q16C). I wrote a tiny program that toggles a pin, so that I don't run into the 05000490 anomaly. If I load this program onto internal flash, it boots fine and the pin toggles. If I load the program onto external flash, I can see that the ROM code begins reading the program from flash for about 100ms but then stops.
If I load the ADSP-BF514-ROM-V02 code on the ICE-1000 emulator, it runs fine with internal flash. If I run it with the board that has external flash, it gets to _bootrom.bootkernel.entry, then _bootroom.bootkernel.header.first, then _bootrom.bootkernel.initcode, then _bootroom.assert.default.
I believe I have the lines hooked up correctly. the CS pin is pulled high through a 10k resistor, along with the MISO line.
The tiny program doesn't have any initcode.
Any suggestions on what to try next would be very appreciated!