Johnnie White Posted July 28, 2019 Share Posted July 28, 2019 Hi, I'm looking for next steps. I followed a tutorial on How To Store Your SDK Project in SPI Flash and the boot loader starts but never launches the target application. https://reference.digilentinc.com/learn/programmable-logic/tutorials/htsspisf/start I've traced it down to the file xilisf.c where the call to XIsf_GetDeviceInfo() never returns. It appears to get stuck on XIsf_Transfer() and never returns. Here's a snip-it of code: /* * Prepare the Write Buffer. */ InstancePtr->WriteBufPtr[BYTE1] = XISF_CMD_ISFINFO_READ; InstancePtr->WriteBufPtr[BYTE2] = XISF_DUMMYBYTE; InstancePtr->WriteBufPtr[BYTE3] = XISF_DUMMYBYTE; InstancePtr->WriteBufPtr[BYTE4] = XISF_DUMMYBYTE; InstancePtr->WriteBufPtr[BYTE5] = XISF_DUMMYBYTE; /* * Initiate the Transfer. */ Status = XIsf_Transfer(InstancePtr, InstancePtr->WriteBufPtr, ReadPtr, XISF_INFO_READ_BYTES); Link to comment Share on other sites More sharing options...
Johnnie White Posted July 29, 2019 Author Share Posted July 29, 2019 I have since figured out the issue. I needed to disable XIP Mode in the AXI Quad SPI flash block. Link to comment Share on other sites More sharing options...
jpeyron Posted July 29, 2019 Share Posted July 29, 2019 Hi @Johnnie White, Welcome to the Digilent Forums! Glad to hear you were able to figure out the issue. Thank you for sharing that disabling the XIP Mode was the fix for this situation. best regards, Jon Link to comment Share on other sites More sharing options...
Question
Johnnie White
Hi,
I'm looking for next steps.
I followed a tutorial on How To Store Your SDK Project in SPI Flash and the boot loader starts but never launches the target application.
https://reference.digilentinc.com/learn/programmable-logic/tutorials/htsspisf/start
I've traced it down to the file xilisf.c where the call to XIsf_GetDeviceInfo() never returns. It appears to get stuck on XIsf_Transfer() and never returns.
Here's a snip-it of code:
/*
* Prepare the Write Buffer.
*/
InstancePtr->WriteBufPtr[BYTE1] = XISF_CMD_ISFINFO_READ;
InstancePtr->WriteBufPtr[BYTE2] = XISF_DUMMYBYTE;
InstancePtr->WriteBufPtr[BYTE3] = XISF_DUMMYBYTE;
InstancePtr->WriteBufPtr[BYTE4] = XISF_DUMMYBYTE;
InstancePtr->WriteBufPtr[BYTE5] = XISF_DUMMYBYTE;
/*
* Initiate the Transfer.
*/
Status = XIsf_Transfer(InstancePtr, InstancePtr->WriteBufPtr,
ReadPtr, XISF_INFO_READ_BYTES);
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.