perf(vd960DBN): RAM 瘦身 — .bss 省 4.8KB, 栈 1.9KB→~6.7KB (2026-08-17)

栈溢出根因确认后 .bss 瘦身四刀:
- net_config.h: ETH_MAX_PACKET_SIZE 1520→768 (MSS=700最大帧758B, 省3.76KB)
- iot_mqtt_srv.c: payload[1400]→800 (loop_data最大~604B, 省600B)
- iot_mqtt_srv.h: IOT_MQTT_SEND_BUF_LEN 1024→800 (_iot_send_buf/resp/buf 同步, 省224B)
- net_srv.c: MAX_MQTTBUF_LEN 1024→800 (512仍不够勿回改, 省224B)

⚠ ETH 768 为 MSS=700 最小安全值; 若现场有大UDP包截断改回1024。
待办: .map 确认 BLE 栈占用; RECE_BUF_LEN/ARP 表可再省; 局部大数组转static。
This commit is contained in:
wangfq
2026-08-17 14:10:52 +08:00
parent 26f2326c96
commit 421334ec48
5 changed files with 28 additions and 6 deletions
@@ -855,7 +855,7 @@ void iot_mqtt_publish_sensor(void) {
- 用 iot_mqtt_publish() 代替 mqtt_publish(), 发送缓冲隔离
(event_report→mqttBuf vs loop_data→iot_mqtt_publish::buf[1024])
- coil_count 边界硬限, 防 0xC0 坏帧致溢出 */
static char payload[1400];
static char payload[800]; /* 2026-08-17: 1400→800, loop_data 最大~604B, 省 600B .bss */
char *p = payload;
int remaining = sizeof(payload);
int written;