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.

MSP432E401Y: [FPGA Boot issue]FPGA boot through the Microcontroller->External flash-SPI. Booting is not happening

Part Number: MSP432E401Y

Dear Team,

                We have a custom board with an MSP432E401Y microcontroller and an Artix FPGA. Our goal is to make the FPGA boot from the microcontroller. The process involves collecting a .bin configuration file and receiving it via the Xmodem protocol.

We then write this received file to an external flash memory. After a power cycle, we read the configuration file from the flash memory and send it to the FPGA using SPI in Slave Serial Configuration mode. However, the issue we're facing is that the FPGA's 'DONE' pin does not go high, indicating that the FPGA is not successfully booting.If i receive .bin file from the xmodem and directly writing into the SDRAM read back directly write to the FPGA spi its working fine.(FPGA Done is high) but when i include SSI flash it not working.

so what could be the issue please help me to resolve the issue. This only task halt our project delivery.

Thanks in Advance!!!!

Regards,

J.Manikandasamy

Module Lead-Defence & Aerospace 

  • Hi,

      It looks like you have a very complicated system. 

    We then write this received file to an external flash memory. After a power cycle, we read the configuration file from the flash memory and send it to the FPGA using SPI in Slave Serial Configuration mode. However, the issue we're facing is that the FPGA's 'DONE' pin does not go high, indicating that the FPGA is not successfully booting

    I will suggest you use a logic analyzer to find out:

      - if you have successfully written to the spi flash. 

      - if the spi flash is returning the correct data (e.g. your .bin config file) to the MCU via Slave Serial Configuration mode. I don't know what Slave Serial Configuration mode you are talking about here. I suppose the MCU is the master and the spi flash is slave, correct? Bear in mind that if MCU is a slave, it is expecting an external master to generate the SPICLK. I'm not aware a spi flash can generate clock but if your spi flash can generate clock as a master then that is fine.

      - Instead of a full .bin file file. I will suggest you use a small file for better debugging. It is easier to observe on the logic analyzer for a small file than a full-blown .bin file. It is easier to know what went during the write and read process to the spi flash.

      - I can't emphasize more that a logic analyzer is needed to debug a problem like this. You can't just tell someone that there is a problem in a long chain of events (xmodem -> MCU -> SPI flash write -> Power cycle -> SPI flash read -> FPGA write -> boot) and have someone to pin point where the problem is. 

    .If i receive .bin file from the xmodem and directly writing into the SDRAM read back directly write to the FPGA spi its working fine.(FPGA Done is high) but when i include SSI flash it not working.

    This means reading the .bin file in the xmodem step is working. Writing to the FPGA using SPI is also working. What does not work is the writing and reading the SPI flash. That is the area you need to investigate. 

     Please show exactly as I asked. Is the write to the SPI flash successfully. Is the read from the SPI successful? Start with a small file then gradually increase the file size. If you are trying to write/read x number of bytes to/from the flash, is it writing/returning the x number of bytes?