[安信可ESP32-Audio-Kit音频开发板] - 4: 在 Ubuntu 20.04 上运行“esp-adf”build
<div class='showpostmsg'> 本帖最后由 MianQi 于 2021-10-7 21:51 编辑<p>注意事项和设置环节有:</p>
<p>1、下载-解压“<code>esp-idf-v4.2.2.zip</code>”</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> </p>
</section>
<p>2、下载“esp-adf”</p>
<pre>
<code class="language-cpp">git clone --recursive https://github.com/espressif/esp-adf.git</code></pre>
<p>只保留头部和首部的两个“submodule”(就是说,只要看到开始cloning esp-idf,就可以中止 - “Ctrl +C”):</p>
<p></p>
<p style="text-align: center;"> </p>
<p>(上图中首部的第二个“submodule”没能下载,这是不行地,要跟第一个“submodule” - esp-adf-libs的提示一样才行)</p>
<p> </p>
<p>3、将“esp-adf”中原有的“esp-idf”删除,将已经验证通过的“esp-idf-v4.2.2”粘贴进来,改名为“esp-idf”。</p>
<p> </p>
<p>4、两个“export”:</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> </p>
</section>
<p>5、将“esp-adf”中的示例拷贝-粘贴进来,放到“esp-adf”目录里(跟“esp-idf”同级)</p>
<p> </p>
<p>6、打开项目文件夹中的“sdkconfig”文件,在其中找到“Certificate Bundle”那一节(使用“Ctrl + W”),将其中的:</p>
<section class="code-snippet__fix code-snippet__js">
<pre>
<code class="language-cpp">CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y</code></pre>
<p> </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> </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> </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> </p>
</section>
<p>改动的时候要注意语句左边的齐头,否则,即便是保存了也不能生效:</p>
<p></p>
<p> </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> </p>
</section>
<p> </p>
<p>视频(idf.py build):</p>
<p><iframe allowfullscreen="true" frameborder="0" height="450" src="//player.bilibili.com/player.html?bvid=1k341117Ct&page=1" style="background:#eee;margin-bottom:10px;" width="700"></iframe><br />
</p>
<p> </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> <p>第2步,为什么只保留头部和首部的两个“submodule”,没懂</p>
火辣西米秀 发表于 2021-10-8 07:14
第2步,为什么只保留头部和首部的两个“submodule”,没懂
<p>因为:</p>
<p>1、接下来的esp-idf有20个左右的“submodule”和两个example,这些几乎是不可能下全地,但它们可以通过.zip文件下下来。</p>
<p>2、将esp-idf和esp-adf两部分整合的时候,esp-idf要单独测试,通过测试后,替换esp-adf中的esp-idf文件夹。</p>
火辣西米秀 发表于 2021-10-8 07:14
第2步,为什么只保留头部和首部的两个“submodule”,没懂
<p>头部和首部的两个“submodule” - 这句话的意思是:头部文件 + 首部的两个“submodule” ,而不是头部是一个“submodule” ,首部是另一个“submodule” 。</p>
MianQi 发表于 2021-10-8 08:30
头部和首部的两个“submodule” - 这句话的意思是:头部文件 + 首部的两个“submodule&rd ...
<p>明白了</p>
页:
[1]