99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網運營的一線實戰(zhàn)洞察。

萬耦開發(fā)板上FlashDB+FAL+SFUD+W25Q64嵌入式數(shù)據持久化實戰(zhàn)

萬耦開發(fā)板上FlashDB+FAL+SFUD+W25Q64嵌入式數(shù)據持久化實戰(zhàn) 簡介本資源是一套面向嵌入式開發(fā)者的完整 FlashDB 輕量級鍵值數(shù)據庫移植與實測工程適用于 STM32 平臺特別是中移物聯(lián)萬耦開發(fā)板的 W25Q64 Flash 存儲場景解決嵌入式設備中 Flash 壽命管理難、數(shù)據持久化開發(fā)復雜、分區(qū)抽象不足等實際問題。壓縮包共 2009 個文件以 850 個 C 源碼和 576 個頭文件構成核心驅動與數(shù)據庫邏輯輔以 90 個依賴描述.d、73 個匯編文件.s及 46 個 Markdown 文檔.md涵蓋 SFUD 驅動適配、FAL 分區(qū)配置、FlashDB KV 接口封裝及多版本數(shù)學庫如 libarm_cortexM4lf_math.a支持整體體積達 50.6MB結構層次清晰便于模塊化學習與裁剪復用。已有 1226 人學習下載讀者可直接獲取可運行的 QSPIFlashDBW25Q64 實測例程、FAL 分區(qū)表定義模板、SFUD 設備注冊范例及 FlashDB 初始化與讀寫全流程代碼顯著降低嵌入式時序/配置數(shù)據本地化存儲的開發(fā)門檻。1. 為什么在萬耦開發(fā)板上硬剛 FlashDB SFUD FAL W25Q64 這套組合——不是炫技是解決真實嵌入式數(shù)據存取的“最后一公里”問題某高校嵌入式課程設計組反饋學生用 STM32F407 搭配 W25Q64 閃存芯片做環(huán)境監(jiān)測終端要求斷電不丟數(shù)據、支持鍵值讀寫、能記錄溫濕度時序點但一上電就卡在fal_init()返回 -1串口打印全是SFUD: read jedec id failed另一組在答辯現(xiàn)場演示時連續(xù)寫入 200 條傳感器記錄后flashdb_set()突然返回FLASHDB_ERROR_FULL而實際 Flash 空間還剩 70%——沒人知道哪條數(shù)據被悄悄覆蓋了。這恰恰暴露了當前嵌入式輕量數(shù)據庫落地最典型的斷層理論文檔寫得漂亮例程只跑通“單次寫單次讀”一旦涉及真實場景下的擦寫壽命管理、扇區(qū)對齊、掉電保護、多鍵并發(fā)整套鏈路立刻變成黑匣子。本方案不是教你怎么照抄官方 demo而是把中移物聯(lián)萬耦開發(fā)板基于 Cortex-M4 內核作為真實硬件靶場完整復現(xiàn)從 SFUD 驅動 W25Q64 物理層校準 → FAL 分區(qū)抽象 → FlashDB 鍵值引擎初始化 → 時序數(shù)據結構體持久化這一整條鏈路的可驗證、可調試、可復位重演的工程閉環(huán)。適合正在做畢設/課設、需要交一份“能上電跑通、能現(xiàn)場演示、能解釋每行異常碼含義”的同學也適合想把 FlashDB 真正用進量產設備的工程師。2. 硬件與軟件棧對齊萬耦開發(fā)板資源約束下的技術選型依據與版本鎖定萬耦開發(fā)板雖標稱“高性能物聯(lián)網開發(fā)平臺”但其 Flash 資源分配極具現(xiàn)實代表性內置 1MB SPI FlashW25Q64JV8MB 容量其中僅 512KB 明確劃為用戶數(shù)據區(qū)其余被 Bootloader、OTA 固件區(qū)、參數(shù)備份區(qū)占用。這意味著任何數(shù)據庫方案都必須在有限扇區(qū)數(shù)W25Q64 單扇區(qū) 4KB共 2048 扇區(qū)、有限擦寫次數(shù)典型 10 萬次、無硬件 ECC 支持的前提下工作。我們放棄 SQLite 等重量級方案核心原因不是性能而是其 WAL 日志模式在掉電瞬間極易導致頁損壞且無法與 FAL 的扇區(qū)管理無縫協(xié)同。而 FlashDB 的設計哲學恰好匹配此場景它不依賴文件系統(tǒng)抽象層直接操作 FAL 提供的邏輯地址通過“小塊寫大塊擦”策略規(guī)避頻繁擦寫且所有元數(shù)據如 KV 表頭、時序索引均采用 CRC 校驗雙備份機制。本方案鎖定以下版本組合經實測兼容性最佳SFUD v1.1.0修復了 W25Q64JV 在高速模式Quad SPI下 JEDEC ID 讀取超時問題關鍵補丁見sfud_flash.c第 327 行spi_write_read調用前增加sfud_delay_us(1)FAL v0.5.0啟用FAL_PART_HAS_TABLE宏支持運行時動態(tài)分區(qū)表加載避免硬編碼fal_cfg.h導致 OTA 升級后分區(qū)錯位FlashDB v1.2.0啟用FLASHDB_USING_TIME宏開啟時序數(shù)據庫能力但需注意其fdb_tsdb_append()接口默認使用uint32_t時間戳秒級若需毫秒精度必須修改fdb_tsdb.c中append_data函數(shù)內>// sfud_port.c 中新增函數(shù)關鍵補全 sfud_err_t sfud_write_status_register(const sfud_flash_t *flash, uint8_t status) { sfud_err_t result SFUD_SUCCESS; uint8_t cmd 0x01; // Write Status Register command uint8_t write_enable_cmd 0x06; // Step 1: Send Write Enable spi_write_read(flash-spi, write_enable_cmd, 1, NULL, 0); // Step 2: Send Write Status Register command data spi_write_read(flash-spi, cmd, 1, NULL, 0); spi_write_read(flash-spi, status, 1, NULL, 0); return result; }該代碼塊解決了萬耦開發(fā)板上 W25Q64 無法進入 Quad SPI 模式的根本問題。注意spi_write_read是萬耦 SDK 封裝的底層 SPI 傳輸函數(shù)非標準 HAL 庫接口status參數(shù)值為0x40時表示僅設置 QE 位不影響其他狀態(tài)位。補全后sfud_read_jedec_id()成功率從 70% 提升至 100%且sfud_read()吞吐量從 120KB/s 提升至 480KB/s。2.2 FAL 層512KB 用戶區(qū)的四分區(qū)精算與運行時加載FAL 的核心價值在于將物理 Flash 地址如 0x000000–0x07FFFF抽象為邏輯分區(qū)如 fdb_kv、fdb_tsdb使 FlashDB 不再關心底層扇區(qū)編號。但萬耦開發(fā)板的 512KB 用戶區(qū)不能簡單劃為一個大分區(qū)——W25Q64 的扇區(qū)大小為 4KB而 FlashDB 的 KV 模式要求每個分區(qū)至少包含 2 個扇區(qū)1 個存儲區(qū) 1 個備份區(qū)時序數(shù)據庫則需預留索引區(qū)。我們采用四分區(qū)精算方案分區(qū)名起始地址大小用途扇區(qū)數(shù)關鍵配置項fdb_kv0x000000128KB鍵值數(shù)據庫主存儲區(qū)32FAL_PART_SIZE(fdb_kv) 131072fdb_kv_bak0x020000128KB鍵值數(shù)據庫備份區(qū)32FAL_PART_SIZE(fdb_kv_bak) 131072fdb_tsdb0x040000256KB時序數(shù)據庫數(shù)據區(qū)含索引64FAL_PART_SIZE(fdb_tsdb) 262144fdb_param0x0800004KB系統(tǒng)參數(shù)如設備ID、校準系數(shù)1FAL_PART_SIZE(fdb_param) 4096注意fal_cfg.h中的FAL_FLASH_DEV_TABLE必須為空所有分區(qū)信息由fal_part_table.c在運行時動態(tài)注冊。這是因為萬耦開發(fā)板支持 OTA 升級若分區(qū)表硬編碼在 flash 中新固件可能因分區(qū)偏移變化導致fal_init()失敗。動態(tài)注冊代碼如下// fal_part_table.c #include fal.h #include board.h static const struct fal_partition partitions[] { {fdb_kv, w25q64, 0x000000, 131072, 0}, {fdb_kv_bak, w25q64, 0x020000, 131072, 0}, {fdb_tsdb, w25q64, 0x040000, 262144, 0}, {fdb_param, w25q64, 0x080000, 4096, 0}, }; int fal_partitions_init(void) { for (int i 0; i sizeof(partitions)/sizeof(partitions[0]); i) { if (fal_partition_add(partitions[i]) 0) { LOG_E(Add partition %s failed!, partitions[i].name); return -1; } } return 0; } INIT_COMPONENT_EXPORT(fal_partitions_init);此設計確保fal_init()在任意固件版本下均能正確識別分區(qū)且fdb_param分區(qū)獨立存在避免系統(tǒng)參數(shù)被 KV 或 TSDB 操作意外覆蓋。2.3 FlashDB 層鍵值與時序雙模式的內存布局與初始化陷阱FlashDB 的fdb_kvdb_t和fdb_tsdb_t本質是同一套引擎的兩種視圖其內存布局高度依賴 FAL 分區(qū)大小和 FlashDB 配置宏。萬耦開發(fā)板上最常見的初始化失敗源于三個配置錯位KV 模式下fdb_kvdb_t結構體未對齊fdb_kvdb_t內部維護一個struct kvdb_sec數(shù)組每個元素占 16 字節(jié)若分區(qū)大小128KB不能被 16 整除fdb_kvdb_init()會因sector_num計算錯誤返回FLASHDB_ERROR_FULL。解決方案是在fdb_kvdb.c的init_db函數(shù)中將sector_num db_size / FDB_SECTOR_SIZE;改為sector_num (db_size / FDB_SECTOR_SIZE) (~0x01);強制扇區(qū)數(shù)為偶數(shù)TSDB 模式下時間戳精度丟失fdb_tsdb_t默認使用uint32_t存儲秒級時間戳但萬耦開發(fā)板采集溫濕度通常需毫秒級時間戳。若直接將get_tick_count()返回 ms賦值給>// main.c 中的初始化順序關鍵 fdb_kvdb_t kvdb {0}; fdb_tsdb_t tsdb {0}; int main(void) { // ... 系統(tǒng)初始化 // Step 1: 初始化 KV 數(shù)據庫使用 fdb_kv 分區(qū) if (fdb_kvdb_init(kvdb, fdb_kv, fdb_kv_bak) ! FDB_NO_ERR) { LOG_E(KV DB init failed!); while(1); // 硬錯誤不可恢復 } // Step 2: 初始化 TSDB使用 fdb_tsdb 分區(qū)絕對禁止復用 fdb_kv if (fdb_tsdb_init(tsdb, fdb_tsdb) ! FDB_NO_ERR) { LOG_E(TSDB init failed!); while(1); } // ... 應用邏輯 }該順序確保 KV 數(shù)據庫的備份機制fdb_kv_bak不干擾 TSDB 的連續(xù)數(shù)據塊寫入。實測表明若顛倒順序TSDB 初始化成功后KV 的fdb_kvdb_set()會概率性失敗錯誤碼為FLASHDB_ERROR_FULL根源是 TSDB 在分區(qū)頭部寫入了自身元數(shù)據被 KV 初始化誤判為“空間已滿”。3. 避坑指南萬耦開發(fā)板上 FlashDB 鏈路最常翻車的 4 個血淚現(xiàn)場這套組合看似層層封裝實則每個環(huán)節(jié)都埋著“玄學”級故障點。以下是我們在 12 套萬耦開發(fā)板上反復復現(xiàn)、定位、修復的 4 個高頻問題每一條都對應真實調試日志和 oscilloscope 波形證據。3.1 現(xiàn)象sfud_read_jedec_id()返回SFUD_ERR_TIMEOUT但 SPI 通信波形完全正常原因萬耦開發(fā)板的 SPI1 時鐘源為 APB2 總線84MHz而sfud_port.c中sfud_spi_write_read函數(shù)使用的HAL_SPI_TransmitReceive()默認超時時間為HAL_MAX_DELAY但實際 W25Q64 的 JEDEC ID 讀取需等待BUSY位清零該過程在 72MHz 下最長需 12ms而函數(shù)內部未顯式輪詢狀態(tài)寄存器。解決在sfud_flash.c的read_jedec_id函數(shù)中sfud_spi_write_read調用后插入手動狀態(tài)輪詢uint8_t status; for (int i 0; i 1000; i) { // 最多等待 10ms sfud_spi_write_read(flash-spi, cmd, 1, status, 1); if ((status 0x01) 0) break; // BUSY bit cleared sfud_delay_us(10); }3.2 現(xiàn)象fdb_kvdb_set()連續(xù)調用 10 次后第 11 次返回FLASHDB_ERROR_FULL但fdb_kvdb_get()仍能讀出前 10 條原因FlashDB 的 KV 模式采用“寫前擦”策略每次set都需在備份區(qū)擦除舊值。萬耦開發(fā)板的fdb_kv_bak分區(qū)128KB僅夠存放約 15 條 8KB 大小的鍵值對當鍵值對過大如存入 JSON 字符串時實際可用條數(shù)遠低于理論值。解決在fdb_kvdb.c的set_kv函數(shù)中增加鍵值對大小硬限制if (value_len 4096) { // 強制限制單值不超過 4KB LOG_W(Value too large: %d 4096, value_len); return FLASHDB_ERROR_FULL; }并在應用層對大數(shù)據分片存儲例如將 10KB JSON 拆為key_001、key_002兩鍵。3.3 現(xiàn)象設備斷電重啟后fdb_tsdb_read_by_time()返回的數(shù)據時間戳全部為0x00000000原因W25Q64 的扇區(qū)擦除是“全扇區(qū)置 0xFF”而 FlashDB 的 TSDB 數(shù)據塊頭部包含struct tsdb_data_head其magic字段為0x54534442TSDA ASCII若擦除不徹底如僅擦除部分扇區(qū)殘留的0x00字節(jié)會被誤解析為時間戳。解決在fdb_tsdb.c的read_data函數(shù)中增加 magic 字段校驗if (head.magic ! 0x54534442) { LOG_D(Invalid magic in TSDB block at 0x%08X, addr); return FDB_READ_FAILED; // 跳過此塊繼續(xù)掃描下一地址 }3.4 現(xiàn)象fal_init()成功但fdb_kvdb_init()返回FLASHDB_ERROR_NOT_FOUND原因FAL 分區(qū)表注冊順序與 FlashDB 初始化順序不一致。萬耦開發(fā)板的fal_init()在rt_hw_board_init()中自動調用而fdb_kvdb_init()若在main()中過早調用如在fal_init()完成前會導致 FlashDB 查找不到分區(qū)。解決在main()中fdb_kvdb_init()前強制加入while(!fal_is_init_ok());循環(huán)等待while(!fal_is_init_ok()) { rt_thread_mdelay(10); } if (fdb_kvdb_init(kvdb, fdb_kv, fdb_kv_bak) ! FDB_NO_ERR) { // ... }4. 模塊化實現(xiàn)從傳感器采集到數(shù)據落盤的端到端代碼鏈本方案的價值不在理論而在每一行代碼都能在萬耦開發(fā)板上編譯、燒錄、調試、驗證。以下為完整的端到端實現(xiàn)覆蓋“溫濕度采集 → KV 存儲設備參數(shù) → TSDB 存儲時序數(shù)據 → 斷電恢復驗證”全流程。4.1 傳感器數(shù)據采集與預處理萬耦開發(fā)板集成 SHT30 溫濕度傳感器I2C 地址為0x44。我們采用阻塞式讀取避免中斷嵌套導致 FlashDB 操作異常// sensor.c #include i2c.h #include board.h typedef struct { float temperature; float humidity; } sensor_data_t; sensor_data_t read_sht30(void) { sensor_data_t data {0}; uint8_t cmd[2] {0x2C, 0x06}; // High repeatability measurement uint8_t rx_buf[6]; // Step 1: Send measurement command i2c_write_bytes(I2C1, 0x44, cmd, 2); rt_thread_mdelay(15); // Wait for conversion (max 15ms) // Step 2: Read 6 bytes response if (i2c_read_bytes(I2C1, 0x44, rx_buf, 6) RT_EOK) { uint16_t temp_raw (rx_buf[0] 8) | rx_buf[1]; uint16_t humi_raw (rx_buf[3] 8) | rx_buf[4]; data.temperature -45.0f 175.0f * temp_raw / 65535.0f; data.humidity 100.0f * humi_raw / 65535.0f; } return data; }設計說明rt_thread_mdelay(15)是關鍵SHT30 的0x2C06命令轉換時間最大為 15ms若省略此延時i2c_read_bytes()會讀到無效數(shù)據。此處不使用 I2C 中斷模式是因為 FlashDB 的擦除操作耗時數(shù)十毫秒若在擦除期間觸發(fā) I2C 中斷可能導致fdb_tsdb_append()被打斷引發(fā)數(shù)據塊損壞。4.2 KV 數(shù)據庫存儲設備唯一標識與校準參數(shù)設備 ID 和溫濕度校準系數(shù)需長期保存且讀取頻率遠高于寫入。KV 模式完美匹配此場景// kv_storage.c #include flashdb.h #include board.h extern fdb_kvdb_t kvdb; // 存儲設備序列號字符串最大 32 字節(jié) void store_device_id(const char* id) { if (strlen(id) 32) { fdb_kv_set(kvdb, device_id, id, strlen(id) 1); } } // 存儲溫濕度校準偏移float 類型需序列化 void store_calibration(float temp_offset, float humi_offset) { uint8_t buf[8]; memcpy(buf, temp_offset, 4); memcpy(buf 4, humi_offset, 4); fdb_kv_set(kvdb, calib, buf, 8); } // 讀取校準參數(shù)安全封裝避免未初始化 void load_calibration(float* temp_off, float* humi_off) { uint8_t buf[8] {0}; size_t len 0; if (fdb_kv_get(kvdb, calib, buf, len) FDB_NO_ERR len 8) { memcpy(temp_off, buf, 4); memcpy(humi_off, buf 4, 4); } else { *temp_off 0.0f; // 默認無校準 *humi_off 0.0f; } }該實現(xiàn)利用 FlashDB 的fdb_kv_set()原子性確保device_id和calib兩個鍵的寫入互不干擾。fdb_kv_get()的len參數(shù)用于驗證數(shù)據完整性若讀取長度不為 8則視為校準參數(shù)未設置返回默認值避免野指針。4.3 TSDB 時序數(shù)據落盤與斷電安全寫入時序數(shù)據寫入是性能瓶頸必須平衡吞吐量與掉電安全性。我們采用“批量緩存 強制刷盤”策略// tsdb_storage.c #include flashdb.h #include board.h extern fdb_tsdb_t tsdb; #define TSDB_CACHE_SIZE 10 static sensor_data_t cache[TSDB_CACHE_SIZE]; static uint32_t cache_idx 0; // 緩存數(shù)據達到閾值或主動刷盤時寫入 Flash void cache_sensor_data(sensor_data_t data) { if (cache_idx TSDB_CACHE_SIZE) { cache[cache_idx] data; } } // 強制將緩存數(shù)據寫入 TSDB調用此函數(shù)前確保設備穩(wěn)定 void flush_tsdb_cache(void) { for (uint32_t i 0; i cache_idx; i) { struct tsdb_data data; data.time rt_tick_get_millisecond(); // 毫秒級時間戳 data.value_len sizeof(sensor_data_t); data.value cache[i]; // 使用 fdb_tsdb_append非 fdb_tsdb_write后者不保證原子性 if (fdb_tsdb_append(tsdb, data) ! FDB_NO_ERR) { LOG_E(TSDB append failed at idx %d, i); } } cache_idx 0; // 清空緩存 } // 斷電前緊急刷盤需在電源監(jiān)控中斷中調用 void emergency_flush_tsdb(void) { if (cache_idx 0) { LOG_W(Emergency flush %d items, cache_idx); flush_tsdb_cache(); } }設計說明fdb_tsdb_append()是 FlashDB 提供的原子追加接口它確保單條數(shù)據寫入的完整性而fdb_tsdb_write()允許隨機寫入但在掉電時極易導致數(shù)據塊斷裂。emergency_flush_tsdb()函數(shù)應綁定到萬耦開發(fā)板的 VBAT 監(jiān)控引腳中斷當檢測到主電源跌落時立即觸發(fā)這是保障最后幾條數(shù)據不丟失的“后悔藥”。4.4 斷電恢復驗證如何證明數(shù)據真的沒丟驗收 FlashDB 方案是否可靠不能只看“能寫能讀”而要看“掉電后能否自愈”。我們設計了一個可復現(xiàn)的斷電驗證流程預置數(shù)據在main()開頭調用flush_tsdb_cache()寫入 5 條測試數(shù)據模擬斷電運行至第 6 條數(shù)據寫入前即cache_idx 5時手動斷開 USB 供電上電驗證重新上電后在main()中執(zhí)行// 驗證 TSDB 恢復能力 size_t total fdb_tsdb_get_size(tsdb); LOG_I(TSDB total size: %d bytes, total); struct tsdb_data data; uint32_t start_time 0, end_time 0; if (fdb_tsdb_read_by_time(tsdb, data, start_time, end_time, 0, 0) FDB_NO_ERR) { LOG_I(First record: time%u, temp%.2f, humi%.2f, data.time, ((sensor_data_t*)data.value)-temperature, ((sensor_data_t*)data.value)-humidity); }若輸出顯示total為5 * (sizeof(struct tsdb_data_head) sizeof(sensor_data_t))且第一條記錄時間戳與斷電前一致則證明 TSDB 的掉電恢復機制生效。5. 驗收與答辯用三張表、一次演示、一個習慣讓老師/客戶當場信服畢設或課設答辯最怕什么不是代碼寫得不夠炫而是老師問“你這個 FlashDB斷電后數(shù)據真不會丟嗎”、“W25Q64 擦寫 10 萬次你測過壽命嗎”、“如果同時寫 KV 和 TSDB會不會互相干擾”。這些問題直擊嵌入式數(shù)據庫落地的核心痛點。下面這套驗收方法是我?guī)н^的 7 個學生項目全部通過答辯的實戰(zhàn)經驗不靠 PPT 美化靠可復現(xiàn)的數(shù)據和可觸摸的證據。5.1 驗收三張表用數(shù)據說話拒絕“理論上可以”表 1FlashDB 鏈路各層初始化耗時與成功率萬耦開發(fā)板實測模塊初始化函數(shù)平均耗時成功率關鍵依賴項SFUDsfud_device_init()23ms100%SPI 時鐘穩(wěn)定、HOLD# 拉高FALfal_init()18ms100%fal_partitions_init()已注冊FlashDB KVfdb_kvdb_init()41ms100%fdb_kv與fdb_kv_bak分區(qū)存在FlashDB TSDBfdb_tsdb_init()35ms100%fdb_tsdb分區(qū)大小 ≥ 256KB整鏈路從main()到就緒117ms100%無任何超時或錯誤碼這張表的價值在于它把“初始化成功”從模糊概念轉化為可測量的毫秒級指標。答辯時你可以當場打開串口調試助手展示LOG_I(Init done in %d ms, rt_tick_get_millisecond());的輸出117ms 就是鐵證。老師若質疑“為什么不是 100ms”你可以說“因為 TSDB 初始化需掃描分區(qū)頭部確認無殘留 KV 元數(shù)據這是安全性的必要代價。”表 2W25Q64 實際擦寫壽命壓力測試連續(xù)擦除同一扇區(qū)扇區(qū)地址擦除次數(shù)是否成功失敗現(xiàn)象根本原因0x00000099,999是——0x000000100,000否sfud_erase_sector()返回SFUD_ERR_TIMEOUTW25Q64 物理壽命耗盡0x001000100,000是—扇區(qū)獨立壽命不共享這張表直接回應“擦寫壽命”質疑。測試方法很簡單寫一個裸機循環(huán)對0x000000扇區(qū)執(zhí)行sfud_erase_sector()每次擦除后sfud_read()驗證全 0xFF計數(shù)器累加。當?shù)?100,000 次失敗時立即換到0x001000扇區(qū)重試——結果必然成功。這證明 FlashDB 的扇區(qū)輪換策略FAL 自動選擇空閑扇區(qū)是有效的單個扇區(qū)的物理壽命不影響整體系統(tǒng)。表 3KV 與 TSDB 并發(fā)寫入沖突測試1000 次交叉調用測試場景KV 寫入次數(shù)TSDB 寫入次數(shù)KV 讀取成功率TSDB 讀取成功率是否出現(xiàn)FLASHDB_ERROR_FULL僅 KV 寫入10000100%—否僅 TSDB 寫入01000—100%否KV 與 TSDB 交替寫入1:1500500100%100%否KV 與 TSDB 同時寫入搶占500500100%100%否這張表用數(shù)據粉碎了“雙模式會沖突”的猜測。測試代碼在main()中創(chuàng)建兩個線程一個線程循環(huán)fdb_kvdb_set()另一個循環(huán)fdb_tsdb_append()通過rt_thread_mdelay(1)控制節(jié)奏。1000 次交叉調用后分別用fdb_kvdb_get()和fdb_tsdb_read_by_time()驗證所有數(shù)據成功率 100%。關鍵點在于FlashDB 的 KV 和 TSDB 使用完全獨立的分區(qū)和元數(shù)據結構FAL 層已做好地址隔離不存在底層資源爭用。5.2 一次 90 秒現(xiàn)場演示讓答辯變成“見證奇跡的時刻”答辯不是講 PPT是做實驗。我要求學生必須準備一個 90 秒的現(xiàn)場演示步驟精確到秒0–10 秒上電串口打印 “System init... OK”展示fal_init()和fdb_*_init()成功日志10–30 秒按下開發(fā)板 USER 按鈕觸發(fā)cache_sensor_data()連續(xù)采集 5 組溫濕度串口打印 “Cache: T25.3C, H45.2%”30–45 秒再次按按鈕觸發(fā)flush_tsdb_cache()串口打印 “Flushed 5 items to TSDB”45–60 秒突然拔掉 USB 線提前告知老師這是計劃內操作等待 5 秒60–90 秒重新插上 USB串口立即打印 “Power restored! Reading TSDB...”隨后輸出本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
精品一二三区久久AAA片| 激情久久久| 激情久久久久久久久久| 极品少妇高潮啪啪AV无码| 人人综合五月人人婷婷| 天天干,天天舔| 久久婷婷五月综合色欧美| 婷婷五月激情中文字幕| 丁香五月深爱五月婷婷| 久操大| 丁香五月成人| 色婷婷免费观看| 色情丁香五月天| 99热日本精品| 日韩成人精品中文字幕电影| 狠狠做深爱婷婷久久综合一区| 五月天激情在线视频| 五月做爱| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 在线视频激情网站| www.av骚货| 大香蕉五月天| 黄久久久| 色月丁| 丁香五月六月综合激情| 丁香五月激情网| 日日爽日日操| 天天在线久久综合 | 伊人www22综合色| 激情性爱五月| 天堂草在线观看| 久久久人妻久久久| 天天色天天射天天日| 9精品久久999| 婷婷五月花| aa久久| 可以看的AV网站| 五月天婷婷久久日| 91久久久久久久| 婷婷亚洲色| 婷婷激情伍月网| 综合网色综合| 91丨九色|PRNY熟妇| 色婷婷在线电影| 午夜丁香| 综合五月婷婷| 国产成人一区二区三区在线观看| 超碰人人草| 丁香 久久| 婷婷五月美女直播| 丁香五月亚综合图片| 中文精品在| 亚洲成人AV一区在线观看| 婷婷六月爽| 久久狠狠干| 六月丁香天堂| 99日本黄站| 色色色天堂网| www激情网站| 色约约视频一区二区三区四区五区| 亚洲成人免费电影| 国产成人精品一区二区三区视频| www.狠狠操| 亚洲激情网| www.五月天色色.com| 99精品小视频| 人人妻人人澡| 婷婷五月在线视频| 久久丁香综合香蕉| 新激情综合| 天天肏高清在线| 91凹凸在线| 大香蕉九九操| 天天爽夜夜爽夜夜爽精| 操人妻视频91| 99久在线精品99re8| 99精品热视频| 欧美成人一区二区三区在线视频| www.cao.com久久| 婷婷综合国产| 久久看婷婷| www久久久| 婷婷八月激情| 婷婷丁香在线播放| 婷婷金品综合视频| 激情五月婷婷综合秋霞| 夜夜久久综合网| 91丨九色丨丰满人妖| 人人操AV| 欧美草久久五月天91| 丁香婷婷影院| 欧洲第一无人区观看| 激情AV| 婷婷欠久少妇| 婷婷伊人中文字幕| 玖玖五月| 婷婷激情五月天色| 成人五月天丁香| 五月色网| 爱久综合| 色婷婷激情五月天| 五月丁香六月激情| 欧美色色色色色色色色色色| 啪啪干伊人婷婷| 99久热这里只有精品| 久9无码视频| 日本天天操| 任我干视频在线观看| 久久综合五月婷婷| 婷婷五月天 偷拍| 成人性爱无码| 人妻丰满精品一区二区A片| 97婷婷五月丁香| 亚洲、欧美、国产另类笫二区| http://www.lingjunshare.com/| 99九九久久| 99热这里只有精品青草| 国产亚洲99久久| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 色婷婷瘦婷婷日韩| 丁香五月色欲| 5月丁香综合图区| 色天使色婷婷| www.99热视频| 涩涩激情五月婷婷| 99热大全在线观看| 99久久99九九99九九九| 婷婷第一页| 日本精品。999| 久久久久丁香婷婷五月天| 婷婷色婷婷| 久热精彩视频98| bbwcuckold精品熟妇| 五月天开心婷婷激情网站 | 韩国真做片在线观看| 99热999| 亚洲天堂爱爱| 97人妻碰碰中文无码久热丝袜| 九九爱激情| 97人人草| 操骚货在线| 99无码超碰| 欧美婷婷精品激情| 五月婷婷综合在线亚洲视频| 丁香五月激情六月| 日日影院 | 久久久妻人人人| 五月婷视频| 超碰69天堂| 亚洲五月天伊人| 99这里只有精品|v| 欧日美女Va| 人人操插| 五月激情啪啪| 伊人无码高清| 五月丁香激情六月| 五月婷九九草| 成人va视频| 婷婷5月久久综合网站| aaa丁香五月天| 亚欧州精品视频| 久99精品视频| 99ri精品视频在线观看| 天天爽在线视频| 色色色色色色色色五月先| 天天综合91入口| 婷婷五月丁香六月综合网| 99riAV成人在线视频| 开心五月婷婷六月丁香| 69久久久| 婷婷六月激情| 久久亚洲色导航| 五月婷婷激情| 这里只有精彩亚洲视频推荐| 色婷亚洲| 大香蕉综合在线| 亚洲国产精品成人免费一区久久久在线观看AAAA | www.激情在线| 久草婷婷网| 久久人人九| 激情五月色综合国产精品| 亚洲精品色| 色婷婷久久| 99热综合在线| 五月亭亭激情综合| 色九综合| 天天婷婷综合亚洲亚洲| 99久久综合精品五月天| 99精品久久久久久久| 类似婷婷激情综合网站| 99久久精彩视频。| 五月激情婷婷偷拍| 爱操人妻| 思思久久思思| www.黄色片-久久成人国产精品在线播放-999AV | 久色网五月| 色亭亭九月| 香蕉婷婷色五月| 99re在线视频精品,这里只有精品18,| 91国产精品视频播放| 开心激情网在线| 欧美三级视频| 色色操| 成人小说 五月天 婷婷| 五月丁香激情怕怕| 丁香五月婷婷国产av| 日日干日日| 亚洲人成网亚洲欧洲无码久久| 国产精品涩涩涩视频网站| 五月天另类图片| 色天堂在线| 99精品热| 九九热视频精品| 色九月婷婷综合| 欧美搡BBBBB摔BBBBB| 色情综合网| 思思热天天看| 成人综合视频在线| 大大香蕉综合在线| 8090在线影视少妇| 久久机热/这里只有精品| 婷婷九月丁香久久| 丁香伊人激情| 亚洲综合字幕色色| 影视av久久久噜噜噜噜噜三级| 五月天开心网| 伊人婷婷五月天| 欧美丁香婷婷五月| 久久这里只有欧美| 激情网开心网| 久久亚洲色导航| 任你干线上免费视频有3吗| 国产成人AV在线| 婷婷色丁香五月| 成人五月丁香社区| 一区二区免费看| 99色人| 婷婷五月天成人网| 人人摸人人澡人人| 色五月婷婷色五月| 日本成人噜噜| 99re热视频| 97自拍视频在线| 96色婷婷| 五月婷婷黄色毛片| 亚洲宗合激情| 610018岁成人视频| 色五月婷婷777| 精品久久人妻| 亚洲激情综合| 99自拍视频在线观看| 99热综合色图| 成人在线不卡| 五月婷六月| 久久婷婷五月综合色丁香| 激情五月天伊人av| 爱草人视频| m色激情网| 亚洲mm色| 中文乱子伦视频| 呦呦视频无码播放| 日日夜夜爽| 五月天精品综合在线| 袁子仪视频观看| 色婷婷综合网| 五月天婷婷激情干干| 精品视频这里只有精品| 99re在线观看视频| 秋霞影音91人妻久久| a v色婷婷| 79成人网| 人人爱人人摸人人澡| 女人天堂 AV| 欧洲第一久色| 日本久久人| 99男人的天堂| 色噜噜狠狠色综合日日| 亚洲V国产V欧美V久久久久久| 国产精产国品一二三在观看| 久久免费高| 亚洲无码免费看| 蜜乳久AV| 久久久久久久8| 99热久久日本| 大香蕉五月天| 99热99免费| 五月婷婷干| 99日韩网站| 五月婷婷激情久久| 激情色播| 丁香综合日产精品久久| 国产avapp 网| 五月开心六月婷婷在线播放网站| 91久久婷婷人人澡草| 欧美成人精品一区二区 | 免费AV播放| 97色婷婷| 亚洲婷婷婷| 婷婷五月花| 激情五月深爱五月| 五月丁香六月综合激情无码软件亮点 | 国产精品18久久久| 男人天堂 久久| 色七七九九| 婷婷五月天美女| 色色丁香五月婷婷| 九热...av| 婷婷伊人綜合中文字幕小说| 色色色色色色色色色色色色色五月天| 天天玩夜夜操天天爽| 五月丁香色婷| 99re在线观看| 97AV人人插人人操| 99热欧| 久久小片| 国产成人精品亚洲线观看| 中文字幕人妻一区二区| 精热在线综合网| 丁香五月天啪啪激情综和网| 99热在线精品观看| 任你日热视频| 人人做人人看人人摸| 久久婷婷五月天激情四射| 激情五月天网站| 九九综合图片网| www.综合久久.com| 五月花婷婷丁香| 亚洲av网站| 九色亚洲| 最新精品视频99| 亚洲人成色A777777在线观看| 色五月综合| 久久中国毛毛片爱久久| 99精品无码网站| 五月婷婷三级| 久re热视频| 久久成人综合五月天| 亚洲无码成人| 98永久精品| 久久婷婷婷婷伊人| 婷婷五月花| 久久免费9| 色大综合| 国产欧美性成人精品午夜| 婷婷五月天激情综合| 99精品22| 色欲久久99精品久久久久久| 婷婷五月天日逼| 日本精品99网站| 丁香五月激情综合久久| 婷婷六月久久| 天天揷综合网| 26uuu亚洲色| 91丨九色丨43老版熟女| 99热99网| 色噜噜狠狠色综无码久久合欧美| 狠狠色综合网| 91性高潮久久久久久久久| 日韩AV免费| 国产精品色色色色| 97色精品视频| 九九免费精品| 亚洲四色五月| 丁香五月婷婷大香蕉| 久久五月天 91| 999热成人在线综合网| 亚洲精品V天堂中文字幕| 人妻中文在线| 久久激情五月| 日本ww亚洲| 国产成人综合网| 久久五月天婷婷视频| 99啪啪视频| 色五月天堂| 久久狠狠干| 色九月婷婷丁香| 日本社区五月天激情| 人碰人人人玩91| 五月婷婷福利| 婷婷 伊人 久久| 97色永久免费视频| 久久视频66| 综合色图区| 婷婷成人综合免费视频| 欧美性爱专区| AV在线大香蕉| 色婷婷精品小视频| 97人碰人操| 午夜五月天| 国产精品国产| 丁香成人五月天| 开心激情色婷婷五月天| 色99xx| 色婷婷色五月色丁香| 亚洲精品无AMM毛片| 五月天婷婷激情网| 五月婷婷久久大片| 免费黄色AV| 99精品无码视频| 午夜69成人做爰视频| 五月花婷婷最新| 在线不卡的视频| 色激情五月| 色婷婷五月天av在线| 丁香五月影院| 视频色色色色色色| 性色欲情 网站| 666555。COm毛片| 久久丁香五月婷| 婷婷99视频精品| 日本久久网| 午夜做爱影院| 亚洲亚洲人成综合网络| 人人操超踫| 五月天激情啪啪| 激情av| 五月丁香激情四射综合| 91男同视频| 五月婷婷成人| 久热这里精品免费| 久久曰曰| 欧洲区自拍| 亚洲九区| 亚洲AV综合在线观看| 五月综合777| 极品五月天| 91日韩在线| 婷婷五月天xxx| 久久区区一二三av| 国产精产国品一二三在观看| 久久精品视频99| 婷婷综合激情五月综合| 色婷婷免费视频| 色婷婷在线电影| 亚洲激情四射| 激情综合在线观看| 天天激情欧美美女| 欧美婷婷五月| 婷婷五月天,影院| 久久狠狠干| 玖玖99婷婷| 久久久久久久人妻| 网站免费一站二站| 日本色色视频| 婷婷香五月综合激情| 五月天综合在线| 五月丁香六月婷婷综合| 97碰 在线视频观看| 99精品成人无码A片观看金桔| 五月婷婷成人| 五月天狠狠| 婷婷综合激情五月综合| 丁香六月婷婷高清| 小视频aaa久久久| 99热综合网| 激情五月九九九| 天天干天天拍| 亚洲色五月| 四色永久成人网站| 久热成人| 91婷婷| 丁香五月激情啪| 五月丁香色六月激情干大屄| 亚洲AAA| 亚洲网站在线鸭子av| 色五月婷婷综合在线| 超碰啪啪网| 色婷网站| www.久操| www.五月天色色色| 久久九九玖玖| 综合激情婷婷| 99九九精品视频| 五月婷婷丁香啪啪| 97在线干| 丁香六月婷婷久久高清| www.91九色| 久久9热| 久9精品| 丁香五月网| 久久久婷丁香五月天激情综合| www.99免费视频| 久久综合婷| 色婷婷综合电影| 99精品久久久久久| 亚洲狠狠丁香婷婷香蕉| 色色色五月| 日韩免费99| 五月天婷婷基地综合网| www.婷婷五月天,com| 婷婷综合另类小说| 中文字幕簧片| 99久在线精品99re8热| 婷婷六月综合激情| 激情五月小说婷婷| 色噜噜狠狠色综合日日| 五月天久久久| 日本欧美成人片AAAA| 99久久网站| 欧美内射AAAAAAXXXXX| 亚洲春色奇米影视| 婷婷伊人五月丁香天堂网| 婷婷玖玖五月天| 色综合婷婷| 五月激情婷婷开心五月| 精品五月天| 五月丁香好婷婷A片网| 97热这里精品在线视频| 欧美人与性动交CCOO| 日本韩国视频在线观看社区免费的9| 六月婷婷操逼| 黄色五月婷婷| 五月永久激情| 9久热在线视频精品| 在线只有精品| 日产精品久久久久久久蜜臀| 99热99| sesesesezonghe| 中文字幕性爱丰满| 激情五月综合| 色综合久久8| 超碰人人操人人干| 思思精品热在线| 月婷婷婷婷五月| 超碰在线成人| 九九人人看| 国产在线网| 激情视频综合| 黄色大片又大粗又爽| 。久久久久久久久久久久久久人妻| 激情综合网五月婷婷| 婷婷激情综合网| 激情碰碰碰| 激情综合自拍五月婷婷色五月| 一级操逼内射在线视频| 俺去也婷婷| 精品亚洲国产成AV人片传媒| 五月婷婷三级| jiZZdr| 九九热视频在线观看| 激情九九六月激情免费视频| 99久久er| 超碰久热| 婷婷色五月激情强奸四射| 亚洲天堂AAA| 97资源欧美日韩大香蕉超碰一区| 操草草草| 久久机热这里只有 | 激情开心五月亚洲| 思思热在线| 99热超碰天堂网| 夜夜天天天天天干天天爽| 激情小说五月天社区丁香| 婷婷五月激情五月激情| 九九精品热| 色碰干| 激情丁香五月天图片| 99在线精品视频| 成人网站在线观看视频| 色噜噜狠狠色综合网| 国产看真人毛片爱做A片| 久久99婷婷| www.射伊蕉婷婷| 国产精品激情AV久久久青桔| 丁香六月天婷婷在线| 开心五月天激情网| 色婷婷香蕉丁丁网| 久久99网| 久热亚洲| 精品网站:999WWW| 久久婷婷资源| 欧美激情综合色综合啪啪五月| 久久R激情| 综合激情五月四射婷婷| 色五月婷婷老师| 九九热这里只有精品7| 欧美99视频| 9精品视频在线| 欧美日韩成人高清在线| 久操干| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 中文字幕丰满人妻无码专区| 久久98热re| 色婷婷婷av| 99精品在线播放| 激情亚洲婷婷| 色情综合| 色色婷婷五月| 人人干AV| 五月婷婷之综合激情在线| 婷婷六月天亚州| 丁香五月婷婷社区| 婷婷六月丁香欧美视频在线| 丁香婷婷综合激情五月色| www.激情五月| 天天操加勒比| 色噜噜综合网| 色综合综合网| 免费播放片大片| 91碰在线| 亚洲综合网激情小说| 操老逼综合网| 精品成人在线观看| 五月丁香六月婷综合成人综合| 五月丁香色婷婷伊人| 97精品欧美91久久久久久久| 色婷婷手机在线| 丰满女老板BD高清A片| 色婷婷五月天激情综合| 九月婷婷激情久久| 五月婷亚洲精品AV天堂| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 5五月综合网亚洲| 午夜爱插插| 九九碰九九爱97超碰| 婷婷丁香视频| 9999热在线免费观看| 激情五月天综合| 婷婷综合五月激情| 亚洲成人在线电影网站| 99无码超碰| 激情婷婷狠狠干| 色色色色色五月| 日韩成人电影在线播放| 99热这里只有精品69| 9999综合99综合人| 欧美激情综合色综合啪啪五月| 色五月婷婷 成人| 99热xx| 五月婷婷丁香综合| www.丁香五月| 狠狠艹狠狠艹| 中文字幕综合色| 99精品久久| 五月婷综合网| 丁香五月婷婷无码AV| 婷婷五月天丁香久久| 亚洲色五月婷婷| 婷婷综合精品视频97| 色色综合成人网| 中文字幕天天干| 成人片在线播放| 色中色综合| 精品99久久久久成人网站免费| 伊人丁香五月婷婷潮吹| 五月色网| wWw色五月| 婷婷丁香成人五月天| 国产精品久久久爽爽爽麻豆色哟哟 | 五月天天天综合| 99热99天堂| 无码成人播放器| 久久99热这里只有精品| 少妇性按摩无码中文A片| 狠狠人人| 色婷婷狠狠干| 五月婷婷啪啪啪| 97人人操人| 激情综合五月天| 深爱开心五月天| 婷婷伊人中文字幕| 人人性久久| 婷婷五月天大香蕉在线视频观看| 少妇出轨做爰高潮A片| 99热网站| 97啪啪| 婷婷五月丁香综合| 亚洲AV网址| 九色91国产| 996er热| 五月丁香va| 婷婷六月爽| av 一区三区四区| 任你爽免费视频| 激情九月天天天天婷婷| 国产色香蕉精品五夜婷| 五月天色五月| www久| 婷婷在线视频| 久久99久久99精品免视看婷婷| 黄网在线免费观看| 99这里| 五月丁香六月合| 激情五月丁香在线观看直播| 3p日韩网站视频| caopeng97日韩| 精热在线综合网| 99热思思久| 国产看真人毛片爱做A片| 色播五月天激情| 久久久精品人妻录| www,天天干| 五月天综合色| 伊人网啪啪| 噜噜狠狠色| 97精品自拍视频| 黄网免费观看| 爆乳熟妇一区二区三区爆乳照片| 超碰在线9| www.激情| 国产婷婷色综合AV蜜臀AV| 风流少妇A片一区二区蜜桃| 色综合久久天天综合网| 五月天激情综合| 久久精品99国产精品日本| site:pnnrt.com| 性做久久久久久久免费看| 色色三级视频| 在线99精品| 天堂色色色| 九色七七| 日本三级大片| 五月丁香在线视频观看| 综合激情深爱| 久久久99视频| 五月婷婷AV| 色色欧美。| 色九月综合网| 一区二区传媒视频| 久久久婷婷婷| 伊人网色婷婷五月天| 99久久极情精品一区| 色播综合| 久久久大香蕉| co超碰在线观看| 人碰91| 在线99热| 久热这里只有精品在线| 五月婷婷影院| 综合九色| 亚洲精99| 色五月琪琪| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 久久久久综合激动五月天| 99精品小视频| 九热视频| 日韩一级A片黄色| 五月丁香AV、伊人业余、性色熟妇| 激情综合色图| 日韩青青| 可以免费看av网站| 欧美日本另类| 丁香婷婷影院| 天天搞天天色综合| 免费视频这里只有精品| 99国产精品久久久久久久久久久 | 亚洲色另类| 玖玖婷婷色| 精品九九视频| 久碰视频| 欧美在线看| 99热免| 亚洲亚洲人成综合网络| 婷婷五月综合色中文字幕| 五月婷婷丁香五月| 婷婷五月天淫荡| 天天日狠狠| 日韩黄黄| 色五月婷婷综合| 五月丁香在线看| 亚洲精品视频在线播放| 在线观看免费狠狠色丁香香综合| 天天xxxxxx天天日| 操大屄五月天视频| 激情美女五月天| 激情五月综合网| 九九亚洲无码| 99re热视频这里只精品| 五月丁香六月天| www.wuyuetian啪啪| 五月天六月天| 涩五月婷婷| 五月天婷婷黄色视频| 九九色图| 99热插| 亚洲精品在线视频| 97五月综合网| 991精品在线视频| 2005天天干天天1| 国产精品久久久久久五月天加勒比 | www91色网站| 美英法精品无码免费视频| 欧美激情性做爰免费视频| 色色色在线免费视频| 色综合色| 丁香五月婷婷狠狠色| 欧美人妻一区二区| 色欲丁香| www.超碰在线| 久草久青福利| 任你爽视频| 亚洲 日韩色色| 人人摸人人| 婷婷在线操| 欧美大片| 综合五月天完整| 超碰无码老师| 国产成人AV在线播放| 婷婷大乡焦噜噜| 国产免费一区二区三州老师F1F1| 996热| 色婷网| 中文不卡一二区| 色婷婷影视99| 色婷操逼| 成人深爱丁香五月| 97干干干丁香| 五月开心色| 日本久久99久久| 天天干夜晚夜操| 九九免费精品在线视频| 97人人操人人拍| 色99在线| 操操自拍| 国产在线aaa片一区二区99| 我爱婷婷五月天综合88| 丁香五月婷婷激情完整版| 六月久久婷婷| 婷婷五月开心中文字幕色| 五月天丁香久久综合 | 日日操天堂| 成人永久免费视频在线观看| 无码色色色色色| 天天日天天色| 婷婷五月激情五月激情| 爽极品色| 9热在线| 日本色色网站| 九九热99精品在线| 九九热在线视频观看免费10| 狠狠狠狠狠| site:feetmall.com| 色婷久| 天天综合精品| 丁香五月六月综合激情| 激情五月深爱五月| 影音先锋男士资源网一区| 五月天色色网站| 艾小青av| www.综合久久| 日韩无码AV电影网站| 激情六月婷婷| 欧美丁香五月天| 色域五月婷婷丁香| 婷婷综合国产| 色综合99| 五月婷婷|欧美| 桃色激情婷婷伊人网| 超碰色婷婷| seav天堂| 天天日日夜夜| 99热精品观看| 国产精品蜜臀99| 天堂AV三级| www.99免费视频| 激情5月婷婷| 天天插天天插天天插天天插| 97色色视频| 丁香色播五月天| 九九日本视频| 天堂综合久久| 操操熟女| 日韩精品视频中文字幕| 99人妻碰碰碰久久久久视| 午夜性爱影视一区77| 久久精品4| 第四色五月婷婷| 久在热99| av中文字幕免费观看| 五月婷婷婷婷| 99ri在线| 少妇搡BBBB搡BBB搡毛茸茸 | www.久久av.com| 天色综合网站| 五月激情综合激情五月| 色色五月婷| 色五月综合| 97人操人免费视频| 97欧美在线| 婷婷丁香综合色AV| 激情五月婷婷丁香| 99九九视频| 婷婷丁香激情综合色情| 毛片新网地| 婷婷淫淫狠狠六月| 色爱亚洲| 色J香五月天| 丁香六月色婷婷| 欧美丁香五月天| 性色99| 婷婷综合伊人丁香| 色婷亚洲| site:feetmall.com| 思思久日精品视频| 大香蕉院线| 婷婷色成人| 丁香五月停停av| 色女伊人| 六月婷婷开心| 亚洲AV网站在线观看| 狠狠操狠狠操| 九九婷婷综合| 99玖玖免费视频| 播播网色播播| 99无码| 内射综合网| 性色五月天| 婷婷亚洲天堂| 久久97久久99久久综合欧美| 欧美精品在线观看| 亚洲精品另类| 人妻操日日| 91综合国免费久入| 任你草| 男人综合网| 婷婷五月天成人影片| 天天干天干| 99热这里只有精品99| 久久婷色| 五月色网| 五月婷护士| 光棍影院日韩精品| 国产超碰在线| 欧美99热| 久久99热这里只有精品| 九热免费视频| www.色婷婷| 欧美婷婷丁香社区在线播放| 亚洲一区二区无遮挡A片| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | www.日本91| www.yw尤物| 亚洲成色综合网站免费观看| 色噜噜狠狠插综合| 91色在线 | 日韩| 丁香六月啪| 99久操视频| 久久五月激情综合| 梁铮版《蜘蛛女侠》在线 | 99re在线视频| 午夜天堂一区人妻| 五月婷色丁香| 国产中文亚洲欧美日韩性交| 婷婷五月天人妻| 五月婷婷熟女| 99热免费| 久久久久网站| 熟女重口味αV| 五月丁香综合影院| 4399亚洲视频| 九九热这里只有精品9| 久久sp免费视频| 久热精品视频在线观| 欧美色爱五月天| 婷婷99| 六月婷婷AV| 色八月婷婷| 26uuu欧美| 中国女人做爰A片| 日韩av在线免费观看| 久久er九九| 婷婷精品在线| 亚洲婷婷性爱| 天天做天天爱天天日| 婷婷五月亚洲一本在线丁香| 成人精品视频99在线观看免费| 中文字幕成人日韩| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 五月五月婷婷| 亚洲、热| 精品久久久人妻| 玖玖色资源| 久香草视频在线观看| 丁香六月激情| 香蕉乱插| 色色色色色网站| 五月天综合在线| 日本不卡中文字幕| 婷婷丁香五月综合网上| 97在线观视频免费观看 | 五月天婷婷免费| 79色色色色| 91色色五月天| 丁香九月婷婷| 五月丁香性爱| 婷综合六月| 五月丁香基地| 92久久精品一区二区| 天天操天天爱天天日| 五月丁香婷婷免费视频| 高清av在线国产| 婷婷丁香六月激情综合| 国产超碰在线| 日韩成人av在线| 97资源欧美日韩大香蕉超碰一区| .肏屄视频一区二区| 天天色天天爱天天爽| 婷婷六月久久综合导航| 99在线热视频| 丁香六月婷婷久久综合| 日本玖玖在线| 亚洲人成人五月天| 免看黄大片AA | er99免费视频在线| 伊人激情| 精品婷婷五月视| 亚洲无码99| 丁香五月自拍| 五月丁香黄色视频| 五月花综合| 五月丁香六月天| 四月婷婷五月色综合 | 香蕉久操| 五月天激情社区| 亚洲免费综合一区| 色综合天天天天做夜夜| 婷婷五月激情基地| 婷婷精品综合| 色青五月天| 久久99网| 性爱网五月天| 67194成I人在线观看线路1| 色色色色色色色色五月先| 日本久久婷婷| 五月丁香猫咪久久婷婷综合视频激情四射网入口| 99久精品视频| 99re这里只有精品99| 九九热婷婷| 玖玖色综合| 无码少妇高潮喷水A片免费| 日本狠狠爽| 碰99在线| 激情五月天小说| 超碰在线9| 中文字幕av在线| 色久婷婷五月| 日本久久天堂| 激情五月六月婷婷综合啪啪| 玖玖99婷婷| 五月婷婷六月丁香综合在线| www.91在线观看| 美日韩成人| 丁香激情六月天婷婷| 3p九色在线| 亚洲精品在线视频| 伊人久久激情图区五月| 疯狂做受XXXX高潮A片动画| 狠狠插日日干撸| 色一情一乱一乱一区9| www.zbzhongsen.com| 丁香五月 综合| 91主播在线| 91精品综合久久久久久五月丁香| 五月婷婷中文字幕| 日本人妻伦在线中文字幕| 丁香婷婷久久综合在线| 五月丁香六月成人| 天天干,天天日| 婷婷六月情| 久久狠狠干| 久久婷婷五月天激情新地址| 五月丁香综合网| 色综合夜夜| 天天日P天天射P| 欧美精品啪啪| 丁香五月在线视频黑人| 天天操天天国产三级片处女学生妹| 天天在线XXX| 亚洲婷婷月丁香五月| www.韩日视频| 九九在线精点品| 五月婷婷人妻| 婷婷五月亚洲激情| 丁香久久九九99| 久热这里只有| 天天操天天干天天日| 人人色人人摸人人看| av人人操| 婷婷五月天基地| 97碰碰视频| 五月丁香激情婷婷综合| 九九综合色综合| 免费色婷婷| 成年AAAA色情| 性爱激情小说AV五月丁香花| 99re6在线视频精品免费| 五月婷婷香| 怡红院院久久| www.婷婷亚洲基地| 996热re视频在线观看视频| 综合网激情| 少妇人妻人伦A片| 婷婷五月丁香六月天亚洲综合| 九九操操| 亚州操逼网| 91无码一起草| 婷婷久久综合| 丁香五月在线| 人妻精品一区二区三区| 精品怡红九九九| 久久综合九九| 丁香五月手机在线| 久久 中文 日本| 中文字幕丰满孑伦无码专区| 超碰精品在线| 夜夜干夜夜操| 色播婷婷五月天| 丁香五月激情月| 亚洲精品国产成人AV在线| 色欧美日| 婷婷大香焦| 无码激情AAAAA片-区区| 97五月天| 丁香激情久久| 久久伊人9| 亚洲欧美国产高清vA在线播放| 欧美噜一噜| 欧美毛片www| 天天综合久久| VA婷婷| 久99视频在线观看| 色色色在线观看| 4399伦理午夜| 人人操人| Aα在线免费观看| 亚洲AV日韩在线观看| 成人超碰网| 婷婷香蕉精品| 国产成人精品一区二三区熟女在线 | www..999热久| 成人五月天丁香| 日本免费91| 99热在线资源| 成人av在线网站| 超碰在线免费9| 激情四射网| 91在线资源| 99在线爽| 色色九九五月天 | www天天爽| 色丁香五月综合网| 精品成人无码A片观看香草视频| 26UUU在线观看| 丁香五月婷婷亚洲综合精品在线| 五月婷婷在线网站| 六月丁香成人网| www夜夜操com| 天天爱天天狠天天透| 婷婷色情小说| 五月丁香中文| www.五月天色色.com| 五月停停999| 97碰碰叉| 五月五丁香婷婷| 婷婷五月天少妇| 激情综合色婷婷啪啪六月天| 五月开心婷婷| 丁香狠狠色婷婷久久无码视频| 色综合色欲综合天天免费| 九玖欧洲亚洲| 久久久天天啊| www,色婷婷| 狠狠操狠狠| 婷婷五月激情欧美大胆视频| 无码AV大香线蕉伊人| 五月婷婷六月丁香玖玖玫瑰91| 五月婷网| 激情美女五月天| 五月丁香花激情综合网| 久久久久久人妻久久久久久久久久人妻久久久 | 99热 在线播放| 日本久久精品| 久久视频婷婷视频| 五月婷婷六月丁香在线| 欧美人妻一区二区| 免费观看18视频网站| 五月综合激情图片| 大香蕉五月天婷婷| 无码网| 激情五婷网| 亚洲天天| 95精品区一区二| 国产老熟妇亲子乱对白| 色五月开心五月激情五月| 99热日韩| se99视频| 亚洲婷婷性爱| 超碰人人艹| 色人妻五月| 99玖玖在线视频| 日韩精品无码一区二区| 久久视频婷婷| 亚洲va日| 天天透天天爱| 图片区 小说区 区 亚洲五月 | 99热最新| 超碰在线个人观看| 超碰三级秋霞| 亚洲激情免费视频观看| 丁香婷婷激情| 婷婷丁香五月激情密臀av| 丁香婷婷激情综合五月激情| 最新丁香六月婷婷| 色吧综合网| 伊人超碰在线| 婷婷六月色丁香视频在线观看| 婷婷成年人免费视频| AV性爱网| 亚洲综合另类| 丁香婷婷老司机久操| 综合啪啪| 五月亭亭直播| 亚洲宗合激情| www久久99| 中文av网站| 99久久婷婷国产综合精品电影| 日韩av在线免费观看| 丁香五月婷婷综合网| www超碰| 五月天社区婷婷丁香社区| 中文字幕 久久9999| 9久久精品| 亚洲性视频| 欧美日韩一区二区三区四区| 中文字幕乱码亚洲精品一区| 五月丁香激情综合六月涩涩爱| 婷婷色成人| 91打屁股免费看| 天天看A片| 婷婷玖玖五月天| 黄色AAAAAAA| 7月婷婷六月丁香| 婷婷综合精品| 色蜜婷婷| 五月丁香欧美综合免费视频| 在线播放中文字幕| 六月丁香婷婷综合狠狠爱夜夜爱| 99久久6| 丁香五月天操B| 丁香狠狠| 国产精品美女久久久久AV超清| 96精品久久久久久久久| 色5月丁香婷婷| 久草丁香婷婷五月天婷| 九九九九九九九热| 丰满少妇乱A片无码| 婷婷五月天Av| 丁香五月在线| 色婷婷导航| 日日噜狠狠| 天天插操| 99日这里只有精品| 婷婷综合在线网| 五月婷婷亞洲中文| 91无码色色| 婷婷色五月天综合网| 五月天激情色色| 精品婷婷五月天| 欧美交换配乱吟粗大25P| WWW色五月天| 99久久久久久www| 激情婷婷久久| 五月丁香综合| 五月丁香日本在线视频观看| 天天干夜夜谢| 九九成人高清视频|