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.

Compiler/AM3352: SPI boot fails

Part Number: AM3352

Tool/software: TI C/C++ Compiler

Dear expert

My application is built with AM3352. The main flash memory is spansion SPI Flash named FL256SA1F00.

Boot mode is SPI Boot.

Some of  target board have strange problem. I made 20 target boards with same circuit and PCB.

Among these, 6 board had failed spi flash boot.

I traced the masked boot code in AM3352 and found forever loop related SPI flash memory.

Code from 0x2326C to 23270 means to check read SPI IRQStatus register.

r3 has address 0x48030118

Target board with trouble has zero in r3. So boot process does not continue any more.

Normal (operating well) board has 0x05 Value in that time (r3)

I scoped signal related with SPI flash. After first access from AM3352, there is no more access from AM3352.

Below is circuit related with CPU/SPI Interface.

And sysboot configuration.

Do you have any idea about how to solve this problem.

PS) I am uploading more signal information.

First case : when AM3352 has successful booting seq, the upper signal in scope is SPI SLK and below is MCU RESET.

And during the fail condition, signal condition

  • The factory team have been notified. They will respond here.
  • First, thanks for the details in the post. At that point in the ROM, the processor is attempting to read a block of data from the SPI flash. Here are some comments on the info you provided.
    1. Have you ruled out an assembly error? Double check the data signals and CS with a scope, to insure data is being transmitted during that first burst of CLK. Compare with a working board to see where a difference occurs in the command sequence.
    2. Ideally, there should be a small series resistor on the CLK signal, located close to the processor. This is to mitigate reflections on the clock when reading data (the clock is used to re-time data returning from the SPI flash). It would be difficult to see this unless you have a probe point close to the processor. How much distance is between the processor and flash memory?
    3. If you are getting stuck at the same point in the ROM on all the boards, i think you sysboot signals are fine.
    4. Schematics look fine, especially since you can get a majority of boards working.

    If you have one, a SPI analyzer would be great to have here to help with the decode of the signals.

    Regards,
    James