feat(vd960DBN): 事件日志区动态分区 — JEDEC ID 选档 (ROADMAP 落地)
- offlog.h: OfflogPart 运行时分区表 + g_offlog_part; AREA_BASE 改 0x090000 (参数64KB+OTA512KB); 容量宏展开为运行时值(主体零改动) - offlog.c: offlog_part_detect() 读 JEDEC ID → 事件区容量 W25Q32=512KB/16256条, Q64=1MB/32640, Q128=2MB/65408, Q256=4MB/130944 - storage.c/h: SPI_Flash_ReadJEDEC_ID() (0x9F, 校验 EF 40) - 旧固件事件区 0x010000 自动废弃(新地址无 magic → 重建), 预期行为 - 测试: mock JEDEC=0x16 + g_offlog_part, 15 例全过 - 文档: BLE/MQTT/TCP 协议 capacity 8064→动态, 交互示例, devlog
This commit is contained in:
@@ -78,6 +78,9 @@ int offlog_read_idx(uint16_t idx, OfflogEvt *out)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* g_offlog_part: OFFLOG_MAX_RECORDS 宏展开为运行时值, 此处 mock W25Q32 (512KB) */
|
||||
OfflogPart g_offlog_part = { OFFLOG_CHIP_W25Q32, 0x80000UL, 127, 16256 };
|
||||
|
||||
/* ============ set_response_buf mock: 只记录调用参数 ============ */
|
||||
static uint8_t last_cmd = 0;
|
||||
static uint8_t last_len = 0;
|
||||
@@ -125,8 +128,8 @@ static void test_stat_ok(void)
|
||||
CHECK(last_dat[1] == 0x02 && last_dat[2] == 0x00);
|
||||
/* count=1234 LE */
|
||||
CHECK(last_dat[3] == 0xD2 && last_dat[4] == 0x04 && last_dat[5] == 0x00 && last_dat[6] == 0x00);
|
||||
/* capacity=8064 LE */
|
||||
CHECK(last_dat[7] == 0x80 && last_dat[8] == 0x1F && last_dat[9] == 0x00 && last_dat[10] == 0x00);
|
||||
/* capacity=16256 LE (W25Q32 512KB: 127 数据扇区 x 128) */
|
||||
CHECK(last_dat[7] == 0x80 && last_dat[8] == 0x3F && last_dat[9] == 0x00 && last_dat[10] == 0x00);
|
||||
/* seq_first=100 LE */
|
||||
CHECK(last_dat[11] == 0x64 && last_dat[12] == 0x00 && last_dat[13] == 0x00 && last_dat[14] == 0x00);
|
||||
/* seq_last=1333 LE */
|
||||
|
||||
Reference in New Issue
Block a user