<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0"
 xmlns:blogChannel="http://backend.userland.com/blogChannelModule"
>

<channel>
<title><![CDATA[Dobrica Pavlinušić's random unstructured stuff: Papilio]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?papilio</link>
<description></description>
<pubDate>Mon, 30 Jun 2014 21:13:52 -0000</pubDate>
<webMaster>root@saturn.ffzg.hr</webMaster>
<generator>Socialtext Workspace v2.19.0.2</generator>

<item>
<title><![CDATA[Papilio]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?papilio</link>
<description><![CDATA[<div>Creator: Dobrica Pavlinušić</div><hr/><div>Tags: FPGA</div><hr/><div class="wiki">
<div class="nlw_phrase"><table class="wafl_container">
  <tr>
    <td>
      <div class="wafl_box">
        
          <div class="wafl_titlebox">
            <div class="wafl_title">
              
                Contents: [Dobrica Pavlinušić's random unstructured stuff]
              
            </div>
          </div>
          <div class="wafl_items">
            
              <div class="wiki">
<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#loader">Dobrica Pavlinušić's random unstructured stuff (loader)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] loader} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#zap_ide">Dobrica Pavlinušić's random unstructured stuff (ZAP IDE)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] ZAP IDE} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#compilation">Dobrica Pavlinušić's random unstructured stuff (compilation)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] compilation} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#fix_papilio_prog_to_use_linux_binary">Dobrica Pavlinušić's random unstructured stuff (fix papilio-prog to use Linux binary)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] fix papilio-=prog to use Linux binary} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#running_ide">Dobrica Pavlinušić's random unstructured stuff (running IDE)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] running IDE} --></span></li>
</ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#zpugcc">Dobrica Pavlinušić's random unstructured stuff (zpugcc)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] zpugcc} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#retrocade_megawing">Dobrica Pavlinušić's random unstructured stuff (RetroCade MegaWing)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] RetroCade MegaWing} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#lcd">Dobrica Pavlinušić's random unstructured stuff (LCD)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] LCD} --></span></li>
</ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#zpu_without_arduino_ide">Dobrica Pavlinušić's random unstructured stuff (ZPU (without Arduino IDE))</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] ZPU (without Arduino IDE)} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#xilinx_virtual_cable_daemon">Dobrica Pavlinušić's random unstructured stuff (Xilinx Virtual Cable Daemon)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Xilinx Virtual Cable Daemon} --></span></li>
</ul>
</div>

            
            
          </div>
        
      </div>
    </td>
  </tr>
</table>
<!-- wiki: {toc: }
--></div><br /><br /><h1 id="loader">loader</h1>
<p>
<a target="_blank" title="(external link)" href="https://github.com/GadgetFactory/Papilio-Loader/pull/6">https://github.com/GadgetFactory/Papilio-Loader/pull/6</a></p>
<pre>
dpavlin@blue:/blue-zfs/FPGA/Papilio$ git clone https://github.com/GadgetFactory/Papilio-Loader.git
dpavlin@blue:/blue-zfs/FPGA/Papilio$ cd Papilio-Loader/papilio-prog
dpavlin@blue:/blue-zfs/FPGA/Papilio/Papilio-Loader/papilio-prog$ git checkout -b revert-libftdi2 261d0dd02f5489c63e8227c6f916af5efacfbe7a
dpavlin@blue:/blue-zfs/FPGA/Papilio/Papilio-Loader/papilio-prog$ ./autogen.sh 
dpavlin@blue:/blue-zfs/FPGA/Papilio/Papilio-Loader/papilio-prog$ ./configure &amp;&amp; make

# check compiled binary
dpavlin@blue:/blue-zfs/FPGA/Papilio/Papilio-Loader/papilio-prog$ ./papilio-prog -v -j
Using built-in device list
JTAG chainpos: 0 Device IDCODE = 0x24001093     Desc: XC6SLX9
USB transactions: Write 3 read 2 retries 1

</pre>
<br /><h1 id="zap_ide">ZAP IDE</h1>
<h2 id="compilation">compilation</h2>
<pre>
dpavlin@blue:/blue-zfs/FPGA/Papilio$ git clone https://github.com/GadgetFactory/ZAP--ZPUino-Arduino-Papilio--IDE.git

dpavlin@blue:/blue-zfs/FPGA/Papilio$ cd ZAP--ZPUino-Arduino-Papilio--IDE/build/
dpavlin@blue:/blue-zfs/FPGA/Papilio/ZAP--ZPUino-Arduino-Papilio--IDE/build$ ant

dpavlin@blue:/blue-zfs/FPGA/Papilio/ZAP--ZPUino-Arduino-Papilio--IDE/build/linux$ ln -s zpu_tools_linux32.tar.bz2 zpu_tools_linux64.tar.bz2 
</pre>
<br /><h2 id="fix_papilio_prog_to_use_linux_binary">fix papilio-prog to use Linux binary</h2>
<pre>
dpavlin@blue:/blue-zfs/FPGA/Papilio/ZAP--ZPUino-Arduino-Papilio--IDE/build/linux/work$ vi ./hardware/zpuino/zpu/platform.txt

# fix papilioprog to papilio-prog
tools.papilioprog.cmd=papilio-prog

# remove .exe from this line
tools.papilioprog.erase.pattern=&quot;{path}/bin/papilio-prog&quot; -c


dpavlin@blue:/blue-zfs/FPGA/Papilio/ZAP--ZPUino-Arduino-Papilio--IDE/build/linux/work$ chmod 755 hardware/tools/papilio/papilio_loader/Papilio_Programmer.sh 


# copy compiled papilio-prog to correct location and fix permissions
dpavlin@blue:/blue-zfs/FPGA/Papilio/ZAP--ZPUino-Arduino-Papilio--IDE/build/linux/work$ cp ../../../../Papilio-Loader/papilio-prog/papilio-prog hardware/tools/papilio/papilio_loader/bin/
dpavlin@blue:/blue-zfs/FPGA/Papilio/ZAP--ZPUino-Arduino-Papilio--IDE/build/linux/work$ chmod 755 hardware/tools/papilio/papilio_loader/bin/papilio-prog
</pre>
<br /><h2 id="running_ide">running IDE</h2>
<p>
Run arduino GUI:</p>
<pre>
dpavlin@blue:/blue-zfs/FPGA/Papilio/ZAP--ZPUino-Arduino-Papilio--IDE/build/linux/work$ ./arduino
</pre>
<br /><p>
Compilation works, but programming doesn't with error:</p>
<pre>
Board: Unknown board @ 96000000 Hz (0xa4041700)
</pre>
<br /><p>
so, let's rebuild zpuprogrammer</p>
<p>
<a target="_blank" title="(external link)" href="http://forum.gadgetfactory.net/index.php?/topic/1588-how-to-program-the-arduino-sketch-for-zpuino-to-the-spi-flash/page-2#entry11242">http://forum.gadgetfactory.net/index.php?/topic/1588-how-to-program-the-arduino-sketch-for-zpuino-to-the-spi-flash/page-2#entry11242</a></p>
<pre>
dpavlin@blue:/blue-zfs/ZPUino/ZPUino-HDL/zpu/hdl/zpuino/programmer$ git remote -v
origin  https://github.com/alvieboy/ZPUino-HDL/ (fetch)
origin  https://github.com/alvieboy/ZPUino-HDL/ (push)

dpavlin@blue:/blue-zfs/ZPUino/ZPUino-HDL/zpu/hdl/zpuino/programmer$ autoreconf --install
dpavlin@blue:/blue-zfs/ZPUino/ZPUino-HDL/zpu/hdl/zpuino/programmer$ ./configure
dpavlin@blue:/blue-zfs/ZPUino/ZPUino-HDL/zpu/hdl/zpuino/programmer$ make
dpavlin@blue:/blue-zfs/ZPUino/ZPUino-HDL/zpu/hdl/zpuino/programmer$ cp zpuinoprogrammer /blue-zfs/FPGA/Papilio/ZAP--ZPUino-Arduino-Papilio--IDE/build/linux/dist/tools/
# this one is for already built version
dpavlin@blue:/blue-zfs/ZPUino/ZPUino-HDL/zpu/hdl/zpuino/programmer$ cp zpuinoprogrammer /blue-zfs/FPGA/Papilio/ZAP--ZPUino-Arduino-Papilio--IDE/build/linux/work/hardware/tools/zpu/bin/zpuinoprogrammer
</pre>
<br /><p>
program boot file (IDE doesn't have permission to do so)</p>
<pre>
dpavlin@blue:/blue-zfs/FPGA/Papilio$ ./papilio-prog -v -f ./zap-2.0.5/hardware/zpuino/zpu/bootloaders/lx9/zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.0.bit
Using built-in device list
JTAG chainpos: 0 Device IDCODE = 0x24001093     Desc: XC6SLX9
Created from NCD file: papilio_pro_routed.ncd;UserID=0xFFFFFFFF
Target device: 6slx9tqg144
Created: 2012/11/20 00:16:43
Bitstream length: 2727072 bits

Uploading &quot;./zap-2.0.5/hardware/zpuino/zpu/bootloaders/lx9/zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.0.bit&quot;. DNA is 0x190efd25eb57c9fe
Done.
Programming time 549.2 ms
USB transactions: Write 176 read 8 retries 5
</pre>
<br /><p>
run IDE</p>
<pre>
dpavlin@blue:/blue-zfs/FPGA/Papilio/ZAP--ZPUino-Arduino-Papilio--IDE/build/linux/work$ ./arduino
Experimental:  JNI_OnLoad called.
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7
</pre>
<br /><p>
verification will fail, so just upload sketch:</p>
<pre>
dpavlin@blue:/blue-zfs/FPGA/Papilio/Papilio-SOC/zpu/hdl/zpuino/programmer$ ./zpuinoprogrammer -s 1000000 -R -d /dev/ttyUSB1 -b /tmp/build383944339812357036.tmp/Autoscroll.cpp.bin -U
Board: GadgetFactory Papilio Pro LX9 @ 96000000 Hz (0xa4041700)
Upload completed successfully in 0.05 seconds.
</pre>
<br /><h1 id="zpugcc">zpugcc</h1>
<pre>
dpavlin@blue:/blue-zfs/FPGA/Papilio$ git clone git://repo.or.cz/zpugcc.git
Cloning into 'zpugcc'...
remote: Counting objects: 35519, done.
remote: Compressing objects: 100% (26110/26110), done.
remote: Total 35519 (delta 8445), reused 35519 (delta 8445)
Receiving objects: 100% (35519/35519), 70.18 MiB | 426.00 KiB/s, done.
Resolving deltas: 100% (8445/8445), done.
Checking connectivity... done.
Checking out files: 100% (35311/35311), done.
dpavlin@blue:/blue-zfs/FPGA/Papilio$ cd zpugcc/toolchain
dpavlin@blue:/blue-zfs/FPGA/Papilio/zpugcc/toolchain$ git diff build.sh
diff --git a/toolchain/build.sh b/toolchain/build.sh
index 783beaa..034929c 100644
--- a/toolchain/build.sh
+++ b/toolchain/build.sh
@@ -3,6 +3,9 @@ set -e
 rm -rf build
 mkdir build
 cd build
+mkdir bin
+ln -s /bin/true bin/makeinfo
+export PATH=`pwd`/bin:$PATH
 ../binutils/configure --target=zpu-elf --prefix=`pwd`/../install
 make
 make install
dpavlin@blue:/blue-zfs/FPGA/Papilio/zpugcc/toolchain$ sh -x build.sh
</pre>
<br /><h1 id="retrocade_megawing">RetroCade MegaWing</h1>
<p>
<a target="_blank" title="(external link)" href="http://retrocade.gadgetfactory.net/index.php?n=Main.RetroCadeMegaWing">http://retrocade.gadgetfactory.net/index.php?n=Main.RetroCadeMegaWing</a></p>
<h2 id="lcd">LCD</h2>
<p>
Modify Examples/LiqueidCrystal/Autoscroll</p>
<pre>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(26, 24, 23, 22, 21, 20);

void setup() {
  // contrast to GND
  pinMode(46, OUTPUT);
  digitalWrite(46, LOW);
  // RW to ground
  pinMode(25, OUTPUT);
  digitalWrite(25, LOW);

  // set up the LCD's number of columns and rows: 
  lcd.begin(16,2);
}
</pre>
<br /><h1 id="zpu_without_arduino_ide">ZPU (without Arduino IDE)</h1>
<ul>
<li><a target="_blank" title="(external link)" href="http://forum.gadgetfactory.net/index.php?/topic/1863-bare-metal-zpu-hello-world/">http://forum.gadgetfactory.net/index.php?/topic/1863-bare-metal-zpu-hello-world/</a></li>
</ul>
<h1 id="xilinx_virtual_cable_daemon">Xilinx Virtual Cable Daemon</h1>
<ul>
<li><a target="_blank" title="(external link)" href="https://github.com/tmbinc/xvcd/tree/ftdi">https://github.com/tmbinc/xvcd/tree/ftdi</a></li>
</ul>
</div>
]]></description>
<author>Dobrica Pavlinu&#x161;i&#x107;</author>
<category>FPGA</category>
<guid isPermaLink="true">https://saturn.ffzg.hr/rot13/index.cgi?papilio</guid>
<pubDate>Mon, 30 Jun 2014 21:13:52 -0000</pubDate>
</item>
</channel>
</rss>