zoukankan      html  css  js  c++  java
  • 重新学习ESP32(零)之环境搭建——转载——windows平台

    原文来自:https://www.makingfun.xyz/2018/09/18/esp32-hello-world/

    前言

    前几天看到乐鑫的公众号推送了一篇文章,说是ESP8266最新的SDK风格已经和ESP32相近,又想着自己已经好久没有接触过ESP8266了,想搭建个环境玩一下,结果一言难尽,鼓捣了半天愣是没弄成,突然遭受的挫折让人有些无奈,于是想还是先学习一下ESP32吧,之前也接触过,但是当时主要是玩ESP8266,其两者的代码风格以及开发方式大相径庭,于是也就没有细致的深入学习,现在看来ESP8266跟ESP32的开发方式大有‘合拢’之势,当然不是完全一样,只是乐鑫的攻城狮在努力的封装成一样的,貌似从头学习一下ESP32也是很有必要的。
    ESP8266跟ESP32真是这两年物联网行业的一匹黑马,不得不说的是乐鑫是一家本土企业,其总部在上海,芯片出货量已经达到1亿颗,看到国内的企业能够有如此成就真的也很高兴。乐鑫官网感兴趣的同学可以去乐鑫官网看看~
    其硬件开发环境搭建也很简单,网上也有很多教程,这里就简单说一下。

    下载安装相关工具

    工具链

    工具链在这里主要是用来编译我们编写的代码的,就是类似于编译器,这里乐鑫给我们已经打包好了工具链所需要的运行环境,我们只需要下载解压就好。下载地址点这里:工具链,大家可以根据自己的开发平台选择。我这里使用的是Windows操作系统,后面的步骤都是在此操作系统下讲解。

    工具链安装

    工具链安装很简单,解压到某个路径下就可以了,不过不支持带有空格的路径和中文路径。

    我这里是在G盘新建了一个espressif文件夹,将工具链直接下载到了此文件夹,并解压到了当前文件夹,msys32就是解压出来的文件。

    下载ESP-IDF(SDK)

    这里我们使用git去下载,请确保已经安装了git,不要下载zip格式的SDK,那样会报错。

    1
    git clone -b v3.1 --recursive https://github.com/espressif/esp-idf.git

     

    -b v3.1是下载v3.1版本,目前最新的版本版,ESP-IDF目前有好几个分支。
    –recursive 此命令会自动初始化并更新仓库中的每一个子模块,不要遗漏此选项,否则后面编译会报错。

    设置IDF_PATH


    打开esp32_toolchain.sh,不要双击打开,也不要用记事本打开,可以看到已经有了IDF_PATH,这里我们追加一条PATH,其路径就是你刚刚下载的ESP-IDF的路径。设置完成后关闭mingw32,再重新打开,这里主要是让刚刚设置的PATH生效,如果你有Linux使用经验的话,也可以用source的方法。
    下面我们看一下是否设置成功:

    1
    2
    echo $IDF_PATH
    echo $PATH

     

    如果打出的路径跟你设置的一样,那就没问题了,到此为止环境就搭建成功了。

    编译hello world工程

    环境搭建完成后,当然是来到了激动人心的hello world环节了!我们先不做任何更改直接编译官方给出的例子。

    1
    2
    3
    cd $IDF_PATH/examples/get-started/hello_world/

    make menuconfig

     

    执行完上面的命令,会出现一个界面我们选择Serial flasher config,然后将第一项的端口修改成我们的开发板的端口,e.g. COM7,这是Windows上的端口格式。

    1
    2
    make all #编译速度可能有点慢,实测需要2分20秒左右,将配置 app 和 bootloader 并根据配置生成分区表
    make flash #烧录用户程序,bootloader,分区表

     

    1
    make monitor #打开监视器,查看串口打印

     


    可以看到成功打印出了hello world,并每十秒重启一次。下面我们修改一下代码,让它每隔一秒打印 www.makingfun.xyz
    我们先将这个工程copy到别的文件夹,我们不在原工程上进行修改。

    1
    2
    mkdir ~/projects && cd projects
    cp -r $IDF_PATH/examples/get-started/hello_world .

     


    然后我们打开这个工程main文件夹下的hello_world_main.c文件,修改成跟上图一样。修改完成后我们需要重新编译一下,之前我们已经把整个SDK编译了一遍,所以这里我们只需要编译用户文件就好,不用重复去编译整个的文件。

    1
    2
    3
    make app #仅创建应用程序
    make app-flash #仅烧录应用程序
    make monitor

     


    可以看到成功打印出了我们想要的日志,到这里,我们不仅完成了开发环境的搭建,也编译了例程,而且还通过修改代码了解了大体的开发流程。
    这里给分享一下官方的编程指南和API参考指南。
    编程指南
    API指南
    ESP-IDF官方仓库
    很多内容都是英文,尤其是API指南,全都是英文的,但大体都是很好理解的,现在各种翻译软件也很多,遇到实在不懂的,可以用用翻译软件查看一下。

    欢迎访问我的主页,我会不定期更新一些文章,也欢迎留言哦~
    唯有爱与科技不可辜负

  • 相关阅读:
    NHibernate初学者指南(12):日志
    NHibernate初学者指南(10):一级和二级缓存
    【翻译】EF 4.2 Code First 演示
    【翻译】EF 4.2 Model & Database First演示
    NHibernate初学者指南(14):配置的三种方式
    NHibernate初学者指南(16):条件查询
    NHibernate初学者指南(7):映射模型到数据库之方式三
    NHibernate初学者指南(13):监测与分析
    NHibernate初学者指南(6):映射模型到数据库之方式二
    NHibernate初学者指南(18):验证单个属性
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/11259165.html
Copyright © 2011-2022 走看看