MianQi 发表于 2021-10-7 21:52

[安信可ESP32-Audio-Kit音频开发板] - 4: 在 Ubuntu 20.04 上运行“esp-adf”build

<div class='showpostmsg'> 本帖最后由 MianQi 于 2021-10-7 21:51 编辑

<p>注意事项和设置环节有:</p>

<p>1、下载-解压&ldquo;<code>esp-idf-v4.2.2.zip</code>&rdquo;</p>

<p>(https://github.com/espressif/esp-idf/releases/tag/v4.2.2)</p>

<p>(https://dl.espressif.com/dl/esp-idf/releases/esp-idf-v4.2.2.zip)</p>

<p>验证安装:</p>

<section class="code-snippet__fix code-snippet__js">
<pre>
<code class="language-cpp">./install.sh
. ./export.sh
idf.py menuconfig
idf.py build
idf.py -p /dev/ttyUSB0 flash monitor</code></pre>

<p>&nbsp;</p>
</section>

<p>2、下载&ldquo;esp-adf&rdquo;</p>

<pre>
<code class="language-cpp">git clone --recursive https://github.com/espressif/esp-adf.git</code></pre>

<p>只保留头部和首部的两个&ldquo;submodule&rdquo;(就是说,只要看到开始cloning esp-idf,就可以中止 - &ldquo;Ctrl +C&rdquo;):</p>

<p></p>

<p style="text-align: center;">&nbsp;</p>

<p>(上图中首部的第二个&ldquo;submodule&rdquo;没能下载,这是不行地,要跟第一个&ldquo;submodule&rdquo; - esp-adf-libs的提示一样才行)</p>

<p>&nbsp;</p>

<p>3、将&ldquo;esp-adf&rdquo;中原有的&ldquo;esp-idf&rdquo;删除,将已经验证通过的&ldquo;esp-idf-v4.2.2&rdquo;粘贴进来,改名为&ldquo;esp-idf&rdquo;。</p>

<p>&nbsp;</p>

<p>4、两个&ldquo;export&rdquo;:</p>

<section class="code-snippet__fix code-snippet__js">
<pre>
<code class="language-cpp">export ADF_PATH=~/esp/esp-adf
printenv ADF_PATH

export IDF_PATH=~/esp/esp-adf/esp-idf
printenv IDF_PATH</code></pre>

<p>&nbsp;</p>
</section>

<p>5、将&ldquo;esp-adf&rdquo;中的示例拷贝-粘贴进来,放到&ldquo;esp-adf&rdquo;目录里(跟&ldquo;esp-idf&rdquo;同级)</p>

<p>&nbsp;</p>

<p>6、打开项目文件夹中的&ldquo;sdkconfig&rdquo;文件,在其中找到&ldquo;Certificate Bundle&rdquo;那一节(使用&ldquo;Ctrl + W&rdquo;),将其中的:</p>

<section class="code-snippet__fix code-snippet__js">
<pre>
<code class="language-cpp">CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y</code></pre>

<p>&nbsp;</p>
</section>

<p>改为:</p>

<pre>
<code class="language-cpp">#CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y</code></pre>

<section class="code-snippet__fix code-snippet__js">
<p>&nbsp;</p>
</section>

<p>将下一句:</p>

<section class="code-snippet__fix code-snippet__js">
<pre>
<code class="language-cpp"># CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set</code></pre>

<p>&nbsp;</p>
</section>

<p>改为:</p>

<section class="code-snippet__fix code-snippet__js">
<pre>
<code class="language-cpp">CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN=y</code></pre>

<p>&nbsp;</p>
</section>

<p>改动的时候要注意语句左边的齐头,否则,即便是保存了也不能生效:</p>

<p></p>

<p>&nbsp;</p>

<p>7、在示例文件夹内验证:</p>

<section class="code-snippet__fix code-snippet__js">
<pre>
<code class="language-cpp">idf.py menuconfig
idf.py build
idf.py -p /dev/ttyUSB0 flash monitor</code></pre>

<p>&nbsp;</p>
</section>

<p>&nbsp;</p>

<p>视频(idf.py build):</p>

<p><iframe allowfullscreen="true" frameborder="0" height="450" src="//player.bilibili.com/player.html?bvid=1k341117Ct&amp;page=1" style="background:#eee;margin-bottom:10px;" width="700"></iframe><br />
&nbsp;</p>

<p>&nbsp;</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

火辣西米秀 发表于 2021-10-8 07:14

<p>第2步,为什么只保留头部和首部的两个&ldquo;submodule&rdquo;,没懂</p>

MianQi 发表于 2021-10-8 08:27

火辣西米秀 发表于 2021-10-8 07:14
第2步,为什么只保留头部和首部的两个&ldquo;submodule&rdquo;,没懂

<p>因为:</p>

<p>1、接下来的esp-idf有20个左右的&ldquo;submodule&rdquo;和两个example,这些几乎是不可能下全地,但它们可以通过.zip文件下下来。</p>

<p>2、将esp-idf和esp-adf两部分整合的时候,esp-idf要单独测试,通过测试后,替换esp-adf中的esp-idf文件夹。</p>

MianQi 发表于 2021-10-8 08:30

火辣西米秀 发表于 2021-10-8 07:14
第2步,为什么只保留头部和首部的两个&ldquo;submodule&rdquo;,没懂

<p>头部和首部的两个&ldquo;submodule&rdquo; - 这句话的意思是:头部文件 + 首部的两个&ldquo;submodule&rdquo; ,而不是头部是一个&ldquo;submodule&rdquo; ,首部是另一个&ldquo;submodule&rdquo; 。</p>

火辣西米秀 发表于 2021-10-8 21:17

MianQi 发表于 2021-10-8 08:30
头部和首部的两个&ldquo;submodule&rdquo; - 这句话的意思是:头部文件 + 首部的两个&ldquo;submodule&rd ...

<p>明白了</p>
页: [1]
查看完整版本: [安信可ESP32-Audio-Kit音频开发板] - 4: 在 Ubuntu 20.04 上运行“esp-adf”build