0%

ubuntu配置ESP32开发环境

在ubuntu系统中安装ESP32开发环境,基于乐鑫esp-idf

安装依赖软件包

打开终端输入

1
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util

安装交叉编译工具连

创建一个文件夹来保存交叉编译工具,注意不要有空格,最好不要有中文

1
2
3
mkdir esp
cd esp
wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz

注意
如果最后出现 “error: case value ‘3’ not in enumerated type ‘i2s_comm_format_t {aka const enum }’ [-Werror=switch] “,则用下面交叉工具替换

1
wget https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-linux-amd64.tar.gz

下载完成后解压到esp文件夹,添加路径到环境变量中,注意自己存放的路径,使用gedit打开.bashrc文件

1
gedit ~/.bashrc

将实际路径添加进去

1
export PATH="$PATH:$HOME:esp/xtensa-esp32-elf/bin:$PATH"

安装esp-idf

可以选择从github或gitee获得esp-idf

github源安装方法

将esp-idf下载至esp文件夹,可以用浏览器去官方下载后解压过来,也可以输入以下命令获取

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

这一步也可以分布进行,先clone再链接子模块

1
2
3
git clone  https://github.com/espressif/esp-idf.git
cd esp-idf
git submodule update --init

除了 ESP-IDF 本身,还需要安装 ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等

1
2
cd ~/esp/esp-idf
./install.sh

与交叉编译工具一样,esp-idf也需要将路径加入到环境变量中,打开~/.bashrc,在最后加入实际路径

1
export IDF_PATH=~/esp/esp-idf

注意
环境变量修改后需要重启终端生效,可以用下面命令测试是否设置成功

1
printenv PATH IDF_PATH

若在输出中找到了esp路径,则设置成功

gitee源安装方法

  • 下载子仓库重定向工具

    1
    git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
  • clone主仓库代码

    1
    git clone https://gitee.com/EspressifSystems/esp-idf.git
  • clone重定向后的子仓库代码

    1
    2
    cd esp-gitee-tools
    export EGT_PATH=$(pwd)
    1
    2
    cd esp-idf
    $EGT_PATH/submodule-update.sh
  • 安装工具链

    将默认python版本切换成python3后执行

    1
    pip install -r requirements.txt

测试例程

进入esp-idf/examples/get-started/hello_world/文件夹中,打开终端输入

1
make menuconfig

若弹出下面下面菜单,则开发环境安装成功了
pic
按q退出后make flash下载可执行文件到开发板中,其他历程用法一样,需要改配置就进入make menuconfig中修改,不改则直接make flash

make指令用法

  • make partition_table 查看分区
  • make flash 编译并刷机
  • make monitor 查看串口输出
  • make app 只编译app模块
  • make app-flash 只编译并烧写app模块
  • make menuconfig 配置编译参数
  • make all 编译所有
  • make partition_table-flash 刷新分区表
  • make erase_flash 擦除flash

常见错误及解决办法

编译时报错make: *** 没有规则可制作目标“check_python_dependencies”

pic

解决办法:

  • 安装python pip管理工具

    1
    sudo apt-get install python-pip
  • cd到esp-idf目录,安装缺失packages

    1
    pip install -r requirements.txt

    编译报错”ImportError: No module named future”

    手动安装模块即可

    1
    2
    3
    pip install future
    pip install six
    pip install django_import_export