跳转到内容

Kconfig 选项总览

所有选项位于 idf.py menuconfig → EasyTier-ESP。默认值按 ESP32-S3 上的实测余量选取;没有特殊需求时保持默认即可。

选项默认说明
EASYTIER_ESP_LOG_LEVELInfoClosed / Error / Warning / Info / Debug;低于所选等级的日志编译期裁剪

排查问题时用 Info,生产固件可用 Warning 或 Error。

选项默认范围影响
EASYTIER_ESP_MAX_CONNECTED_PEERS61..8同时连接的入口数;每槽约 12 KiB
EASYTIER_ESP_RPC_MAX_TRANSACTIONS41..16并发 RPC 事务数
EASYTIER_ESP_RPC_REASSEMBLY_SLOTS21..8RPC 分片重组槽

配置里的入口条目数没有上限;只有同时连接数受 MAX_CONNECTED_PEERS 限制,超出部分作为轮换备用。

选项默认范围说明
EASYTIER_ESP_IO_TASK_STACK61442048..32768网络收发任务
EASYTIER_ESP_PROTO_TASK_STACK102404096..65536控制面任务
EASYTIER_ESP_DATA_TASK_STACK81922048..32768数据面任务

改小前先看 内存与资源 并保留足够余量。

选项默认范围说明
EASYTIER_ESP_IO_TASK_PRIORITY71..24必须低于 Wi-Fi/TCPIP(默认约 23/18)
EASYTIER_ESP_PROTO_TASK_PRIORITY51..24默认低于 I/O,避免控制面抢占收发
EASYTIER_ESP_DATA_TASK_PRIORITY71..24默认与 I/O 同级
选项默认范围满时行为
EASYTIER_ESP_QUEUE_RX_CTRL_DEPTH81..32控制面丢帧并计数
EASYTIER_ESP_QUEUE_TX_DEPTH81..32发送积压,满即丢帧
EASYTIER_ESP_QUEUE_RX_DATA_DEPTH81..32数据面丢帧
EASYTIER_ESP_QUEUE_SMALL_DEPTH81..32连接/重连命令入队失败
EASYTIER_ESP_QUEUE_NETIF_DEPTH161..64网卡出站丢包

队列越深,常驻内存越大;默认值适合大多数接入场景。

CONFIG_EASYTIER_ESP_LOG_LEVEL_INFO=y
CONFIG_EASYTIER_ESP_MAX_CONNECTED_PEERS=6
CONFIG_EASYTIER_ESP_IO_TASK_STACK=6144
CONFIG_EASYTIER_ESP_PROTO_TASK_STACK=10240
CONFIG_EASYTIER_ESP_DATA_TASK_STACK=8192
CONFIG_EASYTIER_ESP_QUEUE_RX_CTRL_DEPTH=8
CONFIG_EASYTIER_ESP_QUEUE_TX_DEPTH=8
CONFIG_EASYTIER_ESP_QUEUE_RX_DATA_DEPTH=8
CONFIG_EASYTIER_ESP_QUEUE_SMALL_DEPTH=8
CONFIG_EASYTIER_ESP_QUEUE_NETIF_DEPTH=16

Kconfig 的 range 约束 menuconfig 路径;直接编辑 sdkconfig 越界会让固件编译失败,不会留到运行期才暴露。

  1. 先开 PSRAM;
  2. 内存不足 → 降连接槽/队列/RPC 重组槽;
  3. 丢包 → 先看 dropped_packets 与队列满日志,再决定加深度还是查吞吐;
  4. 栈问题 → 先看任务高水位,再改栈;
  5. 优先级 → 不要高于 Wi-Fi/TCPIP。