查看: 9575|回复: 1

[经验] ESP32学习笔记(一)之linux下开发环境搭建

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

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2019-2-20 11:20:07 | 显示全部楼层 |阅读模式
    分享到:
    硬件平台:esp32kit
    软件平台:Linux下的ESP-IDF


    前言:
    ESP32是目前一款比较热门的物联网模块,属于SOC(System On Chip),也就是片上系统,自带一个双核哈佛架构的CPU,两个 CPU 核可以被单独控制或上电。 时钟频率的调节范围为 80 MHz 到 240 MHz。,所有的片上存储器、片外存储器以及外设都分布在两个CPU 的数据总线和/或指令总线上。具备WIFI与BLE4.2协议栈,因此非常适合开发物联网产品。因此小弟决定入坑了。。。

    主要特性(摘取自官方手册)
    地址空间
    – 对称地址映射
    – 数据总线与指令总线分别有4 GB(32-bit)地址空间
    – 1296 KB 片上存储器地址空间
    – 19704 KB 片外存储器地址空间
    – 512 KB 外设地址空间
    – 部分片上存储器与片外存储器既能被数据总线也能被指令总线访问
    – 328 KB DMA 地址空间
    • 片上存储器
    – 448 KB Internal ROM
    – 520 KB Internal SRAM
    – 8 KB RTC FAST Memory
    – 8 KB RTC SLOW Memory
    • 片外存储器
    片外SPI 存储器可作为片外存储器被映射到可用的地址空间。部分片上存储器可用作片外存储器的Cache。
    – 最大支持16 MB 片外SPI Flash
    – 最大支持8 MB 片外SPI SRAM
    • 外设
    – 41 个外设模块
    • DMA
    – 13 个具有DMA 功能的模块



    ESP-IDF是乐鑫官方的开发环境,假如习惯操作linux的话,ESP-IDF对你来说会是一个非常方便的开发环境,而且自带monitor串口调试,不过我用的不是附带的。。。
    因为我曾经尝试过在windows下使用eclipsel来进行搭建开发环境,使用安心可的下载工具进行下载程序,感觉配置配置非常麻烦,而且烧写程序机器慢,因此换用
    linux来进行玩耍。

    本人使用的是centos7系统,根据官方教程的指导,先把各种依赖包安装上去
    • CentOS 7:
      sudo yum install git wget make ncurses-devel flex bison gperf python pyserial
    • Ubuntu and Debian:
      sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial
    • Arch:
      sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial
    然后开始下载斌且配置交叉编译链
    下载完后,先创建一个文件夹来保存编译链mkdir -p ~/esp

    进入目录并且解压
    cd ~esptar -xzf ~/Downloads/xtensa-esp32-elf-linux64-1.22.0-73-ge28a011-5.2.0.tar.gz


    生成的编译链在xtensa-esp32-elf文件夹内然后开始配置环境变量,直接写进 /etc/profile  就不用每次开关机都要重新配置环境变量了
    sudo vim /etc/profile   (没有vim的可以用vi、nano等代替)


    按 a 进入编辑模式   把  export PATH="$PATH:$HOME/esp/xtensa-esp32-elf/bin"   添加到顶端


    按 wq 保存退出(保存不了的估计是没用sudo)


    然后   reboot  一下,让环境变量生效,简单粗暴!


    开机后终端输入   
    printenv PATH  


    如果显示如下表示成功配置编译链了
    /home/user-name/bin:/home/user-name/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/user-name/esp/xtensa-esp32-elf/bin


    至此,esp32的交叉编译链已经配置好,剩下的就是安装ESP-IDF了首先,下载在刚才的esp文件夹里面(随意那个目录,为了方百年,还是esp文件夹吧)
    git clone --recursive https://github.com/espressif/esp-idf.git

    进入esp-idf文件夹并且初始化cd ~/esp/esp-idfgit submodule update --init然后把  export IDF_PATH=~/esp/esp-idf  添加到profile中,类似于刚才那个操作
    1.png

    然后我们复制一个工程出来编译并且下载,测试我们的开发环境
    cd ~/espcp -r $IDF_PATH/examples/get-started/hello_world .     (后面那个 . 记得别复制漏了!)
    然后我们插上板子,因为我用的是虚拟机,因此需要把开发板连接到虚拟机上面去
    2.png
    到右下角那里找到自己的开发板,点击以下类似U盘那个东西,连接!然后查看串口
      ls /dev/
    3.png
    我的是ttyUSB0然后进入刚才复制出来的那个工程的目录
    cd ~/esp/hello_world

    配置工程make menuconfig此时会弹出一个窗口
    4.png
    一般进入到第四个,配置一下下载选项、串口波特率等等。我选择默认,也就是不动它。(下载失败的朋友可以去看看串口名称对不对)

    然后开始编译和下载进入 su 模式(此处非常关键,不能使用 sudo 一定是要su用户模式才能成功!!!)

    su
    make flash

    程序开始编译并且结束会自动下载
    5.png
    Done!!!至此,一个linux下开发环境搭建完毕!enjoy youself!

    希望这篇文章能让同为小白的你少走弯路~~

    注:习惯阅读英文文档的同学可以看原版资料,本教程是建立在官方教程的基础之上的。https://esp-idf.readthedocs.io/e ... tml#start-a-project

    本文作者 [Genius]
    来源 博客园

    回复

    使用道具 举报

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

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2019-4-4 09:51:23 | 显示全部楼层
    看看了 522.jpg
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-12-19 20:15 , Processed in 0.132992 second(s), 18 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.