<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: A few open source tips for the Cypress FX2LP (EZ-USB Cy7c68013A)</title>
	<atom:link href="http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/feed/" rel="self" type="application/rss+xml" />
	<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/</link>
	<description>Where stuff from my brain lands</description>
	<lastBuildDate>Tue, 07 Feb 2012 16:14:05 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Dennis</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-927</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Tue, 18 Aug 2009 15:07:20 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-927</guid>
		<description>Glad to see there are multiple options.  I&#039;ll have to take a closer look when I get a chance.</description>
		<content:encoded><![CDATA[<p>Glad to see there are multiple options.  I&#8217;ll have to take a closer look when I get a chance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stefan</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-926</link>
		<dc:creator>Stefan</dc:creator>
		<pubDate>Tue, 18 Aug 2009 14:57:01 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-926</guid>
		<description>Maybe  you are interested in the ZTEX Firmware Kit + Driver
API for EZ-USB based hardware:

   http://www.ztex.de/firmware-kit/index.e.html

It is Open Source and runs on Linux and Windows. It is mainly intended for our USB and/or FPGA boards but should run on every EZ-USB based hardware.

The Firmware Kit (for EZ-USB Microcontrollers) is written in C (requires SDCC compiler). The Firmware is assembled using a macro processor which allows to specify all required settings by a few macros. The necessary USB descriptors and the descriptor handling routines are generated automatically.

The driver API is written in Java and allows platform independent device drivers.</description>
		<content:encoded><![CDATA[<p>Maybe  you are interested in the ZTEX Firmware Kit + Driver<br />
API for EZ-USB based hardware:</p>
<p>   <a href="http://www.ztex.de/firmware-kit/index.e.html" rel="nofollow">http://www.ztex.de/firmware-kit/index.e.html</a></p>
<p>It is Open Source and runs on Linux and Windows. It is mainly intended for our USB and/or FPGA boards but should run on every EZ-USB based hardware.</p>
<p>The Firmware Kit (for EZ-USB Microcontrollers) is written in C (requires SDCC compiler). The Firmware is assembled using a macro processor which allows to specify all required settings by a few macros. The necessary USB descriptors and the descriptor handling routines are generated automatically.</p>
<p>The driver API is written in Java and allows platform independent device drivers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-793</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Wed, 21 Jan 2009 16:26:12 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-793</guid>
		<description>Are you using the fx2lib code?  I plan on adding an example to that when I get a moment.  Part of the problem with a GPIF example is that you have to have a device connected to the fx2 that the GPIF can talk to.  Everybody&#039;s devices are different though.

I can provide some additional comments if you like.  Why don&#039;t you subscribe to the fx2lib mailing list and ask on there.  You can find the list link at http://fx2lib.wiki.sourceforge.net/.</description>
		<content:encoded><![CDATA[<p>Are you using the fx2lib code?  I plan on adding an example to that when I get a moment.  Part of the problem with a GPIF example is that you have to have a device connected to the fx2 that the GPIF can talk to.  Everybody&#8217;s devices are different though.</p>
<p>I can provide some additional comments if you like.  Why don&#8217;t you subscribe to the fx2lib mailing list and ask on there.  You can find the list link at <a href="http://fx2lib.wiki.sourceforge.net/" rel="nofollow">http://fx2lib.wiki.sourceforge.net/</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vikas</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-792</link>
		<dc:creator>Vikas</dc:creator>
		<pubDate>Wed, 21 Jan 2009 14:48:48 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-792</guid>
		<description>Hi Dennis,
Thanks for the nice post. I have made a FW for SDCC and am able to do all the stuff without GPIF.But as I include the gpif.c (generated from gpif designer)my code does not work. I don&#039;t find any major difference in your lib/header files and my framewrok. If you can post an example of a simple GPIF design it will be very helpful.</description>
		<content:encoded><![CDATA[<p>Hi Dennis,<br />
Thanks for the nice post. I have made a FW for SDCC and am able to do all the stuff without GPIF.But as I include the gpif.c (generated from gpif designer)my code does not work. I don&#8217;t find any major difference in your lib/header files and my framewrok. If you can post an example of a simple GPIF design it will be very helpful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-785</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Fri, 16 Jan 2009 13:11:46 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-785</guid>
		<description>Thanks for the additional info.  I&#039;ll have to take a look at their project and make sure I didn&#039;t miss anything in my library I&#039;ve created.

I also run the GPIF designer on Linux via Wine.  Hex2Bix on the other hand, I don&#039;t use at all because objcopy has ihx to binary support built in and it seems to be working just fine.  I made a few modifications to the Hex2Bix program and compiled it on Linux too though.  I can use that to create IIC files if I need.</description>
		<content:encoded><![CDATA[<p>Thanks for the additional info.  I&#8217;ll have to take a look at their project and make sure I didn&#8217;t miss anything in my library I&#8217;ve created.</p>
<p>I also run the GPIF designer on Linux via Wine.  Hex2Bix on the other hand, I don&#8217;t use at all because objcopy has ihx to binary support built in and it seems to be working just fine.  I made a few modifications to the Hex2Bix program and compiled it on Linux too though.  I can use that to create IIC files if I need.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christoph</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-784</link>
		<dc:creator>Christoph</dc:creator>
		<pubDate>Fri, 16 Jan 2009 09:56:11 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-784</guid>
		<description>i&#039;m working with the FX2 and sdcc too. as a base framework i use the firmware from the gnu radio project. the USRP board contains an fx2 and there firmware is nice. usint interrupt autovectors by default with easy handling and stuff like that. specialy interesting is, that they are using GPIF for transfer and they have some perl scripts to convert GPIF designer code to an sdcc clean code. oh, by the way, GPIF designer and the Hex2Bix.exe tool are running fine here with wine.</description>
		<content:encoded><![CDATA[<p>i&#8217;m working with the FX2 and sdcc too. as a base framework i use the firmware from the gnu radio project. the USRP board contains an fx2 and there firmware is nice. usint interrupt autovectors by default with easy handling and stuff like that. specialy interesting is, that they are using GPIF for transfer and they have some perl scripts to convert GPIF designer code to an sdcc clean code. oh, by the way, GPIF designer and the Hex2Bix.exe tool are running fine here with wine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-772</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Tue, 30 Dec 2008 23:29:28 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-772</guid>
		<description>For any of you following this page, I was able to send a bitfile to an FPGA with the gpif, then read and write data from the FPGA via my custom interface between the FPGA and the firmware, and finally, stream raw image data from the image sensor connected to the FPGA back to the PC w/ libusb.  All programmed is done with SDCC.  So &lt;a href=&quot;http://fx2lib.wiki.sourceforge.net&quot; rel=&quot;nofollow&quot;&gt;fx2lib&lt;/a&gt; is in pretty good shape.  It&#039;s not perfect, but it is enough to get the job done.  Let me know if you&#039;d like additional information.</description>
		<content:encoded><![CDATA[<p>For any of you following this page, I was able to send a bitfile to an FPGA with the gpif, then read and write data from the FPGA via my custom interface between the FPGA and the firmware, and finally, stream raw image data from the image sensor connected to the FPGA back to the PC w/ libusb.  All programmed is done with SDCC.  So <a href="http://fx2lib.wiki.sourceforge.net" rel="nofollow">fx2lib</a> is in pretty good shape.  It&#8217;s not perfect, but it is enough to get the job done.  Let me know if you&#8217;d like additional information.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-762</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Mon, 15 Dec 2008 23:31:25 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-762</guid>
		<description>Added a link on the project home page &lt;a href=&quot;http://fx2lib.wiki.sourceforge.net&quot; rel=&quot;nofollow&quot;&gt;fx2lib&lt;/a&gt; to the subscribe page.</description>
		<content:encoded><![CDATA[<p>Added a link on the project home page <a href="http://fx2lib.wiki.sourceforge.net" rel="nofollow">fx2lib</a> to the subscribe page.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jmelson</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-761</link>
		<dc:creator>jmelson</dc:creator>
		<pubDate>Mon, 15 Dec 2008 23:25:32 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-761</guid>
		<description>Dennis, how do I join the fx2lib-devel mailing list?  I went to the link in your message, but couldn&#039;t find any &quot;join&quot; menu entry.

Thanks,

Jon</description>
		<content:encoded><![CDATA[<p>Dennis, how do I join the fx2lib-devel mailing list?  I went to the link in your message, but couldn&#8217;t find any &#8220;join&#8221; menu entry.</p>
<p>Thanks,</p>
<p>Jon</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-760</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Mon, 15 Dec 2008 21:26:07 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-760</guid>
		<description>Just another side note, the fx2lib contains c++ bindings to libusb for usage in Python that allow you to download firmware to a device.  There are also sample makefiles for creating your bix file.

It&#039;s really easy once you have the bix file:

python
&gt; from fx2load import *
&gt; openfx2(, )
&gt; reset_bix(&#039;&lt;path to file&#039;)

That&#039;s it!</description>
		<content:encoded><![CDATA[<p>Just another side note, the fx2lib contains c++ bindings to libusb for usage in Python that allow you to download firmware to a device.  There are also sample makefiles for creating your bix file.</p>
<p>It&#8217;s really easy once you have the bix file:</p>
<p>python<br />
&gt; from fx2load import *<br />
&gt; openfx2(, )<br />
&gt; reset_bix(&#8216;&lt;path to file&#8217;)</p>
<p>That&#8217;s it!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-759</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Mon, 15 Dec 2008 21:14:37 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-759</guid>
		<description>No prob.  I&#039;ve just started the list, and there are not lots of users, but I recommend joining the &lt;a href=&quot;https://sourceforge.net/mailarchive/forum.php?forum_name=fx2lib-devel&quot; rel=&quot;nofollow&quot;&gt;fx2lib-devel&lt;/a&gt; mailing list I created.  I&#039;m right in the middle of firmware stuff and it would be nice to collaborate as much as possible.</description>
		<content:encoded><![CDATA[<p>No prob.  I&#8217;ve just started the list, and there are not lots of users, but I recommend joining the <a href="https://sourceforge.net/mailarchive/forum.php?forum_name=fx2lib-devel" rel="nofollow">fx2lib-devel</a> mailing list I created.  I&#8217;m right in the middle of firmware stuff and it would be nice to collaborate as much as possible.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: EWinsor</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-758</link>
		<dc:creator>EWinsor</dc:creator>
		<pubDate>Mon, 15 Dec 2008 21:06:51 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-758</guid>
		<description>Cool!  Thanks for the pointer to GPIFTRIG.  Now I have a firmware file that I am ready to have Linux download to my device on (en/ren)umeration.  I&#039;m working without external memory.</description>
		<content:encoded><![CDATA[<p>Cool!  Thanks for the pointer to GPIFTRIG.  Now I have a firmware file that I am ready to have Linux download to my device on (en/ren)umeration.  I&#8217;m working without external memory.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-757</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Fri, 12 Dec 2008 23:51:32 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-757</guid>
		<description>I coded up an enum in my library that has the endpoint values:

GPIF_EP2, GPIF_EP4 etc.

You can look at the gpif_fifo_read/write functions to see how you do it.  Basically, you write the value and a read/write bit to the GPIFTRIG register and the the GPIF reads or writes the data to/from the specific endpoint.</description>
		<content:encoded><![CDATA[<p>I coded up an enum in my library that has the endpoint values:</p>
<p>GPIF_EP2, GPIF_EP4 etc.</p>
<p>You can look at the gpif_fifo_read/write functions to see how you do it.  Basically, you write the value and a read/write bit to the GPIFTRIG register and the the GPIF reads or writes the data to/from the specific endpoint.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: EWinsor</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-756</link>
		<dc:creator>EWinsor</dc:creator>
		<pubDate>Fri, 12 Dec 2008 23:47:51 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-756</guid>
		<description>How do you associate the GPIF FIFO with a particular endpoint FIFO?</description>
		<content:encoded><![CDATA[<p>How do you associate the GPIF FIFO with a particular endpoint FIFO?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-755</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Fri, 12 Dec 2008 20:21:15 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-755</guid>
		<description>Anybody check out my fx2lib repository?  I&#039;ve got i2c and gpif routines that are working pretty well for me.</description>
		<content:encoded><![CDATA[<p>Anybody check out my fx2lib repository?  I&#8217;ve got i2c and gpif routines that are working pretty well for me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tge96</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-751</link>
		<dc:creator>tge96</dc:creator>
		<pubDate>Sun, 07 Dec 2008 03:52:42 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-751</guid>
		<description>forgot to mention that if you go with the spin-lock choice then you may also wish to take a look at the re-execute feature, depending on your physical interface protocol, error handling desires, etc.   is the imager has some sort of blanking signal then that would be a better choice then the 8051 gpio (should be less work on the host software app side, anyways)</description>
		<content:encoded><![CDATA[<p>forgot to mention that if you go with the spin-lock choice then you may also wish to take a look at the re-execute feature, depending on your physical interface protocol, error handling desires, etc.   is the imager has some sort of blanking signal then that would be a better choice then the 8051 gpio (should be less work on the host software app side, anyways)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tge96</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-750</link>
		<dc:creator>tge96</dc:creator>
		<pubDate>Sun, 07 Dec 2008 03:46:19 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-750</guid>
		<description>perhaps gpif isn&#039;t really necessary if the imager is supplying a free-running clock to the peripheral interface you might be able to just strobe slave fifo read with an 8051 gpio... if you just &quot;must&quot; to play with gpif and you &quot;must&quot; design your waveform not past through idle (where btw a ton of error handling is done for you) then consider performing long transfers using either the transaction count expire in-place of rdy5 feature in a decision point or spin-lock the gpif engine in a decision point and use gpif abort feature... the flowstate engine resides on top of the gpif engine specifically to handle udma protocol</description>
		<content:encoded><![CDATA[<p>perhaps gpif isn&#8217;t really necessary if the imager is supplying a free-running clock to the peripheral interface you might be able to just strobe slave fifo read with an 8051 gpio&#8230; if you just &#8220;must&#8221; to play with gpif and you &#8220;must&#8221; design your waveform not past through idle (where btw a ton of error handling is done for you) then consider performing long transfers using either the transaction count expire in-place of rdy5 feature in a decision point or spin-lock the gpif engine in a decision point and use gpif abort feature&#8230; the flowstate engine resides on top of the gpif engine specifically to handle udma protocol</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-748</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Fri, 05 Dec 2008 23:07:24 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-748</guid>
		<description>Just a side note, I was able to successfully run the GPIF designer on Linux with the latest Wine distribution.  I just ran the installer and everything seems to be working fine.</description>
		<content:encoded><![CDATA[<p>Just a side note, I was able to successfully run the GPIF designer on Linux with the latest Wine distribution.  I just ran the installer and everything seems to be working fine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: EWinsor</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-747</link>
		<dc:creator>EWinsor</dc:creator>
		<pubDate>Fri, 05 Dec 2008 20:23:26 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-747</guid>
		<description>The imager is configured via I2C and dumps its data via an 8 bit bus and the Fv and LV lines.</description>
		<content:encoded><![CDATA[<p>The imager is configured via I2C and dumps its data via an 8 bit bus and the Fv and LV lines.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://allmybrain.com/2008/10/24/a-few-open-source-tips-for-the-cypress-fx2lp-ez-usb-cy7c68013a/comment-page-1/#comment-746</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Fri, 05 Dec 2008 19:26:29 +0000</pubDate>
		<guid isPermaLink="false">http://allmybrain.com/?p=154#comment-746</guid>
		<description>Doesn&#039;t the imager listen to one of your control inputs for a ready state?  Like using ctl0 for busy or something?  If not, you&#039;re right, I think you&#039;d have to use a decision point and the flowstates to capture the data correctly.  

I&#039;m going to be building an imager next!</description>
		<content:encoded><![CDATA[<p>Doesn&#8217;t the imager listen to one of your control inputs for a ready state?  Like using ctl0 for busy or something?  If not, you&#8217;re right, I think you&#8217;d have to use a decision point and the flowstates to capture the data correctly.  </p>
<p>I&#8217;m going to be building an imager next!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

