查看: 8904|回复: 1

[经验] 乐鑫Esp32学习之旅① 虚拟机Linux搭建esp32环境,打印 “Hellow...

[复制链接]
  • TA的每日心情
    无聊
    2019-1-9 09:43
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2019-2-25 16:05:56 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 qiaoweiyiyi 于 2019-2-25 16:11 编辑

    乐鑫Esp32学习之旅① 爬坑学习新旅程,虚拟机Linux搭建esp32环境,打印 “Hellow World”。(带Demo)

    一、认识其本质。
    1.png

    • 乐鑫ESP8266学习的七七八八了,下面开始新的旅程,我们来玩玩ESP32,其功能强大之处在于可以同时支持 WI-FI+BlueTooth , 即 wifi加蓝牙 。可见之处多么强大,还可以同时开启蓝牙和wifi哦!
    • ESP32是一款WiFi和蓝牙系统级芯片(SoC),具有行业领先的射频性能、低功耗和高度集成的优势。
    • ESP32集成了完整的发射/接收射频功能,包括天线开关,射频balun,功率放大器,低噪放大器,过滤器,电源管理模块和先进的自校准电路。自校准电路实现了动态自动调整以消除外部电路的缺陷。
    • ESP32带有2个32位、LX6 CPU,主频高达240MHz,采用7级流水线架构。
    • ESP32还集成了丰富的模拟传感和数字接口。 ESP32的超低功耗射频架构和拥有专利的省电技术延长了实际应用的电池续航时间。


    二、学习资料参考。




    三、搭建环境所需要的材料(3个)。
    官方Linxu环境搭建ESP32相关文档:https://esp-idf.readthedocs.io/en/latest/get-started/linux-setup.html

    ① ToolChain 工具链下载:
    • 分为 Linux 64位的和 32位的 。目前2018.5.5的乐鑫最新IDF框架支持的工具链需要到工具链版本80,切记切记!


    版本80的64位系统下载链接:点我下载

    版本80的32位系统下载链接:点我下载


    ② 乐鑫IDF框架下载:
    • 乐鑫IDF框架是什么?这里我就不多说了! 用git命令来拉取下来,这就可以可以同步最新的框架版本!懒散的我直接一个downLoad 下载,发现会有错误,可能是会把某些文件没下载,切记!还是用前辈的方法拉取下来!
    1. git clone --recursive https://github.com/espressif/esp-idf.git
    复制代码

    ③ 乐鑫推荐搭建8266的开发环境集成!

    可以参考机智云的文档集成8266开发环境介绍:点我查看
    注意点①: 使用乐鑫推荐的方式来安装虚拟镜像ESP8266_lubuntu_20141021.ova的Linux版本是 32位,所以我们如果选择此方式的话,那么前面下载的工具链为32位,那本文的也是基于32位的工具链,其实和64位的集成方式一样,只是下载不一样的代码!
    注意点②: 注意设置共享文件夹位置,我们下载的压缩包都是放在共享文件夹的!

    四、开始安装。① 我首先在共享文件夹下面新建子文件夹ESP32_Only,专门放ESP32工程的子文件夹Esp32Project ,以及放IDF的子文件夹IDF,以及放工具链的子文件夹toolsChain!
    ② 再把我们上面下载的压缩包工具链压缩包放在toolsChain文件夹!并且解压到此文件夹!
    ③ IDF框架压缩包放在IDF,通过git指令来拉取到到此文件夹!

    1. git clone --recursive https://github.com/espressif/esp-idf.git
    复制代码
    2.png
    在解压压缩包时候可能出现了压缩包解压出错!此刻要以管理员身份运行你的解压工具,再来解压这个压缩包,切记切记!


    五、环境变量集成。
    ①:先控制台切换到我们的工具链的解压目录,确保路径一致:
    1. cd /mnt/Share/ESP32_Only/toolsChain/xtensa-esp32-elf
    复制代码
    3.png

    ②:编辑局部的Shell变量:
    1. sudo vim /etc/profile
    复制代码
    输入上面的指令之后,将会出现以下的界面,我们需要的修改此文件的配置:
    编辑此文件的顺序:先点击i开始注入我们的代码,弄好之后点击ESC退出编辑,再输入:wq保存退出!
    我们注入的代码其实很简单,如下代码,表示指定我们的编译工具目录和IDF的SDK目录:

    1. export PATH=$PATH:/mnt/Share/ESP32_Only/toolsChain/xtensa-esp32-elf/bin
    2. export IDF_PATH=/mnt/Share/ESP32_Only/IDF/esp-idf
    复制代码



    4.png

    ③:编辑完毕之后,我们还要使之生效:
    1. source /etc/profile
    复制代码
    ④:检查下是否安装集成成功:
    1. xtensa-esp32-elf-gcc -v
    复制代码
    发现出下面输出,恭喜!集成成功:
    1. gcc version 5.2.0 (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a)
    复制代码
    5.png

    六、运行工程。
    ① 打开 IDF/esp-idf/examples/get-started下面的hello_world工程,直接拷贝到我们上面新建的Esp32Project目录下,其实放在哪里都一样。
    ② 控制台切换到此目录:

    1. /mnt/Share/ESP32_Only/Esp32Project/hello_world
    复制代码
    6.png

    ③ 配置此工程选项 , 出现配置弹窗(注意控制台的窗体大小放大一点否则会报错):
    1. make menuconfig
    复制代码


    主要修改如下:
    • 第一个 :SDK tool configuration ---> 配置SDK指向目录,如果我们之前弄的不出错,此处可不理会!Py版本选择默认的2就是了!
    • 第二个:Serial flasher config --->主要修改的是串口下载配置:我们是在windows的串口工具下载的,所以第一个不用理会,第二个选择波特率,我们默认115200 ,最主要的是Flash Size,安信可的esp32模组是 4M的!之后点击save! 之后你会看见在这个文件夹下面多了2个文件,sdkconfig,此是配置文件,不要删除!



    7.png .

    ④ 开始编译,首次编译可能要等3分钟,甚至更长,此时会有不断的Log打印,莫急莫急!之后编译就很快了:
    1. make all -j8
    复制代码


    这里是成功编译后LOG:
    8.png

    七、烧录文件。
    需要三个文件:hello-world.binpartitions_singleapp.binbootloader.bin,其中前2个在工程目录下面的build文件夹,第三个在build文件夹的bootloader目录下;
    9.png

    下载烧录工具:点我下载最新版

    10.png

    烧录地址,烧录时候,和8266一样,GPIO0为低电平,同时复位即可进去烧录模式:
    11.png

    看看我们的串口打印:(各位改下几个单词就是Hellow World 的打印啦!)
    12.jpg

    GitHub: https://github.com/xuhongv/StudyInEsp32

    本文作者:半颗心脏
    来源:CSDN


    回复

    使用道具 举报

  • TA的每日心情
    难过
    2021-2-27 22:16
  • 签到天数: 1568 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2019-4-4 10:42:27 | 显示全部楼层
    不错啊 522.jpg
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-25 09:00 , Processed in 0.137919 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.