为什么乐鑫要在linux下编译,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

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

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

1c372da0db4f76d57b60d80b86e524f6.gif

1.png (16.84 KB, 下载次数: 50)

2019-2-20 11:19 上传

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

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

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

1c372da0db4f76d57b60d80b86e524f6.gif

2.png (93.41 KB, 下载次数: 42)

2019-2-20 11:19 上传

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

ls /dev/

1c372da0db4f76d57b60d80b86e524f6.gif

3.png (183.16 KB, 下载次数: 33)

2019-2-20 11:19 上传

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

cd ~/esp/hello_world

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

1c372da0db4f76d57b60d80b86e524f6.gif

4.png (90.96 KB, 下载次数: 33)

2019-2-20 11:19 上传

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

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

su

make flash

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

1c372da0db4f76d57b60d80b86e524f6.gif

5.png (137.63 KB, 下载次数: 29)

2019-2-20 11:19 上传

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

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

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

本文作者 [Genius]

来源 博客园

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值