openFPGALoader/guide/first-steps.html

190 lines
11 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>First steps with openFPGALoader &#8212; openFPGALoader: universal utility for programming FPGA latest documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="../_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css?v=27fed22d" />
<script src="../_static/documentation_options.js?v=c6e86fd7"></script>
<script src="../_static/doctools.js?v=fd6eb6e6"></script>
<script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Installing openFPGALoader" href="install.html" />
<link rel="prev" title="openFPGALoader: universal utility for programming FPGA" href="../index.html" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
</head><body>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="first-steps-with-openfpgaloader">
<span id="first-steps"></span><h1>First steps with openFPGALoader<a class="headerlink" href="#first-steps-with-openfpgaloader" title="Link to this heading"></a></h1>
<section id="install">
<h2>Install<a class="headerlink" href="#install" title="Link to this heading"></a></h2>
<p>Packages are available for Linux distributions, Windows (MSYS2) and macOS:</p>
<ul class="simple">
<li><p><em>Arch Linux</em>: <code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">pacman</span> <span class="pre">-S</span> <span class="pre">openfpgaloader</span></code></p></li>
<li><p><em>Fedora</em>: <code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">dnf</span> <span class="pre">copr</span> <span class="pre">enable</span> <span class="pre">mobicarte/openFPGALoader;</span> <span class="pre">sudo</span> <span class="pre">dnf</span> <span class="pre">install</span> <span class="pre">openFPGALoader</span></code></p></li>
<li><p><em>MSYS2</em>: <code class="docutils literal notranslate"><span class="pre">pacman</span> <span class="pre">-S</span> <span class="pre">mingw-w64-ucrt-x86_64-openFPGALoader</span></code></p></li>
<li><p><em>macOS</em>: <code class="docutils literal notranslate"><span class="pre">brew</span> <span class="pre">install</span> <span class="pre">openfpgaloader</span></code></p></li>
</ul>
<p>More instructions for other installation scenarios are available in <a class="reference internal" href="install.html#install"><span class="std std-ref">Installing openFPGALoader</span></a>.</p>
</section>
<section id="programming-a-development-board">
<h2>Programming a development board<a class="headerlink" href="#programming-a-development-board" title="Link to this heading"></a></h2>
<p>Just simply replace <code class="docutils literal notranslate"><span class="pre">my_fpga_board</span></code> with any FPGA board from <a class="reference internal" href="../compatibility/board.html#compatibility-boards"><span class="std std-ref">Boards</span></a>
(or <code class="docutils literal notranslate"><span class="pre">openFPGALoader</span> <span class="pre">--list-boards</span></code>) in any of the two commands below, depending on if you want to program the volatile
part of your FPGA (faster but not persistent) or the flash part of your FPGA (slower but persistent):</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>openFPGALoader<span class="w"> </span>-b<span class="w"> </span>my_fpga_board<span class="w"> </span>my_bitstream.bit<span class="w"> </span><span class="c1"># Program to SRAM</span>
openFPGALoader<span class="w"> </span>-b<span class="w"> </span>my_fpga_board<span class="w"> </span>-f<span class="w"> </span>my_bitstream.bit<span class="w"> </span><span class="c1"># Program to flash</span>
</pre></div>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>When a bitstream file is compatible with both memory load and FLASH write, the default behavior is to load bitstream
in memory.</p>
</div>
</section>
<section id="programming-an-standalone-fpga">
<h2>Programming an “standalone” FPGA<a class="headerlink" href="#programming-an-standalone-fpga" title="Link to this heading"></a></h2>
<p>If your FPGA doesnt come with a built-in programmer or if you prefer to use an external cable, you can specify a cable
to use from <a class="reference internal" href="../compatibility/cable.html#compatibility-cables"><span class="std std-ref">Cables</span></a> (or <code class="docutils literal notranslate"><span class="pre">openFPGALoader</span> <span class="pre">--list-cables</span></code>):</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>openFPGALoader<span class="w"> </span>-c<span class="w"> </span>my_cable<span class="w"> </span>my_bitstream.bit<span class="w"> </span><span class="c1"># Program to SRAM</span>
openFPGALoader<span class="w"> </span>-c<span class="w"> </span>my_cable<span class="w"> </span>-f<span class="w"> </span>my_bitstream.bit<span class="w"> </span><span class="c1"># Program to flash</span>
</pre></div>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>For some cable (like digilent adapters) signals from the converter are not just directly to the FPGA.
For this case, the <code class="docutils literal notranslate"><span class="pre">-c</span></code> must be added.</p>
</div>
<div class="admonition hint">
<p class="admonition-title">Hint</p>
<p>FTDI/FTDI-compatible cable users: the <code class="docutils literal notranslate"><span class="pre">-d</span></code> option lets you specify a specific FTDI device:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>openFPGALoader<span class="w"> </span>-d<span class="w"> </span>/dev/ttyUSBX
</pre></div>
</div>
<p>When the <code class="docutils literal notranslate"><span class="pre">-d</span></code> option is not provided, openFPGALoader will opens the first FTDI adapter it finds.
Therefore it is preferable to use this flag if your computer is connected to multiple FTDI devices.</p>
</div>
</section>
<section id="troubleshooting">
<h2>Troubleshooting<a class="headerlink" href="#troubleshooting" title="Link to this heading"></a></h2>
<p>Please refer to <a class="reference internal" href="troubleshooting.html#troubleshooting"><span class="std std-ref">Troubleshooting Guide</span></a>.</p>
</section>
</section>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<h1 class="logo"><a href="../index.html">openFPGALoader: universal utility for programming FPGA</a></h1>
<search id="searchbox" style="display: none" role="search">
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" placeholder="Search"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script><h3>Navigation</h3>
<p class="caption" role="heading"><span class="caption-text">User Guide</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">First steps with openFPGALoader</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#install">Install</a></li>
<li class="toctree-l2"><a class="reference internal" href="#programming-a-development-board">Programming a development board</a></li>
<li class="toctree-l2"><a class="reference internal" href="#programming-an-standalone-fpga">Programming an “standalone” FPGA</a></li>
<li class="toctree-l2"><a class="reference internal" href="#troubleshooting">Troubleshooting</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="install.html">Installing openFPGALoader</a></li>
<li class="toctree-l1"><a class="reference internal" href="troubleshooting.html">Troubleshooting Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="advanced.html">Advanced usage of openFPGALoader</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Compatibility</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../compatibility/fpga.html">FPGAs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../compatibility/board.html">Boards</a></li>
<li class="toctree-l1"><a class="reference internal" href="../compatibility/cable.html">Cables</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Vendors</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../vendors/anlogic.html">Anlogic notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vendors/colognechip.html">Cologne Chip notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vendors/efinix.html">Efinix notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vendors/gowin.html">Gowin notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vendors/intel.html">Intel notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vendors/lattice.html">Lattice notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vendors/xilinx.html">Xilinx notes</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Development</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../todo.html">To Do</a></li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="../index.html">Documentation overview</a><ul>
<li>Previous: <a href="../index.html" title="previous chapter">openFPGALoader: universal utility for programming FPGA</a></li>
<li>Next: <a href="install.html" title="next chapter">Installing openFPGALoader</a></li>
</ul></li>
</ul>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
&#169;2019-2022, Gwenhael Goavec-Merou and contributors.
|
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 9.1.0</a>
&amp; <a href="https://alabaster.readthedocs.io">Alabaster 1.0.0</a>
|
<a href="../_sources/guide/first-steps.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>