Puskyer Posted October 23, 2013 Report Share Posted October 23, 2013 Hi, Just received my papilio pro and RetroCade Synth megawing, have been reading the getting started but not doing so well. 1st, i use Linux 64bit and most of the instructions are for windows, is there a Linux section for install and use instructions or will i have to install windows too? I did get papilio-prog going, (had to compile it and create some symbolic links in the /opt/GadgetFactory/papilio-loader/programmer/linux32 and any other location like Installer/lin32/...) but when i try to run upgrade-linux in the RetroCade_Synth folder i get errors about it not recognising the SPI chip. Yet, if i use papilio-loader-gui to load quickstart-Papilio_Pro_LX9-v1.5.bit it works? Not familiar with the papilio-loader-gui to upload the two files below like the script is doing. Sudo Installer/lin32/papilio-prog -b Installer/lin32/bscan_spi_xc6slx9.bit -f ZPUino_SOC/RetroCade-1.1-zpuino-1.0-papilioPro-S6LX9-RetroCade-1.1.bit Well to tired to think, will do more reading maybe i will find an answer. Much to learn with these new toys.. Cheers, Pasquale Link to comment Share on other sites More sharing options...
Puskyer Posted October 23, 2013 Author Report Share Posted October 23, 2013 Well, setting up a windows 7 64 bit and lets see how it goes.. downloading the install files now.. boy this is more complicated thenI thought. Well live and learn. still have not given up on my Linux environment I prefer to do my playing there, so if anyone has any suggestions I am open to them. Will keep reading the forum for answers.. but lots of the info is from 2011/2012??? Pasquale Link to comment Share on other sites More sharing options...
Jack Gassett Posted October 23, 2013 Report Share Posted October 23, 2013 Hello Pasquale, Thank you for checking out the Papilio board, most of the documentation has been geared towards Windows. I have been making an effort to ensure things work under Linux in the last couple of months, everything has been developed to be cross platform but it is time consuming to test everything in Windows and Linux. Here is a recent tutorial about installing the tools in Linux. It sounds like you have already progressed beyond this tutorial though. Link to comment Share on other sites More sharing options...
Puskyer Posted October 23, 2013 Author Report Share Posted October 23, 2013 Hello Jack, thank you for the reply. have tried this on three systems two physical (windows 7 and Ubuntu 12.04 64 bit) and on virtual (windows XP 32 bit). still no luck. when I run papilio-prog -c I do not get the following as per you tutorial Using built-in device list JTAG chainpos: 0 Device IDCODE = 0x24001093 Desc: XC6SLX9 ISC_Done = 1SC_Enabled = 0House Cleaning = 1DONE = 1 I get :-( Using built-in device listCannot find device having IDCODE=24001093 Response incompatible with mask xxxx01ISC_Done = 0ISC_Enabled = 1House Cleaning = 1DONE = 0 btw I have been able to get the ZUPino working, but am not getting any luck there either. trying to use the RetroCade_Synth, but when I load the sketch it gives me errors around the modplayers. I did, put all the arduino libraries in place, they were missing after the ZUPino install and also put the modplayer .cpp & .h from the RetroCadeLite_Sketch folder in the library and still no luck either. Well will key trying, that is what makes this interesting the challenge of making it work.. Cheers,Pasquale Link to comment Share on other sites More sharing options...
mkarlsson Posted October 23, 2013 Report Share Posted October 23, 2013 The message means that it cant find the Spartan6 LX9 part in the built-in device list. This should be compiled-in as of version 2.4. Is this using the version of papilio-prog that you compiled yourself? If so, look at the file devlist.h and make sure it has entries for Spartan6 LX4 - LX45. If not then you have very old source files. Link to comment Share on other sites More sharing options...
Puskyer Posted October 23, 2013 Author Report Share Posted October 23, 2013 Thank you, mkarisson. just figured it out and moved the "devlist.txt" in the right place, strange that it was not pulled when I the the git clone or maybe it is not there either I will have to go back and check. now I have a new message relating to my Flash memory???? thought his software was for the papilio pro and RetroCade Synth??? :-( pusky@pusky-server:~/workingfolder/papilio/RetroCade_Synth$ ./upgrade-linux.sh Using devlist.txtJTAG chainpos: 0 Device IDCODE = 0x24001093 Desc: XC6SLX9 Uploading "Installer/lin32/bscan_spi_xc6slx9.bit". Programming External Flash Memory with "ZPUino_SOC/RetroCade-1.1-zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.1.bit".Found Macronix Flash (Pages=2048, Page Size=256 bytes, 4194304 bits).Bit file does not fit into Flash memory.Error occured. on to more troubleshooting...Cheers, Link to comment Share on other sites More sharing options...
Puskyer Posted October 23, 2013 Author Report Share Posted October 23, 2013 Huston we have a semi touchdown... so it seems that the "devlist.txt" even though it is located in the same folder as the papilio-prog, it is looking for it in the same folder you execute the command in. so I copied it into the /workingfolder/papilio/RetroCade_Synth/ folder and now it executes. {yaa} pusky@pusky-server:~/workingfolder/papilio/RetroCade_Synth$ sudo Installer/lin32/papilio-prog -v -b Installer/lin32/bscan_spi_xc6slx9.bit -f ZPUino_SOC/zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.0.bitUsing devlist.txtJTAG chainpos: 0 Device IDCODE = 0x24001093 Desc: XC6SLX9 Uploading "Installer/lin32/bscan_spi_xc6slx9.bit". Done.Programming time 663.5 ms Programming External Flash Memory with "ZPUino_SOC/zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.0.bit".Found Macronix Flash (Pages=2048, Page Size=256 bytes, 4194304 bits).Erasing :.............................OkVerifying :..PassProgramming :..OkVerifying :..PassDone.SPI execution time 61809.2 msUSB transactions: Write 7578 read 7410 retries 11034 not working with either of the following RetroCade-1.0-zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.0.bitRetroCade-1.1-zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.1.bit but worked with this one. now need to figure our the ZUPino compile issues and I can start playing..... :-)) zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.0.bit Cheers, Link to comment Share on other sites More sharing options...
mkarlsson Posted October 23, 2013 Report Share Posted October 23, 2013 Well, it thinks the Macronix part only has 2048 pages when in fact it has 32768 pages as defined in progalgspi.cpp.Again, this indicates either you are using an old binary or have compiled a binary from old sources. The correct size of the Macronix part is in version 2.4 and later. It should look like this: $ ./papilio-prog.exe -b bscan_spi_lx9_qfp144.bit -s e -vUsing built-in device listJTAG chainpos: 0 Device IDCODE = 0x04001093 Desc: XC6SLX9Uploading "bscan_spi_lx9_qfp144.bit". DNA is 0xb99dc9c86e74a6feDone.Programming time 545.0 msErasing External Flash Memory.Found Macronix Flash (Pages=32768, Page Size=256 bytes, 67108864 bits).Erasing :............................OkVerifying :...............................................................................PassDone.SPI execution time 52655.9 msUSB transactions: Write 32976 read 32807 retries 0 Link to comment Share on other sites More sharing options...
mkarlsson Posted October 23, 2013 Report Share Posted October 23, 2013 Unfortunately the program does not report a version number but the help report will indicate how old the code is;Try this: papilio-prog -v -h Link to comment Share on other sites More sharing options...
Puskyer Posted October 23, 2013 Author Report Share Posted October 23, 2013 No Version number?? but I did compile it from source but I got the source from the https://github.com/GadgetFactory/Papilio-Loader I will keep trying.. btw, I was compiling the ZPUino and I seem to be missing a file zpu_tools_linux64.tar.bz2 know where to get it? pusky@pusky-server:~/workingfolder/papilio$ papilio-prog -v -h Usage:papilio-prog [-v] [-j] [-f <bitfile>] [-b <bitfile>] [-s e|v|p|a] [-c] [-C] [-r] [-A <addr>:<binfile>] -h print this help -v verbose output -j Detect JTAG chain, nothing else -f <bitfile> Main bit file -b <bitfile> bscan_spi bit file (enables spi access via JTAG) -s [e|v|p|a] SPI Flash options: e=Erase Only, v=Verify Only, p=Program Only or a=ALL (Default) -c Display current status of FPGA -C Display STAT Register of FPGA -r Trigger a reconfiguration of FPGA -a <addr>:<binfile> Append binary file at addr (in hex) -A <addr>:<binfile> Append binary file at addr, bit reversed Link to comment Share on other sites More sharing options...
mkarlsson Posted October 23, 2013 Report Share Posted October 23, 2013 Yeah, it looks like you have compiled it from version 2.2. Did you grab the source from trunk (i.e. 2.5) of from one tags? Link to comment Share on other sites More sharing options...
Puskyer Posted October 23, 2013 Author Report Share Posted October 23, 2013 yes? is that not the right one? Link to comment Share on other sites More sharing options...
Puskyer Posted October 23, 2013 Author Report Share Posted October 23, 2013 your right.. will go and make sure I get the 2.5.. Thanks.. pusky@pusky-server:~/workingfolder/papilio/Papilio-Loader$ more Readme.txt Papilio Loader - Current Version 2.2 The Papilio Loader is a branch of xc3sprog (http://sourceforge.net/projects/xc3sprog/) that is used to load bit files to the Open Source Papilio FPGA boards (http://papilio.cc) made by Gadget Factory (http://www.gadgetfactory.net). Papilio Loader Homepage:http://papilio.cc/index.php?n=Papilio.PapilioLoaderV2 Directories:Fpga - Contains bit files that allow SPI Flash to be programmed.Helper-App - A collection of scripts to ease loading bit files.Installer - InstallJammer project.Java-GUI - A Java GUI that wraps the C++ application. (Recommended)Program - The C++ application that can be compiled under Linux. View the Readme for instructions on cross compiling for Windows. CHANGELOG8/31/2012 Version 2.2Added support for Macronix 64Mb SPI Flash chips.Added ability to Erase Flash chip from Explorer context menu. 6/29/2012 Version 2.1Java Gui added. Link to comment Share on other sites More sharing options...
mkarlsson Posted October 23, 2013 Report Share Posted October 23, 2013 Yeah, all make sense now. That version has the Macronix incorrectly as 2048 pages and no entries for Spartan6 parts in devlist.h Link to comment Share on other sites More sharing options...
Puskyer Posted October 23, 2013 Author Report Share Posted October 23, 2013 thank you mkarlsson here is what I hadpusky@pusky-server:~/workingfolder/papilio/Papilio-Loaderold$ git remote show origin* remote origin Fetch URL: https://github.com/hamsternz/Papilio-Loader.git Push URL: https://github.com/hamsternz/Papilio-Loader.git HEAD branch: master Remote branches: Papilio_Programmer_V1.6 tracked Papilio_Programmer_V2.1 tracked master tracked Local branch configured for 'git pull': master merges with remote master Local ref configured for 'git push': master pushes to master (up to date) here is what I have now pusky@pusky-server:~/workingfolder/papilio/Papilio-Loader$ git remote show origin* remote origin Fetch URL: https://github.com/GadgetFactory/Papilio-Loader.git Push URL: https://github.com/GadgetFactory/Papilio-Loader.git HEAD branch: master Remote branches: Papilio_Programmer_V1.6 tracked Papilio_Programmer_V2.1 tracked master tracked Local branch configured for 'git pull': master merges with remote master Local ref configured for 'git push': master pushes to master (up to date) from the ReadMe.txt "Papilio Loader - Current Version 2.5" and with your test pusky@pusky-server:~/workingfolder/papilio/Papilio-Loader/papilio-prog$ papilio-prog -b bscan_spi_xc6slx9.bit -s e -vUsing built-in device listJTAG chainpos: 0 Device IDCODE = 0x24001093 Desc: XC6SLX9 Uploading "bscan_spi_xc6slx9.bit". DNA is 0x79b95b0c29c02affDone.Programming time 663.0 msErasing External Flash Memory.Found Macronix Flash (Pages=32768, Page Size=256 bytes, 67108864 bits).Erasing :..............................OkVerifying :................................................................................................................................PassDone.SPI execution time 130342.3 msUSB transactions: Write 32977 read 32808 retries 29013 no "devlist.txt" requried.. now on to the ZPUino issues I have.. Thank you very much for your help. Link to comment Share on other sites More sharing options...
Jack Gassett Posted October 24, 2013 Report Share Posted October 24, 2013 Weird, I wonder how you ended up with version 2.2... Link to comment Share on other sites More sharing options...
Puskyer Posted October 24, 2013 Author Report Share Posted October 24, 2013 The person at the end of the keyboard cased the problem... lol The github repository I first cloned was an older one from hamsternz and not gadgetfactory's.. that will teach me for tryng to rush it.. all is now as it should be, just need to get the ZPUino sketches working, I get some errors when compiling them, some were due to missing libraries or just in the wrong place. learning lots, have to wait until Nov 9th for my bandwidth to reset so I can download the xilinx design tools wow 8Gig. so off to playing with the ZPUino.. cheers, Link to comment Share on other sites More sharing options...
Puskyer Posted October 25, 2013 Author Report Share Posted October 25, 2013 OK, now that things are working I have been playing with this new toy.. got to say great work to all the people that developed this idea.... I have a bit of a back ground in digital circuits (took them in high school and College 30 odd years ago). Now bare with me I am new to this technology, I have an Arduino Uno and have done some basic sketches (LEDs, motors and such) to re-learn much of what I have forgotten, but some of these new concepts are blowing my mind. What are wishbone peripherals? are they virtual devices? Not sure I understand the relationship between wishbone slots and the IO pins interfacing to the outside. I am sure that the info is somewhere in the wiki or forums but I have not been able to get my mind around the information I have found to date. I have finally been able to download the Xilinx IDE and will look at some of the UCF (User Constraint Files) maybe that will help, although I am not sure what a UCF is yet. started to read IntroToSpartanFPGABook.pdf & free_range_vhdl.pdf but it is so overwhelming with information that it will take time to sink in. btw, do you know if with the free licence I can install the software on both Linux and Windows I would like to see which one works the best? anyways here I am rambling and not reading your tutorials, any assistance would be helpful. Cheers,Pasquale Link to comment Share on other sites More sharing options...
Puskyer Posted October 25, 2013 Author Report Share Posted October 25, 2013 Hi, FYI on you link http://gadgetfactory.net/learn/2013/03/20/vhdl-101-beginners-guide-to-vhdl/ when I click on the links for the wiki I get the following.. Not FoundThe requested URL /wiki/VHDL_101_comb_logic was not found on this server. but the link going to http://www.designspark.com/ works and I found what you are referencing at http://www.designspark.com/eng/blog/vhdl-101--combinational-logic Cheers,Pasquale Update: from the http://www.designspark.com/eng/blog/vhdl-101--combinational-logic when I chose what is VHDL i get an error and [ here ] on his pange I get the same error as above for the wiki.. it is just not my day or week for learning stuff.. lol Link to comment Share on other sites More sharing options...
Jack Gassett Posted October 25, 2013 Report Share Posted October 25, 2013 It looks like he took the original page down. I will remove the article now. Jack. Link to comment Share on other sites More sharing options...
alex Posted October 25, 2013 Report Share Posted October 25, 2013 A UCF file at its most basic assigns names to the FPGA pins so in your projects you can specify inputs and outputs by name and these will be mapped to those exact FPGA pins in the UCF. Other things you can specify in the UCF are pull-ups, the IO standard of the port which controls the logic level voltages, you can also specify clocking constraints but this is a more advanced topic. Wishbone is an interface standard. For a module to be wishbone compliant it must expose a minimum set of signals such as an input bus, an output bus and certain handshake signals. There is a wishbone specification you can read in detail if you wish, just google for it Link to comment Share on other sites More sharing options...
Puskyer Posted October 26, 2013 Author Report Share Posted October 26, 2013 Thank alex, i will do some searching on line, there is so much information my head herts.I have only found out about this technology a few weeks ago when i stumbled up on to the gadget factory site.Cheers Link to comment Share on other sites More sharing options...
Puskyer Posted October 27, 2013 Author Report Share Posted October 27, 2013 finally got some time to go back to the RetroCade_Synth ZPUino and try an compile it again, and still no luck. so the I tried the Papilio One QuickStart Example and it works on both the papilio ports and on the RetroCade_Synth ports with the Button/LED Wing. then when I try to compile the RetroCade_Sketch I get errors lets see if someone can tell me what I am doing wrong. 1) created a sketchbook folder and pointed the ZAP to it.2) created a folder in the library section for the RetroCade_Sketch libraries. based on some of the initial errors (I had not put them in the library folder the first time) these libraries are in the right place no more missing files error.3) then loaded ZAP and then the sketch, when I compile it it gives me the following of errors. Found smallfs directoryF:\workspace\papilio\ZPUino/hardware/tools/zpu/bin/mksmallfs C:\Users\pusky\AppData\Local\Temp\build1847778306349152700.tmp/smallfs.dat F:\workspace\arduino\sketchbook\RetroCade_Synth\RetroCade_Sketch/smallfs F:\workspace\papilio\ZPUino/hardware/tools/zpu/bin/mksmallfs C:\Users\pusky\AppData\Local\Temp\build1847778306349152700.tmp/smallfs.dat F:\workspace\arduino\sketchbook\RetroCade_Synth\RetroCade_Sketch/smallfs SmallFS: Packed 8 files sucessfullyF:\workspace\papilio\ZPUino/hardware/tools/zpu/bin/mksmallfs returned 2,679,940processing.app.debug.RunnerException: Error compiling.at processing.app.debug.Compiler.generateSmallFS(Compiler.java:75)at processing.app.debug.Compiler.compile(Compiler.java:106)at processing.app.Sketch.build(Sketch.java:1572)at processing.app.Sketch.build(Sketch.java:1551)at processing.app.Editor$DefaultRunHandler.run(Editor.java:1937)at java.lang.Thread.run(Thread.java:619) any help is appreciate, Thanks, Link to comment Share on other sites More sharing options...
Puskyer Posted October 27, 2013 Author Report Share Posted October 27, 2013 Well did some troubleshooting... it seems to be something around the mksmallfs...not sure what triggers the making of the mksmallfs, but from what I can see is that if the folders exit where the sketch is it executes mksmallfs. so I removed the folders and the sketch now compiles???? any ideas as to why this is not working, other must be using the same downloads I am? Link to comment Share on other sites More sharing options...
Puskyer Posted October 27, 2013 Author Report Share Posted October 27, 2013 Well it now works, with my removing the smallFS folders, it no-longer executes mksmallfs so compiling finishes. one strange thing though, even though it does not execute mksmallfs once I upload the sketch to the papilio and I check using the small joystick there are still files under the SmallFS selections??? well on to other things at least it is working... Cheers, Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.