购买商品

Fireduino
Fireduino
¥199.00
S5P6818开发板
S5P6818开发板
¥1,200.00
OWL-BNO055-Bit 模块 9轴传感器
OWL-BNO055-Bit 模块 9轴传感器
¥75.00
发新帖

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

[复制链接]
发表于 2017-11-23 00:50:56
| 1761 查看 | 10 回复
本帖最后由 追梦少年 于 2017-11-23 00:59 编辑

硬件平台: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="$PATHHOME/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 .     (后面那个 . 记得别复制漏了!)然后我们插上板子,因为我用的是虚拟机,因此需要把开发板连接到虚拟机上面去
到右下角那里找到自己的开发板,点击以下类似U盘那个东西,连接!然后查看串口ls /dev/

我的是ttyUSB0然后进入刚才复制出来的那个工程的目录
cd ~/esp/hello_world

配置工程make menuconfig此时会弹出一个窗口

一般进入到第四个,配置一下下载选项、串口波特率等等。我选择默认,也就是不动它。(下载失败的朋友可以去看看串口名称对不对)

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

su
make flash

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


Done!!!至此,一个linux下开发环境搭建完毕!enjoy youself!

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

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






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 5 +5 收起 理由
LiuYang + 1
SingleYork + 1
chen0000009 + 1
汉云 + 1
Sourcelink + 1

查看全部评分

我要点赞 4

举报

发表于 2017-11-25 08:14:24
给你点赞
我要点赞 0

举报

发表于 2017-11-26 15:24:47

多谢斑竹大人的加精
我要点赞 0

举报

发表于 2017-12-21 13:51:09
有些代码被转义了  建议用
  1. test code
复制代码

<code>括起来
我要点赞 0

举报

发表于 2018-1-24 10:13:29
霸气侧漏了啊
我要点赞 0

举报

发表于 2018-3-10 02:50:16
awsd233 发表于 2017-12-21 13:51
有些代码被转义了  建议用
括起来

get到了,多谢提醒
我要点赞 0

举报

发表于 2018-3-21 15:54:27

大赞
我要点赞 0

举报

发表于 2018-3-28 15:26:59
赞一个!
我要点赞 0

举报

发表于 2018-4-19 00:23:07
部分命令连在一起了.
cd  esp32
tar -xf  xxxx.tar.gz
还有后面的 cp -r 命令之前的位置咩有空格会误导很多 linux 小白的..
建议加上代码高亮~~~
我要点赞 0

举报

初级技术员

Rank: 3Rank: 3

发表于 2018-4-19 14:22:18
学习下  谢谢分享
我要点赞 0

举报

您需要登录后才可以回帖 登录 | 立即注册