-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathsdkconfig.defaults
More file actions
251 lines (214 loc) · 8.39 KB
/
sdkconfig.defaults
File metadata and controls
251 lines (214 loc) · 8.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
# TianShanOS SDK Configuration
# ESP32 机架管理操作系统配置
# 目标芯片(默认 ESP32S3)
CONFIG_IDF_TARGET="esp32s3"
# CPU 频率 (240 MHz 最高性能)
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240
# 分区表
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
# Flash 配置 (16MB)
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
# PSRAM 配置(8MB Octal PSRAM)
CONFIG_SPIRAM=y
CONFIG_SPIRAM_MODE_OCT=y
CONFIG_SPIRAM_SPEED_80M=y
CONFIG_SPIRAM_USE_MALLOC=y
# PSRAM 优化 - 极激进配置减少 DRAM 碎片
# 只有小于 64 字节的分配才强制使用 DRAM
# 几乎所有分配将自动使用 PSRAM,大幅减少 DRAM 碎片
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=64
# 保留 16KB DRAM 用于 DMA、中断和关键分配
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=16384
# 允许 WiFi/LWIP 缓冲区使用 PSRAM(关键!)
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
# 允许任务栈在 PSRAM (ESP-IDF 5.x 新名称)
CONFIG_FREERTOS_TASK_CREATE_ALLOW_EXT_MEM=y
# 允许 BSS 段使用 PSRAM(需要代码配合 EXT_RAM_BSS_ATTR)
CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y
# FreeRTOS 配置
CONFIG_FREERTOS_HZ=1000
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
# Timer 任务栈减少(节省 1KB DRAM)
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=3072
# Main 任务栈大小(默认 3584 使用率高达 97%,增至 4608)
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4608
# 日志配置
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
# ============================================================================
# LWIP 配置
# ============================================================================
# SNTP 配置
CONFIG_LWIP_SNTP_MAX_SERVERS=3
# mDNS 主机名配置
CONFIG_LWIP_LOCAL_HOSTNAME="rm01"
CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
# ============================================================================
# NVS 安全配置
# ============================================================================
# 安全等级:
# L1(开发): CONFIG_NVS_ENCRYPTION=n
# L2(预生产): CONFIG_NVS_ENCRYPTION=y + HMAC 方案
# L3(生产): CONFIG_NVS_ENCRYPTION=y + Flash Encryption
#
# HMAC 方案说明:
# - 使用 eFuse HMAC 密钥派生 NVS 加密密钥
# - 无需启用 Flash 加密即可保护 NVS 数据
# - 首次启动会自动在 eFuse BLOCK4 生成 HMAC 密钥
# - 启用后旧的 NVS 数据将丢失,需要重新配置
#
# 生产环境还应启用:
# CONFIG_SECURE_BOOT=y
# CONFIG_SECURE_FLASH_ENC_ENABLED=y
# CONFIG_SECURE_BOOT_DISABLE_JTAG=y
# ============================================================================
# === L2 NVS 加密配置(HMAC 方案)===
# 取消注释以下行以启用 NVS 加密
#CONFIG_NVS_ENCRYPTION=y
#CONFIG_NVS_SEC_KEY_PROTECTION_SCHEME=1
#CONFIG_NVS_SEC_KEY_PROTECT_USING_HMAC=y
#CONFIG_NVS_SEC_HMAC_EFUSE_KEY_ID=4
# 当前:L1 开发模式(NVS 不加密)
CONFIG_NVS_ENCRYPTION=n
# NVS 索引缓存放到 PSRAM(减少 DRAM 使用)
CONFIG_NVS_ALLOCATE_CACHE_IN_SPIRAM=y
# WiFi 配置 - 激进减少缓冲区以降低 DRAM 碎片
# 静态 RX 缓冲区:每个 ~1.6KB,减少到 4 个
CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=4
# 动态 RX 缓冲区减半(仍支持正常使用)
CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=16
# RX Block Ack 窗口(影响吞吐量,保持适中)
CONFIG_ESP_WIFI_RX_BA_WIN=6
# 管理帧缓冲区(减少以节省 DRAM)
CONFIG_ESP_WIFI_MGMT_SBUF_NUM=8
CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=3
CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y
CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y
# TX 缓存缓冲区减少(节省内存)
CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=16
# 以太网配置(W5500 SPI)
CONFIG_ETH_SPI_ETHERNET_W5500=y
CONFIG_ETH_SPI_ETHERNET_DM9051=n
CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL=n
# 看门狗配置
CONFIG_ESP_TASK_WDT_TIMEOUT_S=30
CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
# HTTP 服务器 WebSocket 支持
CONFIG_HTTPD_WS_SUPPORT=y
# HTTP 服务器缓冲区优化(减少 DRAM)
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
CONFIG_HTTPD_MAX_URI_LEN=256
# mbedTLS 内存配置 - 使用外部 PSRAM
CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=y
CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=8192
CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
# mbedTLS 加密功能 - 配置包系统需要
CONFIG_MBEDTLS_HKDF_C=y
# OTA 配置(允许 HTTP 用于开发环境)
CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP=y
# LWIP NAT 配置(WiFi STA -> ETH 网关)
CONFIG_LWIP_IP_FORWARD=y
CONFIG_LWIP_IPV4_NAPT=y
# 注:ESP-IDF 5.x NAPT 使用默认连接数,不再需要手动配置
# LWIP Socket 配置(增加限制以支持多连接)
CONFIG_LWIP_MAX_SOCKETS=16
# LWIP TCP 缓冲区优化(减少内存占用)
CONFIG_LWIP_TCP_SND_BUF_DEFAULT=4096
CONFIG_LWIP_TCP_WND_DEFAULT=4096
CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=8
# 系统事件任务栈大小
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=3584
# TianShanOS 任务栈优化
CONFIG_TS_CONSOLE_TASK_STACK_SIZE=6144
CONFIG_TS_LED_TASK_STACK_SIZE=3072
# ============================================================================
# Automation Engine 配置
# ============================================================================
CONFIG_TS_AUTOMATION_ENABLED=y
CONFIG_TS_AUTOMATION_CONFIG_PATH="/sdcard/config/automation.json"
CONFIG_TS_AUTOMATION_MAX_SOURCES=16
CONFIG_TS_AUTOMATION_MAX_RULES=32
CONFIG_TS_AUTOMATION_MAX_VARIABLES=512
CONFIG_TS_AUTOMATION_TASK_STACK_SIZE=4096
CONFIG_TS_AUTOMATION_TASK_PRIORITY=5
# ============================================================================
# HTTPS/mTLS 控制通道配置
# ============================================================================
# 当前禁用 HTTPS,使用 HTTP WebUI
# 启用时取消注释并删除下面的 "is not set" 行
# CONFIG_TS_HTTPS_ENABLED is not set
# CONFIG_TS_HTTPS_PORT=443
# CONFIG_TS_HTTPS_MAX_CLIENTS=3
# CONFIG_TS_HTTPS_REQUIRE_CLIENT_CERT=y
# CONFIG_TS_HTTPS_CTRL_LISTEN_BACKLOG=5
# CONFIG_TS_HTTPS_SESSION_CACHE_SIZE=4
# ============================================================================
# WebUI 配置
# ============================================================================
CONFIG_TS_WEBUI_ENABLE=y
CONFIG_TS_WEBUI_API_PREFIX="/api/v1"
CONFIG_TS_WEBUI_WS_ENABLE=y
CONFIG_TS_WEBUI_WS_MAX_CLIENTS=8
CONFIG_TS_WEBUI_AUTH_REQUIRED=y
CONFIG_TS_WEBUI_CORS_ENABLE=y
CONFIG_TS_WEBUI_STATIC_PATH="/www"
# ============================================================================
# LED Matrix 配置
# ============================================================================
CONFIG_TS_LED_MATRIX_WIDTH=32
CONFIG_TS_LED_MATRIX_HEIGHT=32
CONFIG_TS_LED_MATRIX_DEFAULT_BRIGHTNESS=50
# 堆调试(开发期间)
CONFIG_HEAP_TRACING_OFF=y
# SD 卡 SDIO 配置 (RM01 GPIO - 与 robOS 一致)
# 引脚: CMD=4, CLK=5, D0=6, D1=7, D2=15, D3=16
# 频率: 40MHz 高速模式
CONFIG_TS_STORAGE_SD_MODE_SDIO_4BIT=y
CONFIG_TS_STORAGE_SD_CMD_GPIO=15
CONFIG_TS_STORAGE_SD_CLK_GPIO=16
CONFIG_TS_STORAGE_SD_D0_GPIO=4
CONFIG_TS_STORAGE_SD_D1_GPIO=5
CONFIG_TS_STORAGE_SD_D2_GPIO=6
CONFIG_TS_STORAGE_SD_D3_GPIO=7
# FATFS 长文件名支持 (>8.3 格式)
CONFIG_FATFS_LFN_HEAP=y
CONFIG_FATFS_MAX_LFN=255
# VFS 和 FATFS 卷配置
# VFS_MAX_COUNT 必须足够大以支持 SD 卡重复挂载/卸载
# 因为 ESP-IDF 的 VFS 层在注销时不减少 s_vfs_count 计数器
CONFIG_VFS_MAX_COUNT=16
CONFIG_FATFS_VOLUME_COUNT=4
# HTTP 服务器日志配置(隐藏连接重置警告)
CONFIG_HTTPD_LOG_PURGE_DATA=n
# ============================================================================
# TianShanOS 组件启用配置
# ============================================================================
CONFIG_TS_API_MAX_ENDPOINTS=256
CONFIG_TS_CONFIG_ENABLE=y
CONFIG_TS_LOG_ENABLE=y
CONFIG_TS_EVENT_ENABLE=y
CONFIG_TS_SERVICE_ENABLE=y
# CONFIG_TS_NET_WIFI_ENABLE is not set
CONFIG_TS_NET_ETHERNET_ENABLE=y
# CONFIG_TS_NET_MDNS_ENABLE is not set
CONFIG_TS_NET_HTTP_SERVER_ENABLE=y
CONFIG_TS_NET_DHCP_SERVER_ENABLE=y
CONFIG_TS_STORAGE_ENABLE_SD=y
CONFIG_TS_STORAGE_ENABLE_SPIFFS=y
CONFIG_TS_SECURITY_ENABLE=y
CONFIG_TS_SECURITY_TOKEN_EXPIRE_SEC=86400
CONFIG_TS_OTA_ENABLED=y
CONFIG_TS_CERT_ENABLED=y
# WiFi AP 默认配置(仅当 TS_NET_WIFI_ENABLE=y 时生效)
# CONFIG_TS_NET_WIFI_AP_SSID="TianShanOS"
# CONFIG_TS_NET_WIFI_AP_PASS="tianshan123"
# CONFIG_TS_NET_WIFI_AP_CHANNEL=1
# CONFIG_TS_NET_WIFI_AP_MAX_CONN=4