如何配置 ESP32 Menuconfig

准备

我们可以有2种方式进入menuconfig模式

1 在 Eclipse 界面启动 MenuConfig Target (需参照如何使用安信可 ESP 系列一体化开发环境 IDF章节);

2 打开 Cygwin.bat, 进入工程目录,执行 make menuconfig 指令。

这 2 种方法最终实现的效果都是一致的,您可以根据自己的需要进行选择。

介绍

执行 make menuconfig 后,界面显示如下:

其中:

项目备注

SDK tool configuration配置SDK 开发工具链的信息,一般未编译自己工具链时不用修改

Bootloader config配置BootLoader 启动时的日志打印级别

Serial flasher config配置串口下载时使用的端口、波特率、Flash 模式、Flash 频率、是否压缩上传等

Partition Table配置分区信息,可选择默认分区配置或自定义分区配置

Component config组件配置 包含ESP32的特殊配置、WiFi配置、BLE配置、FreeRTOS配置、LWIP配置、日志配置、SPI配置、用户程序自定义配置等

下面分开讲解每一项的配置意义,所有的备注均为个人理解,请尽量以配置菜单中的【Help】菜单显示为准。

SDK tool configuration

项目默认值备注

Compiler toolchain path/prefixxtensa-esp32-elf-该配置项一般无需配置,除非自己编译交叉编译链时,且使用了跟 xtensa-esp32-elf- 不同的名字。

Python 2 interpreterpythonpython 2 解释器的名称,一般默认都是python。

Bootloader config

项目备注

Bootloader log verbosityWarning这里可以配置BootLoader的日志打印级别,级别越高,打印出的日志信息量越多,可以根据自己的需要选择合适的级别。

级别排序为:No output < Error < Warning < Info < Debug < Verbose 。

Serial flasher config

项目默认值备注

Default serial port/dev/ttyUSB0windows 下的 COM1 对应 cygwin 下的/dev/ttyS0 ,COM2 对应 ttyS1,以此类推。

Default baud rate921600您可以选择 230400/921600/2M/Other baud rate ,如果您选择了 Other baud rate,则需要在下面手动输入您认为可用的下载速率,ESP32 目前最大的下载速率为 1152000.

Use compressed upload是是否选择压缩上传,可以提升固件下载时的速度。

Flash SPI modeDIOSPI运行模式,推荐DIO方式

Flash SPI speed40MHZSPI 速率,需要根据自己的 Flash 型号进行配置,部分型号的Flash不支持过高的速率。

Partition Table

项目默认值可选值备注

Partition TableSingle factory app, no OTASingle factory app, no OTA

Factory app, two OTA definitions

Custom partition table CSV默认分区文件地址为:components/partition_table

一般使用Single factory app, no OTA 。

自定义分区可以参考下面的示例

如何修改自定义分区表

下面以 NodeMCU 的 spiffs 分区为例:

1 勾选 Custom partition table CSV

2 在 Custom partition table CSV 中输入自定义的分区信息文件名:partitions-2MB.csv

3 在工程的根目录下建立 partitions-2MB.csv文件(参考 components/platform/partitions-2MB.csv)

# Espressif ESP32 Partition Table

# NameTypeSubTypeOffsetSize

factoryappfactory0x100001M

rfdatadatarf0x110000256K

wifidatadatawifi0x150000256K

# 0xC2 ⇒ NodeMCU0x0 ⇒ Spiffs

spiffs0xC20x0448K

4 编译下载。

Component config

ESP32-specific config

项目备注

CPU frequency (240 MHz)可选择 80/160/240MHZ,CPU 频率越大,运行速率越高,但越容易发生不稳定现象。

Select stack to enable (WiFi or BT)可选择开启 WiFi 或 BT 功能,当前 ESP32 的 WiFi 和 BT 尚不能共存,仅可保留一项。

Reserve memory for two cores

Use TRAX tracing feature是否使用ESP32的追踪特性,会占用16K的内存(每个核),建议关闭

Use external SPI SRAM chip as main memory是否使用外部 SPI SRAM 作为主内存?

System event queue size系统事件的队列大小,默认为 32

Event loop task stack size系统事件任务的堆栈大小,默认为 2048

Main task stack size主任务的堆栈大小,默认为 4096

Standard-out output adds carriage return before newline标准输出数据时添加一个回车符(在输出 LF 前添加 CR)

Enable Ultra Low Power (ULP) Coprocessor启用超低功耗协处理器

FreeRTOS

项目备注

Run FreeRTOS only on first core默认FreeRTOS运行在两个核上,若需要使用其它进程控制另外一个核,则可以启用该选项。建议禁止

Xtensa timer to use as the FreeRTOS tick sourceFreeRTOS 的心跳时钟源,默认即可

Tick rate (Hz)FreeRTOS 的心跳速率,取值范围为 1~1000

Halt when an SMP-untested function is called当对称多处理器单元测试函数被调用时停止运行(此项翻译不确定)

Check for stack overflow检查堆栈溢出

Amount of thread local storage pointers本地可以存储的线程指针数目,默认为1,取值范围为 1~256,使用 WiFi 栈时至少为 1

Panic handler behaviour发生异常时如何处理:

Print registers and halt

Print registers and reboot

Silent reboot

Invoke GDBStub

Make exception and panic handlers JTAG/OCD aware发生异常时若检测到 JTAG OCD 调试器,直接将调试器停止在异常指令的位置

FreeRTOS assertions是否使用 configASSERT()

Stop program on scheduler start when JTAG/OCD is detected检测到连接调试器时,停止调度器的自动开始

Enable heap memory debug开启后可以显示出 Heap 的分布,可以发现内存的崩溃

