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

硬件平台: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

然后开始下载斌且配置交叉编译链

  • 64-bit

    https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-73-ge28a011-5.2.0.tar.gz

  • 32-bit

    https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-73-ge28a011-5.2.0.tar.gz

下载完后,先创建一个文件夹来保存编译链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中,类似于刚才那个操作


然后我们复制一个工程出来编译并且下载,测试我们的开发环境

cd ~/espcp -r $IDF_PATH/examples/get-started/hello_world .     (后面那个 . 记得别复制漏了!)

然后我们插上板子,因为我用的是虚拟机,因此需要把开发板连接到虚拟机上面去

  

ESP32学习笔记(一)之linux下开发环境搭建_第1张图片

到右下角那里找到自己的开发板,点击以下类似U盘那个东西,连接!然后查看串口

  ls /dev/
ESP32学习笔记(一)之linux下开发环境搭建_第2张图片
我的是ttyUSB0然后进入刚才复制出来的那个工程的目录
cd ~/esp/hello_world

配置工程make menuconfig此时会弹出一个窗口
ESP32学习笔记(一)之linux下开发环境搭建_第3张图片
一般进入到第四个,配置一下下载选项、串口波特率等等。我选择默认,也就是不动它。(下载失败的朋友可以去看看串口名称对不对)

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

su
make flash

程序开始编译并且结束会自动下载

ESP32学习笔记(一)之linux下开发环境搭建_第4张图片
Done!!!至此,一个linux下开发环境搭建完毕!enjoy youself!

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

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

转载于:https://www.cnblogs.com/SexyBoyHub/p/8895628.html

你可能感兴趣的:(ESP32学习笔记(一)之linux下开发环境搭建)