There is a problem we met when the MPC8309 on our dev board trying to boot from a SPI Flash. We configure the MPC8309 to read reset configuration word from I2C EEPROM. The configuration word is: RCWLR=0x4405_0008 RCWHR=0xA430_0000. So MPC8309 is to boot from SPI Flash as described in the datasheet. The SPI CLK activates to read data. It goes well in reading all the data specific in Table5-5 until we try to configure the internal registers by using "Config Address/Data" pairs. That is, when we try to give a value to 0xFF40_nnnn, the SPI controller stop to read and the CPU is hanged!
If we don't configure any internal register and just end configuration with EC instruction(Described in Table5-7), The SPI start to read "User's Code". But after several bytes the process is down, too. In this case, we think the cause is that no local access window is enabled for DDR SDRAM controller. So, it seems that 0xFF40_nnnn is not a legal address, but the default value of IMMRBAR is indicated to be 0xFF40_0000 in the datasheet.
Any suggestion? Thank you.