joosteto Posted May 27, 2013 Report Share Posted May 27, 2013 I'm trying to write my (Xilinx ISE generated) .bif file to the papilio flash, and xc3sprog gives this Verifying Failure (see below).It seems somehow 6c33 is inserted in the bitstream. After page 245 many more pages fail. Re-trying the same command will fail with the same errors at the same page. I can flash other .bit files, it really seems to be this bit file that is a problem (this .bit file is from a sligtly larger project, maybe it's the size?)The bitfile can be sent to the FPGA directly (without the -I and -R options to xc3sprog) ./xc3sprog -c papilio -I../bscan_spi/bscan_spi_xc3s500e_papilio.bit ~/VHDL/ClkTrig/design_top.bit -v -R[...]Verifying page 244/ 1109 at flash page 244Verify failed at flash_page 245read:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d577eebb0000000000000000ffff2f00adf0fc0787a5cec300000000cec393cc765687005bf39a650ef530225599000000000c0a0fa50000000000000000be96d8271b0050af000000000000000000000000000000000000000000000000file:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d577eebb0000000000000000ffff2f00adf0fc0787a5cec300000000cec393cc765687005bf39a656c330ef530225599000000000c0a0fa50000000000000000be96d8271b0050af00000000000000000000000000000000000000000000 Attached is the design_top.bit file that causes the problem, and the full output of xs3sprog.I'm using the Papilio One;XC3SPROG © 2004-2011 xc3sprog project $Rev: 691 $ OS: Linux (retrieved from git 17th of april 2013)Ubuntu 13.04 Anyone know a fix?design_top.bitverify-failure.txt Link to comment Share on other sites More sharing options...
Jack Gassett Posted May 28, 2013 Report Share Posted May 28, 2013 Can you try to do the same with papilio-prog? I routinely load large bit files that have code and audio appened to the end of them without any problems. I've never tried with xc3sprog though. Jack. Link to comment Share on other sites More sharing options...
joosteto Posted May 28, 2013 Author Report Share Posted May 28, 2013 Thanks for the suggestion. When I compile and run papilio-prog, I get this: $ sudo ./papilio-prog -v -f ~/VHDL/LEDTest/LEDtest.bit -b ../xc3sprog/trunk/bscan_spi/bscan_spi_xc3s500e_papilio.bit -sa -rUsing built-in device listJTAG chainpos: 0 Device IDCODE = 0x41c22093 Desc: XC3S500EUploading "../xc3sprog/trunk/bscan_spi/bscan_spi_xc3s500e_papilio.bit". Done.Programming time 444.9 msProgramming External Flash Memory with "/home/joostje/VHDL/LEDTest/LEDtest.bit".Uknown Flash Manufacturer (0x00)Error: SPI Status Register [0x00] mismatch (Wrong device or device not ready)..Error occured.USB transactions: Write 148 read 8 retries 8 This seems similar to http://forum.gadgetfactory.net/index.php?/topic/1451-loading-the-spi-flash-on-the-papilio-pro/But `git pull` (repository: git://github.com/GadgetFactory/Papilio-Loader.git) reports that I'm up-to-date.How do I check the version of papilio-prog that I have (If I do indeed need the v2.3)? (The above command uses a .bit file that xc3sprog can send to the papilio flash without any problems) Link to comment Share on other sites More sharing options...
joosteto Posted May 28, 2013 Author Report Share Posted May 28, 2013 One more note:* I hacked xc3sprog to detect the location where the missing 2 bytes will occur, and to addd two zero bytes in the stream (see below) yeah, a really bad hack, but it does work* The 2 bytes before the 0x6c33 are 0x9a, 0x65, that happens to be half of the bit-reverse of the 'magic' 0x59, 0xa6, defined in progalgspiflash.cpp and bscan*.vhd -- is that a coincidence? So around the ProgAlgSPIFlash::program() function, this line: spi_xfer_user1(NULL,0,0,&AAIP_Cmd[0], 0, inAAImode ? 3 : 6); now has been replaced by: if(willfail){ uint8_t buf[6]; memcpy(buf, AAIP_Cmd, 6); buf[1]=buf[2]=0; printf("* * * * * prepending zero's! * * * * * \n"); spi_xfer_user1(NULL,0,0,buf, 0, inAAImode ? 3 : 6); } spi_xfer_user1(NULL,0,0,&AAIP_Cmd[0], 0, inAAImode ? 3 : 6); //If we see the 'magic', the next send will fail: willfail=(AAIP_Cmd[1]==0x59)&&(AAIP_Cmd[2]==0xa6); (and a declaration of the willfail variable).I know this is a bad hack, but maybe someone else now notices the real problem. Question:* Can anyone else with a Papilio One try the design_top.bit file I attached at the top of this thread with xc3sprog? I really would like to know if it is just my setup. Link to comment Share on other sites More sharing options...
Jack Gassett Posted May 29, 2013 Report Share Posted May 29, 2013 I just verified that I can program that bit file using the Papilio Loader and papilio-prog. If those methods are not working for you then there must be something wrong with your SPI Flash and we should replace the board. If you want to get a replacement board then please just send an email to support@gadgetfactory.net with a link to this forum thread and your shipping address and we will get a new board sent out to you. Thank you,Jack. Link to comment Share on other sites More sharing options...
joosteto Posted May 29, 2013 Author Report Share Posted May 29, 2013 Thanks for verifying it! Could you write the parameters you gave papilio-prog to do it?For me, this works (not sending to flash): sudo ./papilio-prog -v -f ~/VHDL/ClkTrig/design_top.bit -sa but this doesn't: sudo ./papilio-prog -v -f ~/VHDL/ClkTrig/design_top.bit -b ../xc3sprog/trunk/bscan_spi/bscan_spi_xc3s500e_papilio.bit -sa -r and reports the error:Programming External Flash Memory with "/home/joostje/VHDL/ClkTrig/design_top.bit".Uknown Flash Manufacturer (0x00) However, I can program it the flash with the 'hacked' (as described above) xc3sprog, so it is at least somewhat functional.Maybe my computer is slower than yours, whatever. Link to comment Share on other sites More sharing options...
joosteto Posted June 6, 2013 Author Report Share Posted June 6, 2013 Ah, I now see I papilio-prog uses the bscan from Java-GUI, not the ones from xc3sprog, so that was the reason programming failed for me.If anyone else encounters this problem, this works for me: From the Papilio-Loader/papilio-prog directory, this does work: sudo ./papilio-prog -v -f ~/VHDL/ClkTrig/design_top.bit -b ../Java-GUI/programmer/bscan_spi_xc3s500e.bit -sa -r As I showed above in my postings, using the bscan_spi_xc3s500e.bit from xc3sprog doesn't work, and gives the messages: Uknown Flash Manufacturer (0x00)Error: SPI Status Register [0x00] mismatch (Wrong device or device not ready)..Error occured. BTW, even now I cannot find documentation on what bitfile to use for xc3500e, at least not herehttp://papilio.cc/index.php?n=Papilio.PapilioLoaderV2Only by looking at the papilio-prog source I realised papilio-prog uses a different 'magic' code thanxc3sprog, so the bscan binaries must be different. Thanks for the help! Link to comment Share on other sites More sharing options...
Jack Gassett Posted June 7, 2013 Report Share Posted June 7, 2013 Thank you for the update, papilio-prog is a fork of xc3sprog so there is divergence. I would expect that you need to use the bscan file that ships with each version to be successful. I included xc3sprog as a backup option, maybe I should remove it from the source tree to avoid future confusion about which tool is best to use. At the very least it looks like I should update the Papilio Loader projects readme to better explain and I also need to include the bscan bit files in the papilio-prog directory instead of just in the Java-Gui directory. I just made a task to make those changes for the next release of Papilio Loader. Girish is working on some improvements as we speak so there will need to be a new release soon. Thank you,Jack. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.