I am porting software update code from a BF522 to a BF548. The BF522 version works. The main difference is in SPI0 access. (PORTE on the BF548). I can boot a test LDR file that I wrote to sector 0 of the flash and if I call 0xEF000000, the test program also runs. When I call bfrom_SpiBoot and dFlags = BFLAG_PERIPHERAL | BFLAG_SLAVE | BFLAG_NOAUTO | 3 the program goes into a continuous loop in the L2 ROM area (0xFFA22712 - 0xFFA2271A). If BFLAG_NOAUTO is left out of dFlags the program immediately halts at address 0xFFA225F6, also in the L2 ROM area. It's obvious the SPI is not correctly setup. The L2 ROM is not viewable from the emulator so this conclusion comes from a process of elimination. I am a newby to the Blackfin processors so most likely it is something really really simple. SPI_init function I am calling is attached to this post. I tried to follow the example described in the discussion titled "Loading LDR from a running image". There was no mention in that discussion what Blackfin processor was used; but the method is very similar to what I am porting.