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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user