blob: a40489687366b91c7c166bf567e1dbeed93ffc76 [file] [log] [blame]
<!--
Documentation/_templates/layout.html
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership. The
ASF licenses this file to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the
License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ymodem YMODEM &mdash; NuttX latest documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/custom.css" />
<link rel="shortcut icon" href="../../../_static/favicon.ico"/>
<script src="../../../_static/jquery.js"></script>
<script src="../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
<script src="../../../_static/doctools.js"></script>
<script src="../../../_static/sphinx_highlight.js"></script>
<script src="../../../_static/clipboard.min.js"></script>
<script src="../../../_static/copybutton.js"></script>
<script src="../../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
<link rel="next" title="zlib zlib data compression library" href="../zlib/index.html" />
<link rel="prev" title="vi VI Work-Alike Text Editor" href="../vi/index.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../../index.html" class="icon icon-home"> NuttX
</a>
<!-- this version selector is quite ugly, should be probably replaced by something
more modern -->
<div class="version-selector">
<select onchange="javascript:location.href = this.value;">
<option value="../../../../latest" selected="selected">latest</option>
<option value="../../../../10.0.0" >10.0.0</option>
<option value="../../../../10.0.1" >10.0.1</option>
<option value="../../../../10.1.0" >10.1.0</option>
<option value="../../../../10.2.0" >10.2.0</option>
<option value="../../../../10.3.0" >10.3.0</option>
<option value="../../../../11.0.0" >11.0.0</option>
<option value="../../../../12.0.0" >12.0.0</option>
<option value="../../../../12.1.0" >12.1.0</option>
<option value="../../../../12.2.0" >12.2.0</option>
<option value="../../../../12.2.1" >12.2.1</option>
<option value="../../../../12.3.0" >12.3.0</option>
<option value="../../../../12.4.0" >12.4.0</option>
<option value="../../../../12.5.0" >12.5.0</option>
<option value="../../../../12.5.1" >12.5.1</option>
<option value="../../../../12.6.0" >12.6.0</option>
<option value="../../../../12.7.0" >12.7.0</option>
<option value="../../../../12.8.0" >12.8.0</option>
<option value="../../../../12.9.0" >12.9.0</option>
<option value="../../../../12.10.0" >12.10.0</option>
<option value="../../../../12.11.0" >12.11.0</option>
</select>
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../../index.html">Home</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../introduction/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../quickstart/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../contributing/index.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../platforms/index.html">Supported Platforms</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../components/index.html">OS Components</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Applications</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../audioutils/index.html">Audio Utility libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../boot/index.html">Bootloader Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../benchmarks/index.html">Benchmark Applications</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../canutils/index.html">CAN Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../crypto/index.html">Cryptography Library Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../fsutils/index.html">File System Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../games/index.html">Games</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../graphics/index.html">Graphics Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../industry/index.html">Industrial Applications</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../inertial/index.html">Inertial Libraries Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../interpreters/index.html">Interpreters</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../logging/index.html">Logging Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../lte/index.html">LTE Libraries and NSH Add-Ons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../math/index.html">Math Library Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../mlearing/index.html">Machine Learning Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../netutils/index.html">Network Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../nsh/index.html">NuttShell (NSH)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../sdr/index.html">Software Define Radio Libraries</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../index.html">System Libraries and NSH Add-Ons</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../adb/index.html"><code class="docutils literal notranslate"><span class="pre">adb</span></code> ADB daemon application</a></li>
<li class="toctree-l3"><a class="reference internal" href="../argtable3/index.html"><code class="docutils literal notranslate"><span class="pre">argtable3</span></code> ARGTABLE3 library</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cdcacm/index.html"><code class="docutils literal notranslate"><span class="pre">cdcacm</span></code> USB CDC/ACM Device Commands</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cfgdata/index.html"><code class="docutils literal notranslate"><span class="pre">cfgdata</span></code> Cfgdata Command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cle/index.html"><code class="docutils literal notranslate"><span class="pre">cle</span></code> EMACS-like Command Line Editor</a></li>
<li class="toctree-l3"><a class="reference internal" href="../composite/index.html"><code class="docutils literal notranslate"><span class="pre">composite</span></code> USB Composite Device Commands</a></li>
<li class="toctree-l3"><a class="reference internal" href="../coredump/index.html"><code class="docutils literal notranslate"><span class="pre">coredump</span></code> Coredump tool capture system status</a></li>
<li class="toctree-l3"><a class="reference internal" href="../crimon/index.html"><code class="docutils literal notranslate"><span class="pre">critmon</span></code> Critcal Section Monitor</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cu/index.html"><code class="docutils literal notranslate"><span class="pre">cu</span></code> CU minimal serial terminal</a></li>
<li class="toctree-l3"><a class="reference internal" href="../dd/index.html"><code class="docutils literal notranslate"><span class="pre">dd</span></code> system ‘dd’ command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../debugpoint/index.html"><code class="docutils literal notranslate"><span class="pre">debugpoint</span></code> Debug Utility</a></li>
<li class="toctree-l3"><a class="reference internal" href="../dhcp6c/index.html"><code class="docutils literal notranslate"><span class="pre">dhcp6c</span></code> DHCP IPv6 Address Renewal</a></li>
<li class="toctree-l3"><a class="reference internal" href="../dhcpc/index.html"><code class="docutils literal notranslate"><span class="pre">dhcpc</span></code> DHCP Address Renewal</a></li>
<li class="toctree-l3"><a class="reference internal" href="../dumpstack/index.html"><code class="docutils literal notranslate"><span class="pre">dumpstack</span></code> dumpstack tool for show the task backtrace</a></li>
<li class="toctree-l3"><a class="reference internal" href="../fastboot/index.html"><code class="docutils literal notranslate"><span class="pre">fastboot</span></code> fastbootd</a></li>
<li class="toctree-l3"><a class="reference internal" href="../fdt/index.html"><code class="docutils literal notranslate"><span class="pre">fdt</span></code> fdt utility tools</a></li>
<li class="toctree-l3"><a class="reference internal" href="../flash_eraseall/index.html"><code class="docutils literal notranslate"><span class="pre">flash_eraseall</span></code> FLASH Erase-all Command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../gcov/index.html"><code class="docutils literal notranslate"><span class="pre">gcov</span></code> gcov tool</a></li>
<li class="toctree-l3"><a class="reference internal" href="../gdbstub/index.html"><code class="docutils literal notranslate"><span class="pre">gdbstub</span></code> GDBSTUB</a></li>
<li class="toctree-l3"><a class="reference internal" href="../hex2bin/index.html"><code class="docutils literal notranslate"><span class="pre">hex2bin</span></code> Intel HEX to binary conversion</a></li>
<li class="toctree-l3"><a class="reference internal" href="../hexed/index.html"><code class="docutils literal notranslate"><span class="pre">hexed</span></code> Hex editor</a></li>
<li class="toctree-l3"><a class="reference internal" href="../hostname/index.html"><code class="docutils literal notranslate"><span class="pre">hostname</span></code> “hostname” command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../i2c/index.html"><code class="docutils literal notranslate"><span class="pre">i2c</span></code> I2C Tool</a></li>
<li class="toctree-l3"><a class="reference internal" href="../input/index.html"><code class="docutils literal notranslate"><span class="pre">input</span></code> input tool</a></li>
<li class="toctree-l3"><a class="reference internal" href="../iptables/index.html"><code class="docutils literal notranslate"><span class="pre">iptables</span></code> “iptables” command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../libuv/index.html"><code class="docutils literal notranslate"><span class="pre">libuv</span></code> libuv asynchronous I/O Library</a></li>
<li class="toctree-l3"><a class="reference internal" href="../lm75/index.html"><code class="docutils literal notranslate"><span class="pre">lm75</span></code> LM75 Temperature</a></li>
<li class="toctree-l3"><a class="reference internal" href="../lzf/index.html"><code class="docutils literal notranslate"><span class="pre">lzf</span></code> LZF compression tool</a></li>
<li class="toctree-l3"><a class="reference internal" href="../mdio/index.html"><code class="docutils literal notranslate"><span class="pre">mdio</span></code> PHY MDIO tool</a></li>
<li class="toctree-l3"><a class="reference internal" href="../netdb/index.html"><code class="docutils literal notranslate"><span class="pre">netdb</span></code> netdb interface</a></li>
<li class="toctree-l3"><a class="reference internal" href="../nsh/index.html"><code class="docutils literal notranslate"><span class="pre">nsh</span></code> NuttShell (NSH) example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ntpc/index.html"><code class="docutils literal notranslate"><span class="pre">ntpc</span></code> NTP Daemon Commands</a></li>
<li class="toctree-l3"><a class="reference internal" href="../nxcamera/index.html"><code class="docutils literal notranslate"><span class="pre">nxcamera</span></code> NxCamera video test application</a></li>
<li class="toctree-l3"><a class="reference internal" href="../nxcodec/index.html"><code class="docutils literal notranslate"><span class="pre">nxcodec</span></code> NxCodec video codec test application</a></li>
<li class="toctree-l3"><a class="reference internal" href="../nxdiag/index.html"><code class="docutils literal notranslate"><span class="pre">nxdiag</span></code> NuttX Diagnostic Tool</a></li>
<li class="toctree-l3"><a class="reference internal" href="../nxlooper/index.html"><code class="docutils literal notranslate"><span class="pre">nxlooper</span></code> NxLooper audio test application</a></li>
<li class="toctree-l3"><a class="reference internal" href="../nxplayer/index.html"><code class="docutils literal notranslate"><span class="pre">nxplayer</span></code> NxPlayer Media Player</a></li>
<li class="toctree-l3"><a class="reference internal" href="../nxrecorder/index.html"><code class="docutils literal notranslate"><span class="pre">nxrecorder</span></code> NxRecorder pcm raw data Recorder</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ofloader/index.html"><code class="docutils literal notranslate"><span class="pre">ofloader</span></code> Open flash loader</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ping/index.html"><code class="docutils literal notranslate"><span class="pre">ping</span></code> ICMP “ping” command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ping6/index.html"><code class="docutils literal notranslate"><span class="pre">ping6</span></code> ICMPv6 “ping6” command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../popen/index.html"><code class="docutils literal notranslate"><span class="pre">popen</span></code> popen()/pclose() Functions</a></li>
<li class="toctree-l3"><a class="reference internal" href="../psmq/index.html"><code class="docutils literal notranslate"><span class="pre">psmq</span></code> Publish Subscribe Message Queue</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ptpd/index.html"><code class="docutils literal notranslate"><span class="pre">ptpd</span></code> PTP daemon commands</a></li>
<li class="toctree-l3"><a class="reference internal" href="../readline/index.html"><code class="docutils literal notranslate"><span class="pre">readline</span></code> readline() Support</a></li>
<li class="toctree-l3"><a class="reference internal" href="../sched_note/index.html"><code class="docutils literal notranslate"><span class="pre">sched_note</span></code> Scheduler monitor</a></li>
<li class="toctree-l3"><a class="reference internal" href="../setlogmask/index.html"><code class="docutils literal notranslate"><span class="pre">setlogmask</span></code> “setlogmask” command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../spi/index.html"><code class="docutils literal notranslate"><span class="pre">spi</span></code> SPI Tool</a></li>
<li class="toctree-l3"><a class="reference internal" href="../stackmonitor/index.html"><code class="docutils literal notranslate"><span class="pre">stackmonitor</span></code> Stack Monitor</a></li>
<li class="toctree-l3"><a class="reference internal" href="../system/index.html"><code class="docutils literal notranslate"><span class="pre">system</span></code> System Command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../taskset/index.html"><code class="docutils literal notranslate"><span class="pre">taskset</span></code> Taskset Command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tcpdump/index.html"><code class="docutils literal notranslate"><span class="pre">tcpdump</span></code> tcpdump command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tee/index.html"><code class="docutils literal notranslate"><span class="pre">tee</span></code> Tee Command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../telnet/index.html"><code class="docutils literal notranslate"><span class="pre">telnet</span></code> Telnet chat daemon</a></li>
<li class="toctree-l3"><a class="reference internal" href="../telnetd/index.html"><code class="docutils literal notranslate"><span class="pre">telnetd</span></code> Telnet daemon application</a></li>
<li class="toctree-l3"><a class="reference internal" href="../termcurses/index.html"><code class="docutils literal notranslate"><span class="pre">termcurses</span></code> Terminal Curses control support</a></li>
<li class="toctree-l3"><a class="reference internal" href="../trace/index.html"><code class="docutils literal notranslate"><span class="pre">trace</span></code> Trace command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../ubloxmodem/index.html"><code class="docutils literal notranslate"><span class="pre">ubloxmodem</span></code> u-blox modem configuration tool</a></li>
<li class="toctree-l3"><a class="reference internal" href="../uniqueid/index.html"><code class="docutils literal notranslate"><span class="pre">uniqueid</span></code> “uniqueid” command</a></li>
<li class="toctree-l3"><a class="reference internal" href="../uorb/index.html"><code class="docutils literal notranslate"><span class="pre">uorb</span></code> uorb(micro object request broker)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../usbmsc/index.html"><code class="docutils literal notranslate"><span class="pre">usbmsc</span></code> USB Mass Storage Device Commands</a></li>
<li class="toctree-l3"><a class="reference internal" href="../vi/index.html"><code class="docutils literal notranslate"><span class="pre">vi</span></code> VI Work-Alike Text Editor</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#"><code class="docutils literal notranslate"><span class="pre">ymodem</span></code> YMODEM</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#usage">Usage</a><ul>
<li class="toctree-l5"><a class="reference internal" href="#common-usage">Common Usage</a></li>
<li class="toctree-l5"><a class="reference internal" href="#advanced-usage">Advanced Usage</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="#sendfile-to-pc">Sendfile to pc</a></li>
<li class="toctree-l4"><a class="reference internal" href="#sendfile-to-board">Sendfile to board</a><ul>
<li class="toctree-l5"><a class="reference internal" href="#help">help</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="#debug">Debug</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../zlib/index.html"><code class="docutils literal notranslate"><span class="pre">zlib</span></code> zlib data compression library</a></li>
<li class="toctree-l3"><a class="reference internal" href="../zmodem/index.html"><code class="docutils literal notranslate"><span class="pre">zmodem</span></code> Zmodem Commands</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../testing/index.html">Testing</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../tools/index.html">Host Side Tools</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../wireless/index.html">Wireless Libraries and NSH Add-Ons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../examples/index.html">Examples</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../implementation/index.html">Implementation Details</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../faq/index.html">FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../guides/index.html">Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../logos/index.html">NuttX Logos</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../../index.html">NuttX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../index.html">Applications</a></li>
<li class="breadcrumb-item"><a href="../index.html">System Libraries and NSH Add-Ons</a></li>
<li class="breadcrumb-item active"><code class="docutils literal notranslate"><span class="pre">ymodem</span></code> YMODEM</li>
<li class="wy-breadcrumbs-aside">
<a href="../../../_sources/applications/system/ymodem/index.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="ymodem-ymodem">
<h1><code class="docutils literal notranslate"><span class="pre">ymodem</span></code> YMODEM<a class="headerlink" href="#ymodem-ymodem" title="Permalink to this heading"></a></h1>
<p>This is <a class="reference external" href="http://pauillac.inria.fr/~doligez/zmodem/ymodem.txt">ymodem protocol</a>.
According to it, the sb rb application is realized, which is used to send files and receive files respectively</p>
<section id="usage">
<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this heading"></a></h2>
<section id="common-usage">
<h3>Common Usage<a class="headerlink" href="#common-usage" title="Permalink to this heading"></a></h3>
<p>In the ubuntu system, lszrz needs to be installed, can use <code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">apt</span> <span class="pre">install</span> <span class="pre">lszrz</span></code>.
Use minicom to communicate with the board.</p>
</section>
<section id="advanced-usage">
<h3>Advanced Usage<a class="headerlink" href="#advanced-usage" title="Permalink to this heading"></a></h3>
<p>In order to achieve a faster transmission speed,
I added a specific HEADER <code class="docutils literal notranslate"><span class="pre">STC</span></code> to the YMODEM protocol to represent the custom length.
Using the <code class="docutils literal notranslate"><span class="pre">sb</span></code> and <code class="docutils literal notranslate"><span class="pre">rb</span></code> commands on the board, you can use the <code class="docutils literal notranslate"><span class="pre">-k</span></code> option to set the length
of the custom packet, and the unit is KB. Therefore, you need to use <code class="docutils literal notranslate"><span class="pre">sbrb.py</span></code> for file transfer,
and you need <code class="docutils literal notranslate"><span class="pre">sbrb.py</span></code> -k to set the same length as the board. According to my test,
when using -k 32, it can reach 93% of the baud rate,
and is fully compatible with the original ymodem protocol.
First, you need to add a soft link to sbrb.py, for example <code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">ln</span> <span class="pre">-s</span> <span class="pre">/home/&lt;name&gt;/.../&lt;nuttxwork&gt;/apps/system/ymodem/sbrb.py</span> <span class="pre">/usr/bin</span></code>
and then sbrb.py can be configured into minicom.``&lt;Ctrl + a&gt; z o`` then chose <code class="docutils literal notranslate"><span class="pre">File</span> <span class="pre">transfer</span> <span class="pre">protocols</span></code> and create two option cmd is ‘sbrb.py -k 32’. like this</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>Program</p></th>
<th class="head"><p>Name</p></th>
<th class="head"><p>U/D</p></th>
<th class="head"><p>FullScr</p></th>
<th class="head"><p>IO-Red.</p></th>
<th class="head"><p>Multi</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>ymodem-k</p></td>
<td><p>sbrb.py -k 32</p></td>
<td><p>Y</p></td>
<td><p>U</p></td>
<td><p>N</p></td>
<td><p>Y</p></td>
<td><p>Y</p></td>
</tr>
<tr class="row-odd"><td><p>ymodem-k</p></td>
<td><p>sbrb.py -k 32</p></td>
<td><p>N</p></td>
<td><p>D</p></td>
<td><p>N</p></td>
<td><p>Y</p></td>
<td><p>Y</p></td>
</tr>
</tbody>
</table>
<p>usb <code class="docutils literal notranslate"><span class="pre">sb</span> <span class="pre">-k</span> <span class="pre">32</span></code> or <code class="docutils literal notranslate"><span class="pre">rb</span> <span class="pre">-k</span> <span class="pre">32</span></code> for file transfer on board.</p>
</section>
</section>
<section id="sendfile-to-pc">
<h2>Sendfile to pc<a class="headerlink" href="#sendfile-to-pc" title="Permalink to this heading"></a></h2>
<p>use sb command like this <code class="docutils literal notranslate"><span class="pre">nsh&gt;</span> <span class="pre">sb</span> <span class="pre">/tmp/test.c</span> <span class="pre">...</span></code>, this command support send multiple files together
then use <code class="docutils literal notranslate"><span class="pre">&lt;Ctrl</span> <span class="pre">+</span> <span class="pre">a&gt;</span> <span class="pre">,</span> <span class="pre">r</span></code> chose <code class="docutils literal notranslate"><span class="pre">ymodem</span></code> to receive board file.</p>
</section>
<section id="sendfile-to-board">
<h2>Sendfile to board<a class="headerlink" href="#sendfile-to-board" title="Permalink to this heading"></a></h2>
<p>use rb cmd like this <code class="docutils literal notranslate"><span class="pre">nsh&gt;</span> <span class="pre">rb</span></code>, this command support receive multiple files together
then use <code class="docutils literal notranslate"><span class="pre">&lt;Ctrl</span> <span class="pre">+</span> <span class="pre">a&gt;</span> <span class="pre">,</span> <span class="pre">s</span></code> chose <code class="docutils literal notranslate"><span class="pre">ymodem</span></code>, then chose what file need to send.</p>
<section id="help">
<h3>help<a class="headerlink" href="#help" title="Permalink to this heading"></a></h3>
<p>can use <code class="docutils literal notranslate"><span class="pre">sb</span> <span class="pre">-h</span></code> or <code class="docutils literal notranslate"><span class="pre">rb</span> <span class="pre">-h</span></code> get help.</p>
</section>
</section>
<section id="debug">
<h2>Debug<a class="headerlink" href="#debug" title="Permalink to this heading"></a></h2>
<p>Because the serial port is used for communication, the log is printed to the debug file
you can use <code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_YMODEM_DEBUGFILE_PATH</span></code> set debug file path.</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="../vi/index.html" class="btn btn-neutral float-left" title="vi VI Work-Alike Text Editor" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../zlib/index.html" class="btn btn-neutral float-right" title="zlib zlib data compression library" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2023, The Apache Software Foundation.</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>