Debug FreeRTOS internals调试 FreeRTOS 内部组件,可以打印的信息以供调试

Log output

项目备注

Default log verbosity默认日志打印级别,级别越高,打印出的日志信息量越多,可以根据自己的需要选择合适的级别。

级别排序为:No output < Error < Warning < Info < Debug < Verbose 。

Use ANSI terminal colors in log output是否开启彩色输出,需要您的串口工具支持彩色显示。

LWIP

项目默认值备注

Max number of open sockets4同时开启 sockets 的最大数目,取值为 1~16,过大会消耗过多内存

Index for thread-local-storage pointer for lwip0线程本地指针索引,默认即可

mbedTLS

项目默认值备注

TLS maximum message content length16384 (bytes)TLS 消息内容最大长度

Enable mbedTLS debuggingNO是否开启 mbedTLS 调试

SPI Flash driver

项目默认值备注

Enable operation countersNO是否开启SPI Flash 使用统计,开启后可以调用以下几个函数:

spi_flash_reset_counters

spi_flash_dump_counters

spi_flash_get_counters

python menuconfig_如何配置 ESP32 Menuconfig相关推荐

  1. vscode使用教程python-VSCode下好用的Python插件及配置_python

    这篇文章主要介绍了微软官方的Python插件,已经自带很多功能,下面是插件功能描述,其中部分内容我做了翻译,需要的朋友可以参考下 MS Python插件. 这是微软官方的Python插件,已经自带很多 ...

  2. python电脑配置大概要多少钱-学python最电脑配置有要求么

    python对于电脑硬件基本没什么要求,下载python安装程序的时候,注意看下自己电脑属性是64位系统还是32位系统,再下载对应的python安装程序. 单纯学Python的话普通电脑就ok了,机器 ...

  3. python运行速度和电脑配置有关系吗-学python最电脑配置有要求么

    python对于电脑硬件基本没什么要求,下载python安装程序的时候,注意看下自己电脑属性是64位系统还是32位系统,再下载对应的python安装程序. 单纯学Python的话普通电脑就ok了,机器 ...

  4. python电脑要求-学python对电脑配置有要求么

    python对于电脑硬件基本没什么要求,下载python安装程序的时候,注意看下自己电脑属性是64位系统还是32位系统,再下载对应的python安装程序. 单纯学Python的话普通电脑就ok了,机器 ...

  5. python环境变量配置_?Python项目读取配置的正确姿势

    读取配置是大部分python应用都会面临的问题,例如应用运行时需要读取数据库的配置,存储文件需要知道文件路径配置,应用在不同的环境的配置也不尽相同.因此,配置管理是一个必不可少的问题,配置读取的方式一 ...

  6. python开发环境配置以及其简单的运行方式

    python开发环境配置 1.开发环境的安装 到python主页上选择下载自己所需要的python版本,以下是其链接 python主页. 点击下载,选择系统(这里演示wondows系统)如下图: 选择 ...

  7. Eclipse python 开发环境配置

    Eclipse python 开发环境配置 由于项目需要用到脚本配置的东西,看了看Python能够做到基本上需要的工作,选择了 2.7.3稳定版本来进行测试开发. 转自: Eclipse+python ...

  8. pycharm导入python环境是空的_PyCharm导入python项目并配置虚拟环境的教程详解

    PyCharm导入python项目并配置虚拟环境的教程详解 进入PyCharm后,点击File→Open,然后在弹窗中选择需要导入项目的文件夹: 打开了python项目后,需要配置该项目对应的pyth ...

  9. 使用python logging的配置

    使用python logging的配置 简介 在python中使用logging模块,对log进行配置时,可以使用配置文件,而不用再python源码中进行配置. 这样方便更改logging的配置. 使 ...

最新文章

  1. android fragment activity 交互,Android基础之Fragment与Activity交互详解
  2. socket通信时如何判断当前连接是否断开--select函数,心跳线程,QsocketNotifier监控socket...
  3. iOS Sprite Kit教程之申请和下载证书
  4. 1.Eclipse创建普通java工程
  5. mysql 创建外键实例_mysql 外键创建实例
  6. CentOS下安装Memcached,Linux下安装Memcached,centos下安装memcached,linux下安装memcached...
  7. 国内最强算法推荐系统,百度第二,它排第一!
  8. 塑源码是什么_注塑机源代码
  9. 五校联考R1 Day2T2 矩阵matrix(容斥)
  10. webstorm 破解方法(100%好使)
  11. 课程设计(飞机订票系统) 超全
  12. TcaplusDB X 光与夜之恋|春暖花开之际与你相遇
  13. 用什么软件可以编辑pdf文件
  14. “二十一天好习惯”第一期-20
  15. SDN入门:Ubuntu下SDN环境搭建(Floodlight+Minite)(踩坑教程,解决FL1.2版本无法访问网页问题)
  16. 毕业后,他年薪百万,我年薪刚破十万,人和人之间的差距怎么这么大?
  17. web页面设计中使用阿里字体(包含图标)
  18. linux定时任务crond那些事!
  19. “千人千面”的个性化时代,金融产品也能快速应“变”
  20. 【sanic】介绍 1

热门文章

  1. 小米商业产品部第二届Hackathon大赛回顾
  2. 【华人学者风采】周裕 哈尔滨工业大学深圳研究院
  3. 12V恒压转5V 2.5A小封装SOT23大电流同步降压芯片
  4. CUDA安装失败,解决办法
  5. 【Linux系列-2】iostat命令详解
  6. 传真服务器实现全程无纸化应用
  7. kafka常用命令整理
  8. 【软件测试大赛Web应用省赛】跳坑记录
  9. 机器学习-贝叶斯分类算法与应用
  10. android面试资料