bl_iot_sdk/docs/html/Components/Middleware/dts/devicetree.html
2020-10-26 20:43:20 +08:00

391 lines
20 KiB
HTML
Raw 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 class="writer-html5" lang="zh" >
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>7. device tree &mdash; BL602 IoT SDK release_bl_iot_sdk_1.6.11-1-g66bb28da 文档</title>
<link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/style.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/css/custom.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
<script src="../../../_static/jquery.js"></script>
<script src="../../../_static/underscore.js"></script>
<script src="../../../_static/doctools.js"></script>
<script src="../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../_static/js/theme.js"></script>
<link rel="index" title="索引" href="../../../genindex.html" />
<link rel="search" title="搜索" href="../../../search.html" />
<link rel="next" title="8. blog" href="../log/blog.html" />
<link rel="prev" title="6. BLSYNC" href="../blsync/blsync.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" alt="Documentation Home"> BL602 IoT SDK
</a>
<div class="version">
release_bl_iot_sdk_1.6.11-1-g66bb28da
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
<input type="text" name="q" placeholder="在文档中搜索" />
<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="main navigation">
<p class="caption"><span class="caption-text">Developer_Environment</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../../Developer_Environment/Developer_Environment.html">1. Developer Environment</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Developer_Environment/BLFlashEnv/BLFlashEnv.html">2. BLFlashEnv</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Developer_Environment/freedom_studio/freedom_studio.html">3. Freedom Studio</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Developer_Environment/eclipse/eclipse.html">4. Eclipse</a></li>
</ul>
<p class="caption"><span class="caption-text">Examples</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/helloworld/helloworld.html">1. Helloword</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_aws/aws.html">2. aws</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_peripherals_gpio/GPIO.html">3. GPIO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_peripherals_uart_echo/uart_echo.html">4. UART_echo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_peripherals_uart_ioctl/uart_ioctl.html">5. UART_ioctl</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_protocols_http/http.html">6. Http client</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_protocols_httpc/httpc.html">7. Httpc client</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_storage_psm/psm.html">8. PSM</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_storage_romfs/romfs.html">9. Romfs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_system_cli/cli.html">10. cli</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_system_fdt/fdt.html">11. FDT</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_wifi/wifi.html">12. WiFi</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_ble/ble.html">13. BLE</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_mesh/mesh.html">14. Mesh</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/demo_blsync_ble/blsync_ble.html">15. BLSYNC-BLE</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../Examples/sdk_app_easyflash_boottimes/easyflash_boottimes.html">16. Easyflash4 boot times</a></li>
</ul>
<p class="caption"><span class="caption-text">Components</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../arch.html">1. arch</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Command_line/helper.html">2. helper</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Command_line/aos_cli.html">3. cli</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Hal_drv/gpio.html">4. GPIO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../bloop/bloop.html">5. BLOOP</a></li>
<li class="toctree-l1"><a class="reference internal" href="../blsync/blsync.html">6. BLSYNC</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">7. device tree</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id1">7.1. 一、 介绍</a></li>
<li class="toctree-l2"><a class="reference internal" href="#dts-dtb">7.2. 二、 dts 和 dtb 相互转换</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id2">7.3. 三、 device tree 语法格式</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">7.4. 四、 device tree 模块配置</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id4">7.4.1. 串口配置</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../log/blog.html">8. blog</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security/security.html">9. Security</a></li>
<li class="toctree-l1"><a class="reference internal" href="../vfs/vfs.html">10. AOS VFS</a></li>
<li class="toctree-l1"><a class="reference internal" href="../yloop/yloop.html">11. yloop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Network/httpc/httpc.html">12. HTTPC</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Network/https/https.html">13. HTTPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Network/tls/tls.html">14. TLS</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../BLE/provision_WiFi/provision_WiFi.html">15. Provision_WiFi</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../BLE/mesh/mesh.html">16. Mesh</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../BLE/ble_stack/ble_stack.html">17. BLE</a></li>
</ul>
<p class="caption"><span class="caption-text">API</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../../API/sys/cronalarms.html">1. cronalarms</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../API/wifi/wifi_mgmr.html">2. Wi-Fi Manager</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../../index.html">BL602 IoT SDK</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../../index.html" class="icon icon-home"></a> &raquo;</li>
<li><span class="section-number">7. </span>device tree</li>
<li class="wy-breadcrumbs-aside">
<a href="../../../_sources/Components/Middleware/dts/devicetree.rst.txt" rel="nofollow"> 查看页面源码</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="device-tree">
<h1><span class="section-number">7. </span>device tree<a class="headerlink" href="#device-tree" title="永久链接至标题"></a></h1>
<div class="section" id="id1">
<h2><span class="section-number">7.1. </span>一、 介绍<a class="headerlink" href="#id1" title="永久链接至标题"></a></h2>
<ul>
<li><p>调试平台</p>
<p><code class="docutils literal notranslate"><span class="pre">ubuntu18.04</span></code></p>
</li>
</ul>
</div>
<div class="section" id="dts-dtb">
<h2><span class="section-number">7.2. </span>二、 dts 和 dtb 相互转换<a class="headerlink" href="#dts-dtb" title="永久链接至标题"></a></h2>
<ul>
<li><p>device tree 调试工具</p>
<p><code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">sudo</span> <span class="pre">apt-get</span> <span class="pre">install</span> <span class="pre">device-tree-compiler</span></code></p>
</li>
<li><p>dts 转 dtb</p>
<p><code class="docutils literal notranslate"><span class="pre">dtc</span> <span class="pre">-I</span> <span class="pre">dts</span> <span class="pre">-O</span> <span class="pre">dtb</span> <span class="pre">-o</span> <span class="pre">*.dtb</span> <span class="pre">*.dts</span></code></p>
</li>
<li><p>dtb 转 dts</p>
<p><code class="docutils literal notranslate"><span class="pre">dtc</span> <span class="pre">-I</span> <span class="pre">dtb</span> <span class="pre">-O</span> <span class="pre">dts</span> <span class="pre">*.dtb</span> <span class="pre">-o</span> <span class="pre">*.dts</span></code></p>
</li>
<li><p>dtb 转数组到数组 *.c</p>
<p><code class="docutils literal notranslate"><span class="pre">xxd</span> <span class="pre">-i</span> <span class="pre">*.dtb</span> <span class="pre">./*.c</span></code></p>
</li>
</ul>
</div>
<div class="section" id="id2">
<h2><span class="section-number">7.3. </span>三、 device tree 语法格式<a class="headerlink" href="#id2" title="永久链接至标题"></a></h2>
<ul>
<li><p>*.dts 文件开头必须采用如下所示开头
<code class="docutils literal notranslate"><span class="pre">/dts-v1/;</span>&#160;&#160;&#160;&#160; <span class="pre">//</span> <span class="pre">version:</span> <span class="pre">17</span>&#160;&#160;&#160;&#160; <span class="pre">//</span> <span class="pre">last_comp_version:</span> <span class="pre">16</span>&#160;&#160;&#160;&#160; <span class="pre">//</span> <span class="pre">boot_cpuid_phys:</span> <span class="pre">0x0</span></code></p></li>
<li><p>16进制数组表示方法如下(注:字节间必须有一个空格,且暂时不支持换行)</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mac</span> <span class="p">{</span>
<span class="n">sta_mac_addr</span> <span class="o">=</span> <span class="p">[</span><span class="n">C8</span> <span class="mi">43</span> <span class="mi">57</span> <span class="mi">82</span> <span class="mi">73</span> <span class="mi">40</span><span class="p">];</span>
<span class="n">ap_mac_addr</span> <span class="o">=</span> <span class="p">[</span><span class="n">C8</span> <span class="mi">43</span> <span class="mi">57</span> <span class="mi">82</span> <span class="mi">73</span> <span class="mi">02</span><span class="p">];</span>
<span class="p">};</span>
</pre></div>
</div>
</li>
<li><p>字符串或者字符串数据表示方法如下</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">model</span> <span class="o">=</span> <span class="s2">&quot;bl bl602 AVB board&quot;</span><span class="p">;</span>
<span class="n">compatible</span> <span class="o">=</span> <span class="s2">&quot;bl,bl602-sample&quot;</span><span class="p">,</span> <span class="s2">&quot;bl,bl602-common&quot;</span><span class="p">;</span>
</pre></div>
</div>
</li>
<li><p>32bit数据表示方法(可以使用16进制ox方式也可使用10进制方式字节间必须有一个空格且暂时不支持换行)</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pwr_table</span> <span class="o">=</span> <span class="o">&lt;</span><span class="mh">0x4</span> <span class="mh">0x64</span><span class="o">&gt;</span>
<span class="n">pwr_table</span> <span class="o">=</span> <span class="o">&lt;</span><span class="mi">4</span> <span class="mi">100</span><span class="o">&gt;</span>
</pre></div>
</div>
</li>
</ul>
</div>
<div class="section" id="id3">
<h2><span class="section-number">7.4. </span>四、 device tree 模块配置<a class="headerlink" href="#id3" title="永久链接至标题"></a></h2>
<div class="section" id="id4">
<h3><span class="section-number">7.4.1. </span>串口配置<a class="headerlink" href="#id4" title="永久链接至标题"></a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">串口暂时仅支持配置以下功能</span>
</pre></div>
</div>
<ul>
<li><p>使能串口</p>
<p><code class="docutils literal notranslate"><span class="pre">status</span> <span class="pre">=</span> <span class="pre">&quot;okay&quot;;</span></code></p>
</li>
<li><p>关闭串口</p>
<p>关闭串口时,余下其他引脚、波特率等配置均无效,不会初始化相关硬件</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">status</span> <span class="o">=</span> <span class="s2">&quot;disable&quot;</span><span class="p">;</span>
</pre></div>
</div>
</li>
<li><p>配置引脚</p>
<p>暂时不支持配置cts和rts相关功能故暂时<code class="docutils literal notranslate"><span class="pre">feature</span></code>中rts和cts均为<code class="docutils literal notranslate"><span class="pre">disable</span></code>。如果使用了串的tx和rx<code class="docutils literal notranslate"><span class="pre">feature</span></code>中到tx和rx需要配置为<code class="docutils literal notranslate"><span class="pre">okay</span></code><code class="docutils literal notranslate"><span class="pre">pin</span></code>中的tx和rx需要选择相关引脚。</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pin</span> <span class="p">{</span>
<span class="n">rx</span> <span class="o">=</span> <span class="o">&lt;</span><span class="mi">7</span><span class="o">&gt;</span><span class="p">;</span>
<span class="n">tx</span> <span class="o">=</span> <span class="o">&lt;</span><span class="mi">16</span><span class="o">&gt;</span><span class="p">;</span>
<span class="p">};</span>
<span class="n">feature</span> <span class="p">{</span>
<span class="n">rts</span> <span class="o">=</span> <span class="s2">&quot;disable&quot;</span><span class="p">;</span>
<span class="n">cts</span> <span class="o">=</span> <span class="s2">&quot;disable&quot;</span><span class="p">;</span>
<span class="n">rx</span> <span class="o">=</span> <span class="s2">&quot;okay&quot;</span><span class="p">;</span>
<span class="n">tx</span> <span class="o">=</span> <span class="s2">&quot;okay&quot;</span><span class="p">;</span>
<span class="p">};</span>
</pre></div>
</div>
</li>
<li><p>配置波特率</p>
<p>配置波特率参考如下,最大支持 <code class="docutils literal notranslate"><span class="pre">2000000</span> <span class="pre">bps</span></code>这里以<code class="docutils literal notranslate"><span class="pre">9600</span></code>为例</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">baudrate</span> <span class="o">=</span> <span class="o">&lt;</span><span class="mi">9600</span><span class="o">&gt;</span><span class="p">;</span>
</pre></div>
</div>
</li>
<li><p>配置id号</p>
<p>配置id参考如下这里以<code class="docutils literal notranslate"><span class="pre">&lt;0&gt;</span></code>为例</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="nb">id</span> <span class="o">=</span> <span class="o">&lt;</span><span class="mi">0</span><span class="o">&gt;</span><span class="p">;</span>
</pre></div>
</div>
</li>
<li><p>配置设备名</p>
<p>目前串口设备名为/dev/ttyS<em>,至于</em>为当前串口id号目前调试口使用
/dev/ttyS0</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pin</span> <span class="p">{</span>
<span class="n">rx</span> <span class="o">=</span> <span class="o">&lt;</span><span class="mi">7</span><span class="o">&gt;</span><span class="p">;</span>
<span class="n">tx</span> <span class="o">=</span> <span class="o">&lt;</span><span class="mi">16</span><span class="o">&gt;</span><span class="p">;</span>
<span class="p">};</span>
<span class="n">feature</span> <span class="p">{</span>
<span class="n">rts</span> <span class="o">=</span> <span class="s2">&quot;disable&quot;</span><span class="p">;</span>
<span class="n">cts</span> <span class="o">=</span> <span class="s2">&quot;disable&quot;</span><span class="p">;</span>
<span class="n">rx</span> <span class="o">=</span> <span class="s2">&quot;okay&quot;</span><span class="p">;</span>
<span class="n">tx</span> <span class="o">=</span> <span class="s2">&quot;okay&quot;</span><span class="p">;</span>
<span class="p">};</span>
<span class="n">path</span> <span class="o">=</span> <span class="s2">&quot;/dev/ttyS0&quot;</span><span class="p">;</span>
</pre></div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../log/blog.html" class="btn btn-neutral float-right" title="8. blog" accesskey="n" rel="next">下一页 <span class="fa fa-arrow-circle-right"></span></a>
<a href="../blsync/blsync.html" class="btn btn-neutral float-left" title="6. BLSYNC" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> 上一页</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; 版权所有 2020, Bouffalo Lab
</p>
</div>
利用 <a href="http://sphinx-doc.org/">Sphinx</a> 构建,使用了
<a href="https://github.com/rtfd/sphinx_rtd_theme">主题</a>
<a href="https://readthedocs.org">Read the Docs</a>开发.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>