bl_iot_sdk/docs/html/bl602doc_tool/content/Burning_process.html
2020-10-26 20:43:20 +08:00

435 lines
22 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>1. Dev Cube 简介 &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" />
</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>
<li class="toctree-l1"><a class="reference internal" href="../../Components/arch.html">1. arch</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/Command_line/helper.html">2. helper</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/Command_line/aos_cli.html">3. cli</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/Hal_drv/gpio.html">4. GPIO</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/Middleware/bloop/bloop.html">5. BLOOP</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/Middleware/blsync/blsync.html">6. BLSYNC</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/Middleware/dts/devicetree.html">7. device tree</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/Middleware/log/blog.html">8. blog</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/Middleware/security/security.html">9. Security</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/Middleware/vfs/vfs.html">10. AOS VFS</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/Middleware/yloop/yloop.html">11. yloop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/Network/httpc/httpc.html">12. HTTPC</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/Network/https/https.html">13. HTTPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/Network/tls/tls.html">14. TLS</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/BLE/provision_WiFi/provision_WiFi.html">15. Provision_WiFi</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/BLE/mesh/mesh.html">16. Mesh</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../Components/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">1. </span>Dev Cube 简介</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/bl602doc_tool/content/Burning_process.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="dev-cube">
<h1><span class="section-number">1. </span>Dev Cube 简介<a class="headerlink" href="#dev-cube" title="永久链接至标题"></a></h1>
<p>Dev Cube 是博流提供的芯片集成开发工具包含IOT程序下载、MCU程序下载和RF性能测试三种功能。本文档主要介绍IOT和MCU程序下载相关配置RF性能测试请参考《射频性能测试使用手册》。</p>
<p>Dev Cube 提供用户下载程序的功能并且支持时钟、flash等参数配置用户可根据自身需求决定是否对程序进行加密、添加签名、更换程序启动时的信息文件、用户资源文件、分区表等功能配置。</p>
<p>具体的功能如下:</p>
<ol class="arabic simple">
<li><p>支持IOT应用程序和MCU应用程序的下载</p></li>
<li><p>支持多种型号Flash 的擦、写、读;</p></li>
<li><p>可将各类文件下载到Flash并验证、回读</p></li>
<li><p>下载通讯接口支持 UART 和 JLink 两种方式。</p></li>
</ol>
<p>用户可以通过 <a class="reference external" href="https://dev.bouffalolab.com/download">Bouffalo Lab Dev Cube</a>获取最新版本的Dev Cube。
双击解压后文件夹中的<code class="docutils literal notranslate"><span class="pre">BLDevCube.exe</span></code>,在<code class="docutils literal notranslate"><span class="pre">Chip</span> <span class="pre">Selection</span></code>对话框中选择对应的芯片型号,点击<code class="docutils literal notranslate"><span class="pre">Finish</span></code>进入Dev Cube主界面。</p>
<div class="figure align-center" id="id9">
<img alt="../../_images/chipselection.png" src="../../_images/chipselection.png" />
<p class="caption"><span class="caption-text">芯片选择</span><a class="headerlink" href="#id9" title="永久链接至图片"></a></p>
</div>
</div>
<div class="section" id="id1">
<h1><span class="section-number">2. </span>镜像组成<a class="headerlink" href="#id1" title="永久链接至标题"></a></h1>
<p>无论是IOT程序下载还是MCU程序下载它们的镜像组成是相同的都如下图所示</p>
<div class="figure align-center" id="id10">
<img alt="../../_images/tool2.png" src="../../_images/tool2.png" />
<p class="caption"><span class="caption-text">下载内容布局</span><a class="headerlink" href="#id10" title="永久链接至图片"></a></p>
</div>
<p>如果只下载应用程序无法使芯片正常工作必须要将引导信息下载到指定位置。引导信息包含对PLL、Boot、Flash等的配置固件是用户自己编写的应用程序。</p>
<p>以单核下载为例:根据需求选择对应的参数,将对PLL、Flash等配置的信息烧录到Bootinfo Addr对应的地址中将应用程序经过编译后的bin文件烧录到Image Addr对应的地址中。</p>
</div>
<div class="section" id="mcu">
<h1><span class="section-number">3. </span>MCU程序下载<a class="headerlink" href="#mcu" title="永久链接至标题"></a></h1>
<p><code class="docutils literal notranslate"><span class="pre">View</span></code>菜单中选择MCU选项会进入MCU程序下载界面主要分为程序下载方式的配置、镜像参数的配置和高级镜像参数的配置。</p>
<div class="section" id="id2">
<h2><span class="section-number">3.1. </span>配置程序下载方式<a class="headerlink" href="#id2" title="永久链接至标题"></a></h2>
<ul>
<li><p>配置参数包括:</p>
<blockquote>
<div><ul class="simple">
<li><p>Interface用于选择烧录的通信接口这里选择 Uart 进行下载</p></li>
<li><p>COM Port当选择 UART 进行下载的时候这里选择与芯片连接的 COM 口号,可以点击 Refresh 按钮进行 COM 号的刷新</p></li>
<li><p>Uart Speed当选择 UART 进行下载的时候填写波特率推荐下载频率2MHz,不宜过高</p></li>
<li><p>Chip Erase默认设置为False即下载时不擦除Flash</p></li>
<li><p>Xtal用于选择板子所使用的晶振类型。</p></li>
</ul>
</div></blockquote>
</li>
</ul>
<div class="figure align-center" id="id11">
<img alt="../../_images/tool5.png" src="../../_images/tool5.png" />
<p class="caption"><span class="caption-text">MCU程序下载方式选择界面</span><a class="headerlink" href="#id11" title="永久链接至图片"></a></p>
</div>
</div>
<div class="section" id="id3">
<h2><span class="section-number">3.2. </span>配置镜像参数<a class="headerlink" href="#id3" title="永久链接至标题"></a></h2>
<ul>
<li><p>配置参数包括:</p>
<blockquote>
<div><ul class="simple">
<li><p>Boot Source默认为Flash</p></li>
<li><p>BootInfo AddrFlash程序启动参数的存放地址填写0x0</p></li>
<li><p>Image Type默认为SingleCPU</p></li>
<li><p>Image Addr应用程序的存放地址建议填写0x2000或者0x2000以后的地址</p></li>
<li><p>Image File将编译生成的bin文件路径添加到Image File 中</p></li>
</ul>
</div></blockquote>
</li>
</ul>
<div class="figure align-center" id="id12">
<img alt="../../_images/tool9.png" src="../../_images/tool9.png" />
<p class="caption"><span class="caption-text">镜像参数选择界面</span><a class="headerlink" href="#id12" title="永久链接至图片"></a></p>
</div>
</div>
<div class="section" id="id4">
<h2><span class="section-number">3.3. </span>配置高级镜像参数<a class="headerlink" href="#id4" title="永久链接至标题"></a></h2>
<ul>
<li><p>当点击<code class="docutils literal notranslate"><span class="pre">click</span> <span class="pre">here</span> <span class="pre">to</span> <span class="pre">show</span> <span class="pre">advanced</span> <span class="pre">options</span></code>时,会展开高级镜像配置,可配置的参数包括:</p>
<blockquote>
<div><ul class="simple">
<li><p>Flash Clock默认为XTAL</p></li>
<li><p>PLL : PLL时钟配置默认为160M</p></li>
<li><p>CacheWayDis : 缓冲通道失能默认为none</p></li>
<li><p>Sign : 选择是否需要ECC校验默认为none</p></li>
<li><p>CrcIgnore : 是否需要CRC校验。当参数选择False时需要做CRC校验参数选择True时不需要做CRC校验</p></li>
<li><p>HashIgnore : 是否需要做Hash校验。当参数选择False时需要做Hash校验参数选择True时不需要做Hash校验</p></li>
<li><p>Encrypt : 选择加密方式并根据AES加密方式在AES Key 和AES IV中输入对应的值。</p></li>
</ul>
</div></blockquote>
</li>
</ul>
<div class="figure align-center" id="id13">
<img alt="../../_images/tool10.png" src="../../_images/tool10.png" />
<p class="caption"><span class="caption-text">高级镜像参数选择界面</span><a class="headerlink" href="#id13" title="永久链接至图片"></a></p>
</div>
</div>
<div class="section" id="id5">
<h2><span class="section-number">3.4. </span>下载程序<a class="headerlink" href="#id5" title="永久链接至标题"></a></h2>
<ul class="simple">
<li><p>将板子的BOOT引脚保持高电平并且使得芯片复位使其处于UART引导下载的状态。点击<code class="docutils literal notranslate"><span class="pre">Creat&amp;Program</span></code>会自动生成应用程序镜像和启动参数配置文件出现下图log信息程序下载成功</p></li>
</ul>
<div class="figure align-center" id="id14">
<img alt="../../_images/tool6.png" src="../../_images/tool6.png" />
<p class="caption"><span class="caption-text">下载程序</span><a class="headerlink" href="#id14" title="永久链接至图片"></a></p>
</div>
<div class="admonition note">
<p class="admonition-title">注解</p>
<p>若没有连接板子,只需生成应用程序镜像和启动参数配置文件,也是点击<code class="docutils literal notranslate"><span class="pre">Creat&amp;Program</span></code>按钮</p>
</div>
<ul class="simple">
<li><p>下载成功后将板子的BOOT引脚保持低电平并且使得芯片复位使其从Flash启动。此例子以2M波特率向PC端发送字符串报文</p></li>
</ul>
<div class="figure align-center" id="id15">
<img alt="../../_images/tool7.png" src="../../_images/tool7.png" />
<p class="caption"><span class="caption-text">log信息</span><a class="headerlink" href="#id15" title="永久链接至图片"></a></p>
</div>
</div>
</div>
<div class="section" id="iot">
<h1><span class="section-number">4. </span>IOT程序下载<a class="headerlink" href="#iot" title="永久链接至标题"></a></h1>
<p><code class="docutils literal notranslate"><span class="pre">View</span></code>菜单中选择IOT选项会进入IOT程序下载界面主要分为程序下载方式的配置和下载参数的配置。</p>
<div class="section" id="id6">
<h2><span class="section-number">4.1. </span>配置程序下载方式<a class="headerlink" href="#id6" title="永久链接至标题"></a></h2>
<ul>
<li><p>配置参数包括:</p>
<blockquote>
<div><ul class="simple">
<li><p>Interface用于选择烧录的通信接口这里选择 Uart 进行下载</p></li>
<li><p>COM Port: 当选择 UART 进行下载的时候这里选择与芯片连接的 COM 口号,可以点击 Refresh 按钮进行 COM 号的刷新</p></li>
<li><p>Uart Rate当选择 UART 进行下载的时候填写波特率推荐下载频率2MHz,不宜过高</p></li>
<li><p>Board选择所使用的板子型号这里选择 IoTKitA当板子选定后Xtal 会自动更新成与板子匹配的默认值,当然用户也是可以再次更改的</p></li>
<li><p>Xtal:选择下载时的晶振频率如果电路板没有焊接晶振此处应当选内部RC32M时钟源</p></li>
<li><p>Chip Erase 默认设置为False即下载时不擦除Flash</p></li>
</ul>
</div></blockquote>
</li>
</ul>
<div class="figure align-center" id="id16">
<img alt="../../_images/iot1.png" src="../../_images/iot1.png" />
<p class="caption"><span class="caption-text">IOT程序下载方式选择界面</span><a class="headerlink" href="#id16" title="永久链接至图片"></a></p>
</div>
</div>
<div class="section" id="id7">
<h2><span class="section-number">4.2. </span>配置下载参数<a class="headerlink" href="#id7" title="永久链接至标题"></a></h2>
<ul>
<li><p>配置参数包括:</p>
<blockquote>
<div><ul class="simple">
<li><p>Partition Table使用Dev Cube目录下对应芯片型号 partition 文件夹中的分区表默认选择2M的文件</p></li>
<li><p>Boot2 Bin:它是系统启动后运行的第一个Flash程序负责建立BLSP安全环境并引导主程序运行使用Dev Cube目录下对应芯片型号 builtin_imgs 文件夹中的 Boot2 文件</p></li>
<li><p>Firmware Bin用户编译生成的bin文件路径</p></li>
<li><p>Media/RomfsMedia和Romfs二选一如果勾选 Media选择的是文件如果勾选 Romfs则选择的是文件夹</p></li>
<li><p>MFG Bin选择MFG文件</p></li>
<li><p>AES-Encrypt如果使用加密功能需要将AES-Encrypt选项选中并在旁边的文本框中输入加密所使用的Key和IV。输入的是十六进制对应的“0”~“F”一个Byte由两个字符构成所以Key和IV分别要求输入32个字符。需要注意的是IV的最后8个字符即4Bytes必须全为0</p></li>
<li><p>Single Download Config勾选Enable后可下载单个文件在左侧文本框填写下载的起始地址以0x打头</p></li>
</ul>
</div></blockquote>
</li>
</ul>
<div class="figure align-center" id="id17">
<img alt="../../_images/iot2.png" src="../../_images/iot2.png" />
<p class="caption"><span class="caption-text">下载参数选择界面</span><a class="headerlink" href="#id17" title="永久链接至图片"></a></p>
</div>
</div>
<div class="section" id="id8">
<h2><span class="section-number">4.3. </span>下载程序<a class="headerlink" href="#id8" title="永久链接至标题"></a></h2>
<ul class="simple">
<li><p>将板子的BOOT引脚保持高电平并且使得芯片复位使其处于UART引导下载的状态。点击<code class="docutils literal notranslate"><span class="pre">Creat&amp;Download</span></code>会自动生成应用程序镜像和启动参数配置文件出现下图log信息程序下载成功</p></li>
</ul>
<div class="figure align-center" id="id18">
<img alt="../../_images/iot3.png" src="../../_images/iot3.png" />
<p class="caption"><span class="caption-text">IOT下载程序</span><a class="headerlink" href="#id18" title="永久链接至图片"></a></p>
</div>
<div class="admonition note">
<p class="admonition-title">注解</p>
<p>若没有连接板子,只需生成应用程序镜像和启动参数配置文件,也是点击<code class="docutils literal notranslate"><span class="pre">Creat&amp;Program</span></code>按钮</p>
</div>
<ul class="simple">
<li><p>下载成功后将板子的BOOT引脚保持低电平并且使得芯片复位使其从Flash启动。此例子以2M波特率向PC端发送字符串报文</p></li>
</ul>
<div class="figure align-center" id="id19">
<img alt="../../_images/tool7.png" src="../../_images/tool7.png" />
<p class="caption"><span class="caption-text">log信息</span><a class="headerlink" href="#id19" title="永久链接至图片"></a></p>
</div>
</div>
</div>
</div>
</div>
<footer>
<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>