Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Regular Contributor
forte31
Posts: 92
Registered: ‎02-06-2008
0

Avnet LX9 lab 6 SPI Bootloader tutorial with LX16 ISE 13.4

I have gone through the LX9 tutorial successfully with the Avnet microboard and 13.2. 

 

I have my own design with an LX16 and now running 13.4.

 

I am able to program the SPI Flash successfully, but my application does not seem to work. I have verified the application programming the FPGA successfully in the debugger.

 

I have noticed 2 things that are different from the tutorial.

 

1. I can not select xilisf 2.03, only 2.04 appears in my library.

 

2. I needed to change the application start address from 0x60000 to 0x80000. (maybe because of the LX16 ?)

 

The SPI appears to be loading the FPGA and the DONE pin does go high

Regular Contributor
forte31
Posts: 92
Registered: ‎02-06-2008
0

Re: Avnet LX9 lab 6 SPI Bootloader tutorial with LX16 ISE 13.4

Still troubleshooting this issue. I noticed in bootloader.c (supplied by Xilinx, modified by Avnet), I can not get past the return error:

 

if (count > SREC_MAX_BYTES)
return LD_SREC_LINE_ERROR;

 

It seems c needs to equal 0xD for this to work (see code below). Works this way in Lab6 but not in my application using the LX16:

 

c = ReadBuffer[XISF_CMD_SEND_EXTRA_BYTES];

if (c == 0xD) {
/* Eat up the 0xA too */
TransferInProgress = TRUE;
ReadParam.Address = flbuf++;
ReadParam.NumBytes = 1;
ReadParam.ReadPtr = ReadBuffer;

XIsf_Read(&Isf, XISF_READ, (void*) &ReadParam);
IsfWaitForFlashNotBusy();
c = ReadBuffer[XISF_CMD_SEND_EXTRA_BYTES];

return 0;
}

*buf++ = c;
count++;
if (count > SREC_MAX_BYTES)
return LD_SREC_LINE_ERROR;
}

 

More comments in the code would have been nice. What is the purpose of (c==0xD)?

Regular Contributor
forte31
Posts: 92
Registered: ‎02-06-2008
0

Re: Avnet LX9 lab 6 SPI Bootloader tutorial with LX16 ISE 13.4

I just changed xilisf.h to ver 2.04 (under BSP settings) in my LX9 microboard tutorial. Now this board is exhibiting the same symptom. I can not bootload. this seems to be the key. unfortunately I can no longer get a selection for 2.03a? Can anyone tell me how I can choose xilisf.h v2.03, or why does 2.04 cause a problem. The rev history indicates 2.04 was generated to support Numonyx, but 2.03 seemed to work fine with Numonyx.