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

ARTICLE DETAIL

資訊詳情

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

C51 Bootloader實(shí)戰(zhàn):分區(qū)、串口升級(jí)與雙備份回滾

C51 Bootloader實(shí)戰(zhàn):分區(qū)、串口升級(jí)與雙備份回滾 簡(jiǎn)介這份資源面向嵌入式開發(fā)初學(xué)者與8051平臺(tái)工程師聚焦C51 Bootloader的完整實(shí)現(xiàn)幫助讀者理解系統(tǒng)啟動(dòng)、固件更新與程序跳轉(zhuǎn)的核心機(jī)制。壓縮包共18個(gè)文件約17KB以C源碼、A51匯編啟動(dòng)文件、Keil工程配置與備份文件為主另含頭文件、初始化腳本及編譯生成的二進(jìn)制程序覆蓋從復(fù)位初始化、串口數(shù)據(jù)傳輸、校驗(yàn)和驗(yàn)證到跳轉(zhuǎn)執(zhí)行的完整鏈路。其中BOOT.C承載引導(dǎo)核心邏輯EXT.C負(fù)責(zé)外部存儲(chǔ)器交互JUMPTAB.C實(shí)現(xiàn)跳轉(zhuǎn)表STARTUP.A51等匯編文件完成堆棧與中斷向量設(shè)置工程文件則保留編譯選項(xiàng)與調(diào)試配置。目前已有1533人學(xué)習(xí)下載適合希望掌握Bootloader分層結(jié)構(gòu)、異常處理與錯(cuò)誤恢復(fù)思路的開發(fā)者參考也可作為Keil C51環(huán)境下固件升級(jí)方案的實(shí)踐模板。1. 從一次“變磚”說起C51 Bootloader 到底解決什么問題去年幫一個(gè)做工業(yè)控制的朋友救一塊板子板子用的是 STC8 系列單片機(jī)程序跑飛之后 ISP 下載口被用戶代碼占用了現(xiàn)場(chǎng)沒有專用編程器只能拆下來上編程座。那次之后我就下定決心凡是量產(chǎn)的 C51 板子必須留一條“后悔藥”通道——這就是 Bootloader 存在的意義。它本質(zhì)上是一段先于用戶程序運(yùn)行的小代碼負(fù)責(zé)判斷“要不要升級(jí)”“從哪拿新固件”“怎么把新固件寫進(jìn) Flash”寫完之后再跳轉(zhuǎn)到真正的應(yīng)用入口。對(duì) C51 這種資源緊張的平臺(tái)來說Bootloader 不是可選項(xiàng)而是產(chǎn)品能不能遠(yuǎn)程維護(hù)、能不能現(xiàn)場(chǎng)救磚的分水嶺。適合誰看手上有 8051 內(nèi)核板子、需要做串口升級(jí)或 OTA 的嵌入式工程師以及被“程序燒錯(cuò)就得拆機(jī)”折磨過的同行。下面我按自己實(shí)際落地的順序把選型、分區(qū)、通信、跳轉(zhuǎn)和踩坑一次講透。2. 存儲(chǔ)分區(qū)與中斷向量C51 Bootloader 的地基怎么打C51 的 Bootloader 和 ARM 平臺(tái)最大的區(qū)別在于它沒有統(tǒng)一的中斷向量表重定位機(jī)制也沒有現(xiàn)成的鏈接腳本概念。Keil C51 的代碼空間是 64KB 線性尋址中斷向量固定在低地址所以 Bootloader 和 App 誰占低地址誰就得負(fù)責(zé)“讓出”中斷。這一章先把分區(qū)和向量這兩件事講清楚不然后面跳轉(zhuǎn)一定翻車。2.1 為什么 Bootloader 必須放在 0x00008051 復(fù)位后 PC 強(qiáng)制指向 0x0000這是硬件行為改不了。所以 Bootloader 的復(fù)位入口必須在 0x0000中斷向量區(qū)0x0003、0x000B、0x0013 等也天然落在 Bootloader 的地址范圍內(nèi)。常見做法是把 Bootloader 放在 0x0000~0x0FFF4KBApp 從 0x1000 開始。這樣分區(qū)的好處是Bootloader 永遠(yuǎn)占據(jù)復(fù)位和中斷入口App 即使跑飛只要復(fù)位就能回到 Bootloader 的判定邏輯。但這里有個(gè)關(guān)鍵矛盾App 自己也要用中斷。如果 App 的中斷向量還在 0x0003那中斷實(shí)際會(huì)跳進(jìn) Bootloader 的向量區(qū)。解決辦法有兩種我一般用第一種向量重映射Bootloader 在每個(gè)中斷向量處放一條跳轉(zhuǎn)指令跳到 App 對(duì)應(yīng)的中斷服務(wù)函數(shù)地址。App 編譯時(shí)把中斷函數(shù)地址固定到約定位置Bootloader 啟動(dòng)時(shí)讀取并填入跳轉(zhuǎn)。App 禁用中斷向量App 不使用標(biāo)準(zhǔn)中斷改用輪詢。這種方式簡(jiǎn)單但犧牲實(shí)時(shí)性只適合低速場(chǎng)景。下面是我常用的 Bootloader 向量跳轉(zhuǎn)寫法用匯編嵌入 C 文件// boot_vector.c // Bootloader 中斷向量跳轉(zhuǎn)表放在 0x0000 起始 // 每個(gè)向量 8 字節(jié)空間足夠放 LJMP #include reg52.h // App 中斷服務(wù)函數(shù)地址由 App 編譯后固定這里用宏占位 #define APP_TIMER0_ISR 0x2100 #define APP_UART_ISR 0x2200 #define APP_EXT0_ISR 0x2300 void boot_entry(void) __interrupt 0 __using 0 { // 復(fù)位入口實(shí)際由啟動(dòng)代碼跳到這里 // 這里只做最簡(jiǎn)初始化然后進(jìn)入主判定 }上面這段只是示意向量占位真正讓向量跳轉(zhuǎn)生效需要在 Bootloader 的啟動(dòng)匯編里顯式寫 LJMP。更穩(wěn)妥的做法是Bootloader 不實(shí)現(xiàn)任何中斷服務(wù)只保留向量地址App 編譯時(shí)把中斷函數(shù)放到固定地址Bootloader 啟動(dòng)時(shí)把 App 的向量地址寫入自己的向量表。參數(shù)上要注意Keil C51 的__interrupt編號(hào)和向量地址是綁定的改不了所以 App 的中斷函數(shù)必須用同樣的編號(hào)只是地址被重定位。2.2 分區(qū)大小怎么定4KB 還是 8KB分區(qū)大小直接決定 Bootloader 能塞多少功能。我做過統(tǒng)計(jì)一個(gè)帶串口協(xié)議解析、Flash 擦寫、CRC 校驗(yàn)、超時(shí)重試的 Bootloader用 Keil C51 編譯出來大約 3.2KB~3.8KB。如果再加個(gè)簡(jiǎn)易菜單或雙備份切換很容易超過 4KB。所以我的建議是功能集典型代碼量建議分區(qū)僅串口接收Flash寫1.5~2KB2KB加 CRC16超時(shí)重試2.5~3KB4KB加雙備份版本回滾4~5KB8KB加加密校驗(yàn)5~6KB8KB 或 12KB注意C51 的 Flash 擦寫是以扇區(qū)為單位的不同芯片扇區(qū)大小不一樣。比如某些 STC 芯片扇區(qū)是 512 字節(jié)而有些增強(qiáng)型 8051 是 1KB。分區(qū)起始地址必須對(duì)齊到扇區(qū)邊界否則擦除時(shí)會(huì)誤傷相鄰區(qū)域。我一般會(huì)在 Bootloader 里加一條編譯期斷言// 確保 App 起始地址按扇區(qū)對(duì)齊 #define FLASH_SECTOR_SIZE 512 #define APP_START_ADDR 0x1000 #if (APP_START_ADDR % FLASH_SECTOR_SIZE) ! 0 #error APP_START_ADDR not aligned to flash sector! #endif這條斷言看起來簡(jiǎn)單但能擋住很多“改地址改出玄學(xué)”的問題。參數(shù)說明FLASH_SECTOR_SIZE要查具體芯片手冊(cè)APP_START_ADDR要和 Keil 的 Code Range 設(shè)置一致否則編譯出來的 App 入口和 Bootloader 跳轉(zhuǎn)地址對(duì)不上現(xiàn)象就是跳過去直接死機(jī)。2.3 Keil 工程怎么配Code Range 與中斷向量偏移Bootloader 和 App 是兩個(gè)獨(dú)立工程App 工程必須把代碼起始地址改到分區(qū)地址。在 Keil 里操作路徑是Options for Target → Target → Code Range把起始地址從 0x0000 改成 0x1000。同時(shí)Off-chip Code memory 的起始地址也要對(duì)應(yīng)調(diào)整。這一步不做App 編譯出來還是從 0x0000 開始和 Bootloader 完全重疊燒進(jìn)去必炸。還有一個(gè)容易忽略的點(diǎn)App 的啟動(dòng)代碼STARTUP.A51里會(huì)初始化中斷向量如果 App 用了中斷這些向量會(huì)被寫到 0x0003 等低地址覆蓋 Bootloader 的向量區(qū)。解決辦法是在 App 的STARTUP.A51里把中斷向量初始化關(guān)掉或者把向量地址改到 App 自己的區(qū)域。我一般直接在 App 里禁用標(biāo)準(zhǔn)中斷向量初始化改用 Bootloader 提供的跳轉(zhuǎn)機(jī)制。; App 的 STARTUP.A51 片段 ; 禁用中斷向量初始化避免覆蓋 Bootloader 向量區(qū) ; 將 IDATALEN 和 XDATALEN 保留只跳過向量寫入 ?C_STARTUP: ; 原有啟動(dòng)代碼... ; 注釋掉中斷向量初始化部分 ; MOV R0, #0x03 ; ...這段匯編不是讓讀者照抄而是說明一個(gè)原則App 的啟動(dòng)代碼不能碰低地址向量區(qū)。具體改法要看芯片和編譯器版本但思路是一致的——把向量控制權(quán)留給 Bootloader。3. 串口通信協(xié)議與 Flash 寫入Bootloader 的雙手分區(qū)和向量搞定之后Bootloader 要干兩件事從串口收數(shù)據(jù)往 Flash 寫數(shù)據(jù)。這兩件事看起來簡(jiǎn)單但 C51 的串口沒有 DMAFlash 寫入又必須按扇區(qū)擦除中間任何一個(gè)環(huán)節(jié)沒處理好升級(jí)就會(huì)卡死。這一章把協(xié)議幀格式、接收狀態(tài)機(jī)、Flash 操作時(shí)序拆開講。3.1 幀格式設(shè)計(jì)為什么我不用純文本協(xié)議很多教程用純文本協(xié)議做 Bootloader比如收到 START 就開始升級(jí)。這種方式在實(shí)驗(yàn)室能用但現(xiàn)場(chǎng)干擾一大就翻車。我一般用二進(jìn)制幀帶幀頭、長(zhǎng)度、命令、數(shù)據(jù)和 CRC。幀格式如下字段長(zhǎng)度說明幀頭2B固定 0xAA 0x55長(zhǎng)度1B數(shù)據(jù)段長(zhǎng)度不含幀頭幀尾命令1B0x01 握手0x02 數(shù)據(jù)0x03 結(jié)束0x04 重傳數(shù)據(jù)N B最大 128B減少 RAM 占用CRC162B從長(zhǎng)度到數(shù)據(jù)的校驗(yàn)幀尾1B固定 0x0D為什么數(shù)據(jù)段最大 128B因?yàn)?C51 的 RAM 通常只有 256B~1KBBootloader 還要留出棧空間和變量空間。128B 的緩沖區(qū)已經(jīng)占了不少再大就容易棧溢出。CRC16 用查表法還是計(jì)算法我一般用計(jì)算法省 Flash 空間速度對(duì) 8051 來說也夠用。// 幀解析狀態(tài)機(jī)逐字節(jié)喂入 typedef enum { STATE_HEAD1, STATE_HEAD2, STATE_LEN, STATE_CMD, STATE_DATA, STATE_CRC1, STATE_CRC2 } rx_state_t; static rx_state_t state STATE_HEAD1; static uint8_t buf[128]; static uint8_t idx 0; static uint8_t len 0; static uint8_t cmd 0; void rx_byte(uint8_t byte) { switch (state) { case STATE_HEAD1: if (byte 0xAA) state STATE_HEAD2; break; case STATE_HEAD2: state (byte 0x55) ? STATE_LEN : STATE_HEAD1; break; case STATE_LEN: len byte; if (len 128) { state STATE_HEAD1; break; } idx 0; state STATE_CMD; break; case STATE_CMD: cmd byte; state (len 0) ? STATE_DATA : STATE_CRC1; break; case STATE_DATA: buf[idx] byte; if (idx len) state STATE_CRC1; break; case STATE_CRC1: crc_low byte; state STATE_CRC2; break; case STATE_CRC2: crc_high byte; // 校驗(yàn)并處理 if (check_crc(cmd, buf, len, crc_low, crc_high)) { handle_frame(cmd, buf, len); } state STATE_HEAD1; break; } }邏輯說明狀態(tài)機(jī)逐字節(jié)推進(jìn)不阻塞主循環(huán)。參數(shù)說明buf大小要和協(xié)議最大數(shù)據(jù)段一致len超過 128 直接丟棄防止緩沖區(qū)溢出。handle_frame里根據(jù)命令做握手、寫數(shù)據(jù)或結(jié)束升級(jí)。注意CRC 校驗(yàn)失敗時(shí)不要直接復(fù)位狀態(tài)機(jī)而是發(fā)一個(gè)重傳請(qǐng)求讓上位機(jī)重發(fā)當(dāng)前幀這樣能提高弱信號(hào)下的升級(jí)成功率。3.2 Flash 擦寫時(shí)序別在中斷里寫 FlashC51 的 Flash 寫入通常需要按扇區(qū)擦除而且擦寫期間 CPU 可能無法取指。不同芯片行為不一樣有的芯片擦寫時(shí) CPU 會(huì)暫停有的需要把代碼搬到 RAM 里執(zhí)行。我踩過最狠的一次坑是在串口中斷里直接調(diào)用 Flash 寫函數(shù)結(jié)果擦除期間中斷丟失上位機(jī)以為超時(shí)反復(fù)重發(fā)最后 Flash 被寫壞。正確做法是串口中斷只負(fù)責(zé)收字節(jié)和填緩沖區(qū)主循環(huán)檢測(cè)到完整幀后關(guān)中斷執(zhí)行 Flash 擦寫寫完再開中斷。擦寫函數(shù)本身要放在 RAM 里執(zhí)行或者確認(rèn)芯片支持 Flash 擦寫期間取指。// Flash 擦寫函數(shù)放在 RAM 中執(zhí)行 // 使用 Keil 的 __ram 關(guān)鍵字或手動(dòng)拷貝到 RAM void flash_erase_sector(uint16_t addr) __ram { // 關(guān)中斷防止擦寫期間中斷丟失 EA 0; // 解鎖 Flash 控制寄存器 FLASH_CR 0x01; // 寫入扇區(qū)地址 FLASH_ADDR addr; // 觸發(fā)擦除 FLASH_CR | 0x02; // 等待完成 while (FLASH_CR 0x02); // 上鎖 FLASH_CR 0x00; EA 1; }參數(shù)說明addr必須是扇區(qū)對(duì)齊地址FLASH_CR和FLASH_ADDR是芯片特定寄存器不同廠家名字不一樣。__ram關(guān)鍵字不是所有編譯器都支持如果不支持需要手動(dòng)把函數(shù)拷貝到 RAM 執(zhí)行。注意擦除前一定要確認(rèn)目標(biāo)地址在 App 分區(qū)內(nèi)別把 Bootloader 自己擦了那就真成磚了。3.3 升級(jí)流程握手、傳輸、校驗(yàn)、跳轉(zhuǎn)完整的升級(jí)流程我一般分四步握手上位機(jī)發(fā)握手幀Bootloader 回復(fù)版本號(hào)和分區(qū)信息。如果 App 已經(jīng)在運(yùn)行需要先發(fā)一個(gè)“進(jìn)入升級(jí)”命令Bootloader 收到后復(fù)位或跳回自身。傳輸上位機(jī)按幀發(fā)送固件數(shù)據(jù)每幀帶地址偏移。Bootloader 收到后先擦除對(duì)應(yīng)扇區(qū)再寫入。寫入失敗發(fā)重傳請(qǐng)求。校驗(yàn)全部發(fā)完后上位機(jī)發(fā)結(jié)束幀帶整包 CRC 或哈希。Bootloader 讀回 Flash 計(jì)算校驗(yàn)比對(duì)成功則標(biāo)記升級(jí)完成。跳轉(zhuǎn)校驗(yàn)通過后Bootloader 跳轉(zhuǎn)到 App 入口。跳轉(zhuǎn)前要關(guān)中斷、復(fù)位外設(shè)、設(shè)置棧指針。// 跳轉(zhuǎn)到 App 入口 void jump_to_app(uint16_t app_addr) { // 關(guān)總中斷 EA 0; // 關(guān)閉外設(shè)避免 App 初始化沖突 // 具體外設(shè)根據(jù)芯片而定 // 設(shè)置棧指針到 App 約定位置 SP *(uint8_t *)(app_addr 1); // 跳轉(zhuǎn) ((void (code *)(void))app_addr)(); }邏輯說明跳轉(zhuǎn)前關(guān)中斷是必須的否則 App 還沒初始化完就來了中斷向量指向 Bootloader直接跑飛。參數(shù)說明app_addr是 App 入口地址通常是分區(qū)起始地址加 3跳過 LJMP 指令。棧指針設(shè)置要看 App 的約定有的 App 自己會(huì)初始化棧那就不用設(shè)。跳轉(zhuǎn)函數(shù)用函數(shù)指針實(shí)現(xiàn)注意 Keil C51 的函數(shù)指針要加code關(guān)鍵字否則會(huì)當(dāng)成 data 指針跳轉(zhuǎn)地址錯(cuò)誤。4. 避坑與排查那些讓我熬夜的 Bootloader 問題Bootloader 的坑大多不在代碼邏輯而在芯片行為、編譯器設(shè)置和時(shí)序配合上。這一章列 5 條我實(shí)際踩過的坑每條按現(xiàn)象、原因、解決寫希望能幫你省幾個(gè)通宵。4.1 現(xiàn)象跳轉(zhuǎn)后死機(jī)復(fù)位才能恢復(fù)原因App 的中斷向量沒有正確重定位中斷發(fā)生時(shí) PC 跳回 Bootloader 的向量區(qū)但 Bootloader 已經(jīng)不再處理中斷導(dǎo)致跑飛?;蛘咛D(zhuǎn)前沒有關(guān)中斷App 初始化過程中來了中斷。解決跳轉(zhuǎn)前執(zhí)行EA 0并確認(rèn) App 的中斷向量已經(jīng)重定位到 App 自己的區(qū)域。如果 App 不使用中斷在 App 啟動(dòng)代碼里徹底禁用中斷向量初始化。4.2 現(xiàn)象Flash 寫入后讀回?cái)?shù)據(jù)不一致原因Flash 擦除不徹底或者寫入時(shí)序不滿足芯片要求。有些芯片要求擦除后延時(shí)一段時(shí)間才能寫入有些要求寫入前先解鎖。解決查芯片手冊(cè)確認(rèn)擦寫時(shí)序在擦除和寫入之間加適當(dāng)延時(shí)。寫入后立即讀回校驗(yàn)不一致則重試。注意Flash 寫入次數(shù)有限重試次數(shù)不要太多一般 3 次足夠。4.3 現(xiàn)象串口接收丟幀升級(jí)到一半卡死原因串口中斷優(yōu)先級(jí)太低或者接收緩沖區(qū)太小高速傳輸時(shí)溢出。C51 的串口沒有硬件 FIFO全靠軟件緩沖。解決提高串口中斷優(yōu)先級(jí)增大接收緩沖區(qū)。如果 RAM 不夠用環(huán)形緩沖區(qū)邊收邊處理。另外上位機(jī)發(fā)送速率要匹配 Bootloader 的處理能力我一般用 9600 或 19200穩(wěn)定優(yōu)先。4.4 現(xiàn)象App 編譯出來大小超過分區(qū)燒錄后 Bootloader 被覆蓋原因Keil 的 Code Range 設(shè)置和 Bootloader 分區(qū)不一致或者 App 鏈接時(shí)沒有限制代碼范圍。解決在 App 工程的 Linker 設(shè)置里限制 Code Range并在編譯后檢查生成的 HEX 文件大小。我一般會(huì)在 Bootloader 里加一條檢查如果 App 大小超過分區(qū)拒絕跳轉(zhuǎn)并報(bào)錯(cuò)。4.5 現(xiàn)象升級(jí)完成后 App 運(yùn)行正常但重啟又回到 Bootloader原因Bootloader 的升級(jí)完成標(biāo)志沒有正確寫入或者標(biāo)志存儲(chǔ)位置被 App 擦除。常見做法是把標(biāo)志存在 Flash 的特定地址但 App 的擦寫操作可能覆蓋這個(gè)地址。解決把升級(jí)標(biāo)志存在獨(dú)立的 EEPROM 或 Flash 保留扇區(qū)App 不碰這個(gè)區(qū)域。Bootloader 每次啟動(dòng)先讀標(biāo)志決定是否跳轉(zhuǎn)。標(biāo)志寫入后要校驗(yàn)確保掉電不丟失。5. 進(jìn)階技巧雙備份與版本回滾的輕量實(shí)現(xiàn)單備份 Bootloader 最大的風(fēng)險(xiǎn)是升級(jí)過程中斷電App 被擦了一半既跑不了新固件也回不到舊固件。我在一個(gè)工業(yè)項(xiàng)目里被這個(gè)問題坑過現(xiàn)場(chǎng)斷電導(dǎo)致 20 多塊板子返修。后來我加了一套輕量雙備份機(jī)制不需要外部存儲(chǔ)只用芯片內(nèi)部 Flash 的兩個(gè)分區(qū)。思路很簡(jiǎn)單把 App 區(qū)分成 A 區(qū)和 B 區(qū)Bootloader 記錄當(dāng)前運(yùn)行區(qū)和升級(jí)目標(biāo)區(qū)。升級(jí)時(shí)寫目標(biāo)區(qū)寫完后校驗(yàn)校驗(yàn)通過則切換運(yùn)行區(qū)失敗則保留原區(qū)。版本回滾就是切換回原區(qū)。具體實(shí)現(xiàn)區(qū)域地址范圍用途Bootloader0x0000~0x0FFF引導(dǎo)與升級(jí)邏輯標(biāo)志區(qū)0x1000~0x10FF當(dāng)前區(qū)、目標(biāo)區(qū)、版本號(hào)、CRCApp A0x1100~0x8FFF固件備份 AApp B0x9000~0xFFFF固件備份 B標(biāo)志區(qū)用一個(gè)扇區(qū)存一個(gè)結(jié)構(gòu)體帶 CRC 校驗(yàn)。每次升級(jí)前先寫標(biāo)志區(qū)標(biāo)記目標(biāo)區(qū)升級(jí)完成后更新當(dāng)前區(qū)。Bootloader 啟動(dòng)時(shí)讀標(biāo)志區(qū)決定跳轉(zhuǎn)到 A 還是 B。// 標(biāo)志區(qū)結(jié)構(gòu)體 typedef struct { uint8_t magic[4]; // 固定 0x42 0x4F 0x4F 0x54 uint8_t current; // 0A, 1B uint8_t target; // 0A, 1B uint16_t version; // 版本號(hào) uint16_t crc; // 結(jié)構(gòu)體 CRC } boot_flag_t; // 讀取標(biāo)志區(qū)校驗(yàn)失敗則使用默認(rèn)值 void load_flag(boot_flag_t *flag) { memcpy(flag, (void code *)FLAG_ADDR, sizeof(boot_flag_t)); if (flag-magic[0] ! 0x42 || flag-magic[1] ! 0x4F || flag-magic[2] ! 0x4F || flag-magic[3] ! 0x54 || calc_crc(flag, sizeof(boot_flag_t) - 2) ! flag-crc) { // 標(biāo)志區(qū)損壞使用默認(rèn)值 flag-current 0; flag-target 0; flag-version 0; } }參數(shù)說明FLAG_ADDR是標(biāo)志區(qū)起始地址要和分區(qū)表一致。magic用于識(shí)別標(biāo)志區(qū)是否已初始化。crc校驗(yàn)整個(gè)結(jié)構(gòu)體防止掉電寫壞。注意標(biāo)志區(qū)寫入前要先擦除整個(gè)扇區(qū)寫入后立即讀回校驗(yàn)。如果標(biāo)志區(qū)損壞Bootloader 要能回退到默認(rèn)區(qū)不能直接死機(jī)。雙備份的代價(jià)是 Flash 利用率降低App 最大不能超過單個(gè)分區(qū)大小。但對(duì)工業(yè)產(chǎn)品來說可靠性比空間更重要。我一般會(huì)在 Bootloader 里加一個(gè)“強(qiáng)制回滾”命令現(xiàn)場(chǎng)調(diào)試時(shí)可以通過串口切回舊版本不用拆機(jī)。從那以后我每次做 C51 Bootloader都會(huì)先把分區(qū)表、向量跳轉(zhuǎn)、Flash 時(shí)序這三件事在紙上畫一遍再動(dòng)手寫代碼。跳轉(zhuǎn)前關(guān)中斷、擦寫前查扇區(qū)、標(biāo)志區(qū)加 CRC這三個(gè)習(xí)慣幫我省了至少三次返修。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧州婷婷五月天综合| 香蕉五月婷婷| 大学生高潮无套内谢视频| 久久综合丁香| 婷婷九月在线| www.五月.com| 凹凸操Av| 婷婷色情小说| 色五月丁香激情| 激情婷婷丁香五月天小说| 伊人9在线| 婷婷天天五月天| 成人做爰高潮A片免费视频| 香蕉久久国产AV一区二区| 99热这里只有精品22| 99热这里只有精品2024| 五月色情网| 99re这里只有精品99| 在线观看996精品| 九九热99久久99| 色婷丁香91| 99热官网| 内射爽无广熟女亚洲| 五月丁香婷婷啪啪| 色五月首页| 五月天婷婷久久| 日韩在线五月天婷婷| 欧美另类五月激情| 天天爽人人爽| 天天肏在线观看| 狠狠色噜噜狠狠亚洲A∨| 一二线视频 另类| 中文幕无线码中文字蜜桃| 色99网| 五月丁香啪啪综合| 亚洲成人AV在线观看| 婷婷社区五月天| 看国产探花操逼三级片| 亚洲成人黄色网| 色情五月天A片| 思思综合热| 丁香五月天殴美激情| 蜜臀av无码久久久久久久久| 99热九九这里只有精品10| 密黄站| 开心五月婷婷五月| 六月色日韩| 婷婷六月丁香激情| 亚洲另类婷婷五月丁香在线播放| 26UUU| 免费AV播放| 五月婷婷久久综合| 日本va欧美va欧美va精品| 超碰免费成人| 婷婷八月激情| 五月天播播综合| 五月丁香婷婷AV天堂| 激情深爱婷婷网| 激情深爱综合| 亚洲精品小视频| 激情综合网亚洲色图| www.狠狠干| 色五月在线| 久久成人性爱| 欧美性爱5月天天天看| 婷婷日日天天| 久久五月天色| 国产九九一区二区三区| 激情五月天视频| 五月天精品视频| 亚洲第一第二网站| 99精品在线观看| 97色吧| 99国产精品白浆在线观看免费| www.丁香五月| 五月Huangsewang| 天天插操| 久99久视频精选| 五月天丁香综合在线| 婷婷色色欧美| 97操在线视频| 亚洲精品操一操、噜一噜、摸一摸、爽 | 丁香五月亚洲综合| 婷婷七月丁香色色| 亚州精品色情无码A片| 思思视频久久| 天天添天天摸天天天天做| 久噜久噜| 久久久久人妻| 婷婷五月色情天| 综合激情五月丁香| 婷婷成人五月天| 国产肥白大熟妇BBBB视频| 久综合4| 男人的天堂在线婷婷| 91操在线| 91人人操人人| 天天成人综合| 狠狠色综合久久| 成年人最刺激的综合网| 日韩成人精品中文字幕| 99国产精品白浆在线观看免费 | 五月综合六月丁| 久热视频这里只有精品| 99热资源在线| 97色色色| 97热91| 久久久9久| 碰碰碰91| 色 免费网站视频| 天天网站天天爽| 丁香色五月婷婷91桃色| 激情五月婷黄版| 99人人干| 精品成人在线| 丁香五月综合无码趴趴| 婷婷五月天国产精品| 国产阿姨日皮艹逼内射视频| 婷婷五月天亚洲综合| 欧美婷婷精品激情| 伊人久久婷婷| 成人精品视频99在线观看免费| 婷婷丁香五月天激情四射| 五月激情综合性爱| 久久网站免费亚洲| 在线可以看的av网址| 色日本综合| 色综合99| 美女被操一区二区| 91avse| 丁香六月婷婷综合色| www.com操| 五月天亭亭俺也| 久久婷婷综| 蜜桃人妻无码AV天堂三区| 婷婷五月久久| 五月综合激情| 五月丁香久久综合精品| 免费看成人747474九号视频在线观看| 狠狠操狠狠| 91呦呦呦| 色婷婷综合久久久久| 五月激情精品视频| 五月婷婷在线免费| 五月天婷婷社区| 亚洲三A| 美国天天操无码| 日韩成人精品中文字幕| 伊人久久五月天| 狼人婷婷综合| 久99999热视频在线观看免费| 狠狠色网| 婷婷五月天.com| 久久丁香五月婷| 丁香五月婷婷啪啪啪| 国产欧美日韩综合精品一区二区| 亚洲人妻电影| 日本的α片xxxwww| 99热这里只有精品在线观看| 开心五月激情网| 日韩久久日| 久久精品99| 久久96热| 天天色综网| 美女婷婷激情亚洲| 五月丁香激情综合| 思思热在线播放| 国产99热| 97在线天堂| 99ri在线视频| 婷婷综合色播网| 狠狠色婷婷7777久| 丁香五月天社区婷婷| 久操人妻| 五月丁香黄色视频| 天天天天干| 五月天怕怕| 五月丁香网av| 色播五月综合网| 国产精品人成A片一区二区| 亚洲色色五月| 九九热这里只有精品12| 少妇高潮一区二区三区99欧美| 婷婷五月花.97| 婷婷色九月| 亚洲中文乱字字幕线在永久| 色情五月综合婷婷| 伊人大蕉香| 深爱五月激情综合| 丁香婷婷色九月| AA片在线观看视频在线播放| 婷婷综合色色| 婷婷综合网| 丁香六月激情| 五月天丁香成人| 丁香花五月天| 中文字幕在线免费观看视频| 亚洲av成人一区二区电影在线| 久热只有这里有精品| 五月开心激情| 另类在线免费视频| 久久精品色| 97热这里只有精品| 欧美午夜乱妇午夜福利| 综合激情婷婷| 亚洲另类视频| 免看黄大片AA | 日韩成人中文字幕| 青青草成人网| 色色色com| www.久久99| 激情五月天小说| 丁香婷婷色五月| 色色狼人综合| 欧美婷婷精品激情| 九月激情婷婷丁香| 激情五月天激情网| 无码啪啪| 丁香五月天激情四射网络不好| www久久五月com| 99九九在线视频| 亚洲综合五月天婷婷| 久碰视频| 玖玖婷婷色五月| 激情综合九| 夜夜涩涩涩| 殴美日比视频| 婷婷五月天AV在线| www.99热视频| 久久久高清| 久久性爱视频免费| 91精品综合久久久久久五月丁香| 五月久久网| 我要看激情五月天| 狠狠精品干练久久久无码中文字幕 | 九九久久久综合| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 一二三区视频韩国| 激情五月综合| 久婷婷| 久久九九色| 雪千夏麻豆| 久er7久热| 99日本在线| www.激情五月天.com| 五月激情偷拍婷婷| www.五月天| 婷婷五月天久久久| 天堂久久婷婷| 99精品97| 色综合久久五月天| 亚洲视频在线网| 79色色免费| 丁香五月综合| 五月丁香亚洲校园欧美| 91欧美日韩综合| 青996青| 日韩五月丁香| 欧亚中文A V| 六月天六月婷| 亚洲精品无AMM毛片| 伊人婷婷青青cao| 99爽视频| 久久性刺激| 99精品福利视频| 狠狠干五月| 丁香六月中文| 欧美日韩中文国产一区发布| 久久这里在精品视频| 激情综合网五月| WWW色色色COm| 丁香伊人网| 五月婷婷|欧美| 丁香五月亚综合图片| 婷婷五月色播天| 激情WWW| 大学生高潮无套内谢视频| 色情性爱视频网址| 五月天丁香| 97操操| 色色色国产| 亚洲天堂大香蕉| 五月婷婷综合在线| 免费97碰碰| 99热亚洲| www.91在线观看| 天天天干夜夜夜操| 六月婷基地| 天天操天天插| 九九人人精品| 97碰碰视频在线观看免费| 五月丁香六月婷婷久久| 六月婷婷久久| 色五月天堂| 久久婷.com| 五月天婷婷基地综合网| 色色色国产| 亚洲综合1024| 五月婷婷六月丁香| 五月天激情小说婷婷| 亚洲色视频| 色婷婷狠狠| 99精品在这里| 激情深爱综合| 大地9中文在线观看免费高清| 婷婷五月天无码熟女| 开心五月婷婷激情| 青青草蜜臀| 成人在线观看国产| 亚艹艹| 美女xx不卡| 色播五月网| 停停五月色宗合| 欧美精品18| 丁香五月婷婷天堂大香蕉| 97色色视频| 91在线日本| 99噜噜| 97色在线视频| 日韩色色视频| 婷婷婷色五月| 丁香五月狠狠在线观看| 丁香激情五月少妇| 996精品热视频| 午夜九九九九九九九九九九九九九| 五月 成人 婷婷| 99玖玖免费视频| 亚洲中文字幕av| 午夜五月天| 噜噜色五月| 69精品人人人人| 热的无码综合视频| 五月婷视频在线观看| 四月婷婷五月丁香| 97干在线视频| 亚洲综合激情五月久久| 79色色免费| 天天视频精品9| 亚洲激情五月天| 丁香六月婷婷综合欧美| 天天日夜夜拍| 五月色欧洲| 99热草草| 狠狠干综合| 久9热在线视频| 成片免费观看视频大全| 欧美综合五月丁香六月婷| 九九久久玖玖爱| 天天拍天天操| 婷婷成人综合| 尤物一区二区| 综合在线色婷婷| 色综合久久综合中文综合网| 天天干天天干天天干| 天天插轮理| 在线免费观看激情视频| 婷婷性爱网| 涩涩涩,com| 99re欧美精品| 激情五月婷婷在线观看| 99er6免费视频热播| 欧美电影在线观看| 婷婷五月天激情综合深爱激情| 成人网丁香五月| 俺去也五月天婷婷| 欧美综合激情五月| 亚洲色色五月天| 狠狠色丁香| 色小说婷婷五月天天天| 色婷婷亚洲综合av| 婷婷综合网| 五月天成人在线精品| 日韩精品VIP| 久久久精品AV| 欧美激情Va| 奇米色大香蕉| 九九久久综合| 超碰狠狠色| 五月丁香少妇| 大香蕉九九| 天天插天天插天天插| 国产美女无遮挡裸体毛片A片| 人人草人人视| 97人人射| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 99在线精品观看99| 欧美色小说婷婷| 射琪琪| 99视频自拍| 亚洲激情97五月天| 综合婷婷| 久久涩视频| 婷婷午夜激情| 久久久区区一久久久久久| 五月婷婷婷| 久久综合激情| 综合网视频| 丁香五月天啪啪| 级人人91| 97人人干| 精品A√| 9色在线| 97日本操| 欧美人妻一区二区| 99爱视频在线播放| 深爱激情网五月| 久久99jiu9| 国产欧洲欧洲精品久久| www.henhengan| 狠狠色丁香五月婷巨| 婷婷酒色网| 国产成人网| wwwwww.色| 久久婷婷成人| 精品久9| 亚洲第一成人无码A片| 色五月婷婷开心| 99干日本| 久久精品熟女亚洲AV麻豆| 99啪啪视频| 日韩操| 色五月网址| 欧美三级韩国三级日本三斤| 激情五月久久| 久久精彩免费视频| 美女主播野战视步页| 婷婷99热| 色婷婷影视99| 狠狠精品干练久久久无码中文字幕| 99ri视频在线播放| 综合综合网| 五月天社区| 91在线人| 被强行糟蹋的女人A片| 亚洲免费av在线| www.五月天婷婷姐姐| 99福利导航| 91碰人人| 性爱视频久久| 97精品欧美91久久久久久久| 蜜乳中文字| 精品色情一区二区三区四区| 久久婷婷五月天激情四射| 综合久久五| 九九热在线99| 中文成人在线| 97婷婷五月| 五月色亭丁香| 久婷| 91天堂网综合| 色色色五月天婷婷| 久久婷婷色| 六月丁香激情| 五月婷婷开心丁香| 五月天激情网图片 - 百度| 一区视频网站| 亚洲蜜乳AV| 97在线99| 99色在线视频| 天天看A片| 久久综合五月| 五月色俺婷婷| 天天摸天天舔天天爽| 玖玖爱综合网| 97精品综合久久内射| 国产成人精品一区二三区熟女在线| 9精品在线| 色婷视频| 伊人婷婷五月| 欧美丁香婷婷天天操| 五月婷婷丁香大陆免费| 91九色PORNY中文啦| 午夜69成人做爰视频| 婷婷中文字幕| www.91.com黄| 99激情视频| 色色cOm| 青草久久五月婷伊人| 第四色激情网| 国产97色在线 | 日韩| 黄色AAAAAAA| 午夜无码熟熟妇丰满人妻| 久久九九色| 99热亚洲| 久久精品系列| 五月天啪啪啪| 色五月丁香伊人五月| 亚洲XX日本| 婷婷的激情五月| 色婷婷导航| 狠狠情色| 亚洲天堂有码| 婷婷色资源| 五月天色小说| 51精品国自产在线| 大地9中文在线观看免费高清| 99精在线| 狠狠色婷婷7777久| 五月婷婷激情性爱| 影音先锋91| 久久久久er热| 婷婷五月成人系列| 日本 @ va 免费| 亚洲综合婷婷| 乱抡小BB| 狠狠狠人妻| 色A网| 综合激情伊人影视在线| 丁香五月久久| 色色婷| 丁香五月激情棕合| 玖玖午夜视频| 秋霞日本免费毛片A片| 丁香五月婷婷www..com| 久久天堂女人| 色九月丁香婷婷蜜桃在线观看| 国产在线激情视频| 91中文狠狠综合| 99ER热精品视频| 激情开心五月天| 亚洲中文字幕av| 精品乱码久久久久| 亚洲色频| 思思热在线视频精品| 91操碰| 996热| 91久久久久久久| 91精品久久久久久| 欧美成人A片AAA片在线播放 | 色色三级视频| 丁香性爱在线视频| 婷婷激情久久| 久久这里只有精品视频15| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 婷婷国产日本欧美| 婷婷综合五月天激情| 99热 在线观看| 激情小说五月丁香在线视频观看视频| eeuus五月婷| 五月激情丁香六月狠狠干| WWW·天天操·视频?| 五月天丁香啪啪综合| 五月天六月丁香| 日本女va| 六月丁香深深爱| w婷婷五月婷婷w| 亚洲小说欧美激情| 99热99干| 在线综合网| 色婷婷色99国产综合精品| 天天色天天操天天射| 色综合伊人网| 69久久99精品久久久久婷婷| 婷婷性爱影院| 五月天色丁香| 嫩BBB槡BBBB搡BBBB| 国产古装妇女野外A片| 亚洲成人AV电影在线| 99久操视频| 九月婷婷人人操人人舔人人爱| 亚洲天堂制| 日韩黄色AV无码| 久久婷婷五月综合啪| 9l视频自拍9l九色9l成人| 五月婷婷激情久久| 99久热| 夜夜人妻五月天| 天天天天天色| 色综色五月天婷婷| 五月婷婷丁香婷婷| 丁香五月另类色婷婷麻豆| 玖玖精品视频| 少妇大叫太大太粗太爽了A片| 五月天大香蕉av| www.久久99精品| 色五月婷婷五月天激情综合| 日本婷久久| 色婷婷五月天中文字幕| 五月丁香拍拍激情综合| 国产精品A片| 五月天婷婷在线AN| 91碰超| 激情五月天综合| 五月丁香激情综合| 天天日色情| 久久婷婷色综合老司机| 超碰在线9| 成久综合视频| 激情五月婷婷综合视频| 婷婷激情五月综合| 99热亚洲| 这里只有精品视频在线| 日本在线观看99| 亚洲第一影院高清无码网站| 亚洲av成人在线| 开心丁五月| 丁香五月色五月婷婷宗合| 丁香婷婷影院| 婷婷色网| 超碰日韩人妻在线| 五月间天堂综合| 婷婷色影院| 五月婷婷开心色伊人| 丁香婷婷视频一区二区| 超碰人人99| 狠狠操综合| 九九色婷婷五月天| 色色色区| 精品一二三区视频立| 这里只有精品在线免费视频| 99久久久久久www| 99精品综合| 五月丁香婷婷五月色| av第一二区| 婷婷色综合| 欧美婷| 五月天六月色| 国产精品色色| 99ri6在线视频| 五月久久婷婷丁香| 色综合久久伊伊婷婷五月| 99热6这里只有精品| 色综合网址| 99热国品| 中文久久婷婷| 色亚洲视频| 五月人妻婷婷视频| 婷婷五月天亚洲| 色无婷婷| 99自拍视频网站| 色综合五月在线| AA丁香综合激情| 99久在线精品99re8| 色99xx| 亚洲超碰在线| 婷婷丁香激情五月天色色| 亚洲成人网站在线播放| 国产毛片欧美毛片久久久| 婷婷色基地在线看 | 91久久久久久久久18| 丁香五月色激情| 丁香综合网| 秋霞影音91人妻久久| 色婷五月天| 99精品无码| 冬月かえでAV无码播放| 亚洲激情丁香五月天色| 激情五月天婷婷丁香 | 97干欧美| 亚洲六月综合激情久久下卡| 大香蕉久久久| 激情黄色小说五月天| 99在线视频播放| 在线播放人妻| 国产激情AV| 岛国av电影网站| 国产精品久久..4399| 欧美情色一区| 天天射美女| 天天操夜夜爽| 色爱亚洲| 日本少妇AA一级特黄大片| 久久久久久xxxxx| 五月花在线观看视频| 99色色| 无码九九九九| 久久996re热这里只有精品无码| 久久婷婷综合国产| 九九婷婷五月天| 婷婷天堂综合| 五月婷av| 202丰满熟女妇大| 久青操| 色婷婷在线视频综合| 美日韩成人| 天天久久婷婷| 久久黄色免费视频| 亚洲天堂大香蕉| 天天干天天日蜜臀av| 香蕉综合网| 天天综合中文| 九九在线视频| 五月天丁香网站| 深爱激情网五月天| 天天插天天插| 激情综合网址| 五月婷婷中文| 熟女少妇内射日韩亚洲| 色婷婷AAA| 噜噜噜久久亚洲精品国产品91 | 五月婷婷久久爱| 丁香五月天激情婷婷丁香六月| 色五月婷婷九月| AA片在线观看视频在线播放| 亚洲在线操| 99久久综合| 亚洲经典三级| 日本久久婷| 五月天婷久精视频| WWW嗯嗯啊啊啊啊| 草草色情综合网| 思思久久青草热| 337p午夜影院| 久久久思思热| 丁香五月天在线直播观看| 激情五月婷婷欧美极品| 八戒青柠影视剧在线观看| 婷婷五月天综合久久日美女| 欧美婷婷六月丁香综合色连续高潮抽搐| 欧美婷婷成人| 99五月香婷婷丁香在线视频| 久久66er久久| 亚洲不卡| 精品99在线观看| 极品五月天| 26uuu国产| 久久久香| 狠狠色五月天| 99热色综合| 亚洲Av入口| 激情综合五月| 色碰碰视频| 五月天色综合| 久久爱综合| 欧洲亚洲欧洲99久久| 久久久久婷婷| 超碰在线人妻| 1024操逼视频| 91精品丝袜久久久久久久久粉嫩| 五月激情网络| 思思久久99热只有频精品66| 天天射夜夜爽| 狠狠干狠狠色| 大香蕉99| 99ri视频在线播放| 中文字幕在线不卡视频| 俺去啦综合网| 国产精品日本一区二区在线播放| 婷婷色五月噜噜| 97人人干人人操| 国产激情在线| 伊人在线视频| WWW.久久99| 婷婷五月天BBw| 666555。COm毛片| 密臀久久| 9久久精品| 色婷婷综合网| 色999五月色| 在线你懂的亚洲欧| 五月99久久| 免费成人网在线观看| 99免费视频网| AV在线免费观看不卡| 五月丁香久久呀| 国产又爽又猛又粗的视频A片| 成人精品一区二区三区四区五区| 久久精品这里只有精品免费首页| 99热这里| 亚洲六月婷婷| 婷婷综合色图| 色七七九九| 骚五月婷婷| 狠狠五月天| 丁香五月婷婷亚洲激情四射| 天天色宗合| 婷婷激情五月天桃花网| 99国产小视频| 日韩三级高清无码| 丁香婷婷中文字幕| 五月天婷婷激情六月久久| www.狠狠干com| 六月婷婷综合网2| 色五月丁香在线| 国产一级片色色| 丁香亚洲婷婷五月| 超碰在线caop| 呦呦视频无码播放| 色婷婷激情Av久久久| 丁香五月亚洲婷婷| 91操黄| 色婷婷a三区麻| a性生活久久无| 亚洲丁香网| www.99.色| 有哪些A片网站| 日美三级| 中文AV网站| 香蕉乱插| 偷拍91九色| 激情五月天啪啪| 91ncm视频| 色五月婷婷综合| 国产 亚洲 在线| 97在线精品| 婷婷五月丁香六月| 4399在线观看免费高清电视剧| 99热99在线| 婷婷区日本| 97久久人人人干| 婷婷五月天首页| 丁香婷婷婷| 91午夜激情| 婷婷丁香五月色偷偷| 丁香婷婷色色| www久久99| 99热这里只有精品首页| 凹凸7777操操操| 青草视频在线观看视频| 色五月天视频| www.激情五月天.com| 中文av网站| 国产avapp 网| 这里只有精品2| 日韩五月婷婷| 国产真实乱对白精彩| 久色国产| 色婷婷最新域名 | 超碰在线个人观看| www.狠狠操| 五月丁香激情四射综合| 婷婷亚洲综合| 人妻videos人妻高清| 欧美性爱丁香五月| 可以看的AV| 丁香五月AV| 97人人超| 这里只有精品99视频| 国产性av| 天天爽,夜夜爽| 日本99在线| 99视频精品在线| 日日操夜夜爽天天天| 在线综合亚洲欧美65| 亚洲色99| 超碰九九热| 六月色婷婷| 天天添天天摸天天天天做| 好大好粗嗯啊-一级黄色大片免费观看-成人AV| 成人va视频| 亚洲超碰在线| 国产精品扒开腿做爽爽爽A片唱戏| 狠狠五月激情婷婷直播片| 久草五月婷| 国产成人av在线| 99久久国产成人精品| 五婷婷综合网| 色婷婷六月| 成人看片网站| 免费看成人AA片无码视频吃奶| 99视频网| www.97碰碰com| 日日夜夜干| 五月丁香花免费视频| 丁香五月天婷婷91| 激情五月天丁香| 国产日日夜夜操| www.一起草av| 久热91| 激情合网婷婷| 丁香五月www| 婷婷啪啪| 思思热热久久| 色五月欧美| 五月婷婷六月激情| 日日爽天天| 欧美日韩成人一区二区| 色五月网址| www.99成人视频| 五月天丁香网站| 国产精品99久久久久久久女警| 桔色成人在线| 丁香花五月天激情| BBWCUCKOLD精品熟妇| 五月丁香六月婷婷在线| 操99| 婷婷激情五月呦呦| 亚洲成人av在线播放| 久久只有这里精品免费| aaaa久久| 婷婷五月天奸女| 色噜噜狠狠色综合日日免费| 九月婷婷在线观看| 91操人视频| 怡红院精品视频久久久久久久久| www.五月天色色色| 婷婷丁香六月| 野战毛片三一3| 视频综合网| 九久热| 亚州操人在线视频| www色五月天| 久久精品63| 免费无码毛片一区二区A片| 丁香五月手机在线| 六月婷婷六月天天在线免费| 操b视频在线观看一区二区| 操人无码| 97好吊操| VA色婷婷| a免费在线| 色婷婷久久| 婷婷色网站| 久久色婷婷| 五月Huangsewang| 精品久久久999| 丁香综合伊人AV| 大香蕉狼人久久| 麻豆AV一区二区三区| 亚洲午夜一区二区| hd五月婷婷在线| 91狠狠色丁香| 亚洲网在线观看| 欧美日韩成人免费在线| 夜夜夜夜操| A1片久久久| av高清无码| 激情综合网五月丁香| 丁香五月激情视频在线| Av九九| 碰碰碰97国产| 大香网伊人久久综合| 人人摸人人干人人做| 狠狠色婷婷| 黄色AAAAAAA| 婷婷五月天色色| 人妻久久久久久| 婷婷综合成人五月天| www.五月婷婷.com| 偷拍九九热| 色色性爱视频| 五月婷激情| 天天在线久久综合 | 99久久久久久久| 夜精品无码A片一区二区蜜桃| 色色色婷婷| 激情综合激情五月| 黄网免费观看| 五月丁香色色色| 色婷婷丁香五月| 色无码| 五月天激情Av| 996热| 97国产精品女人碰碰| 黄桃AV无码免费一区二区三区| 99啪99| 丁香婷婷久久综合在线| 99re熱| 999久久久国产精品| 精品欧美性爱超级爽| www.久久99| 丁香六月欧美| 丁香五月网| 青草青草久热这里只有精品| 五月婷婷97| 中字幕视频在线永久在线观看免费| www.99热在线观看| 99re这里只有精品视频了| 另类五月婷婷| 日本婷久久| 欧美成综合在线观看| 婷婷97狠狠成人网站| 久久在这里99| 天天插天天插天天插天天插 | 五月丁香色欲| 天天干,夜夜爽| 国产avapp 网| 五月天婷婷婷| 狠狠999| 婷婷色婷婷亚洲成人| a色婷婷| 激情综合文学| 精国产品一区二区三区A片| 久久久激情视频| 五月婷婷av| WWW.夜夜| 日韩一66精品| 午夜大香蕉| 色www.con| 婷婷黄色网| 少妇性BBB搡BBB爽爽爽电影| 婷婷五月天丁香| 99无码| 亚洲99热| 色 五月婷婷基地| 中文字幕婷婷五月天| 久天综合| 久草五月婷| 99热最新国内| 欧亚成人A片一区二区| 婷婷导航| 亚洲免费观看高清完整版AV线| 久热精品视频| 夜夜天天天天天干天天爽| 久久激情视频99| 婷婷五月电影| 九九中文字幕九| 国产一级黄色影片,| 人妻内射一区二区在线视频| 婷婷五月婷婷| 五月婷婷综合激情网| 婷婷久月| 丁香涩涩爱| 开心五月婷婷激情网| 六月亚洲婷婷6月中文字幕| 婷婷精品在线| 99综合自拍| 色婷婷AⅤ| 色吊丝99| 99热最新国内| 九九9久九9国产视频| 激情第四色| 五月综合色| 五月色婷婷综合| 丁香九月久久| 五月婷婷丁香啪啪| 五月丁香六月综合激情| 九九热经典视频在线观看| 五月婷婷色情| 五月天婷婷色播在线网| xx色综合| 99热6这里只有精品6| 久久欧洲久久| 99久久99九九99九九九| 在线网黄| 婷婷丁香五月天影院| 综合网狠狠| 六月丁香开心婷婷欧美| 狠狠色综合图片| 婷婷五月性感| 艳妇野外情欲放荡HD| 亚洲乱码日产精品BD| 九九在线精品| 色色五月天婷婷| 狠狠色成人影片| 五月天com| 九九色热| 99色在线视频| 狠狠穞A片一區二區三區| 天天插综合| 人妻久久久久久久 | 亚洲综合欧美色丁香婷婷888月图片| 精品9久| 色色亚洲99com| 91久女| 五月丁香亭亭激情操逼网| 丁香五月婷婷激情四射深爱激情| 一二线视频 另类| 成人免费黄色短视频| 江苏少妇性BBB搡BBB爽爽爽 | 婷婷综合视频| 九色91视频| 国产白丝在线一区| 综合久久综合久久| 超碰91av| 97精品综合久久| 99,色| 天天射夜夜爽| 思思热在线视频观看精品| 秋霞三级影视资源| 美臀自射自家人妻| 五月婷婷这里都是精品| 五月天婷婷爱丁香中文字幕| 天天草天天舔| 国产又黄又爽又激情不遮挡视频在线观看| 怡红院院在线导航网 | 9久热在线视频精品| 天天操加勒比| 国产激情综合| 99爱视频免费| AA丁香综合激情| 欧美私人家庭影院| 国产视频色色色色色色色 | 99ri久久| 在线中文字幕视频| 色噜噜狠狠色综| 五月丁香啪啪啪免费看| 五月六月激情婷婷| 六月丁香综合999| 五月婷综合网| 五月婷婷影| 五月婷丁香| 夜夜资源站| 色播五月婷婷| 99综合网| 99精彩视频网站在线| 99亚洲精品综合在线| 殴美97色| 狠狠色丁香久久婷婷综合五月| 五月丁香色综合| 色播婷婷五月天| 玖玖资源站国产| 五月婷婷六月激情在线| 天天日夜夜操五月| 成人精品99| 丁香五月婷婷视频| 國語久久婷| 五月婷婷在线视频| 亚洲精品白浆高清久久久久久| 影音先锋自拍网| 殴美97色| 欧美日韩成人在线网站| 在线色色| 天天操夜夜夜夜爽| 丁香五月天激情综合网| 五月丁香六月婷婷综合网缴情| 激情五月天小说| 丁香五月色网| 色色色无码| 熟妇内谢69XXXXXA片| 亚洲岛国电影| 超碰高清在线| 色婷婷亚洲婷婷| 婷婷成人综合免费视频| 综合色色婷婷| 久久人妻人人| 色婷网| 中字幕视频在线永久在线观看免费| 蜜臀久久99精品久久久久久酒店| 91九色 熟| 婷婷色色欧美| 丁香五月天啪啪| 夜夜天天久久婷婷| 色停停五月天| 婷婷丁香花五月天| 色婷婷综合网站| 丁香五月天AV在线| 97久操视频| 99日本精品视频热| 日日色五月天| 婷婷五月天在线综合| 国产精品视频免费看| 日本丁香五月| 亚洲性爱AV在线| 蜜臀99久久精品久久久久| 色玖玖综合网| 人人舔人人色人人高潮| 六月婷婷久久大全| 婷婷伊人综合中文字幕| 婷婷五月成人| www.夜夜爱.com| 九九re精品视频在线观看| 夜夜骑日日操| 996日日爱| 午夜激情婷婷| 精品夜夜澡人妻无码AV| 婷婷五月综合免费在线| 99人碰碰碰| 丁香六月色情| 色综合色色色| 五月丁香婷婷成人网| 国产高清av黄色看片| 97碰在线免费观看| 久久久精品99亚洲综合| 丁香五月激情视频在线| 99热只有| 欧美色频| www.韩日视频| 99日本黄站| 色视五月天婷婷| 91精品久久久久、久五月天| 色色性爱视频| 超91热| AV在线观看网站| 亚洲瑟瑟精品在线| 这里只有精彩视频| 五月婷婷色播| 26uuu成人网| 丁香六月婷婷综合激情欧美| 伊人五月人妻精品| 噜噜狠狠色| 久久思思热| 久久天堂女人| 99热婷婷| 欧美综合激情五月天| 人人人操| 久久99热网| 成人中文字幕在线| 婷五月天在线草| 99热在线观看免费精品| 婷婷色中文字幕| 欧美超碰亚洲| 五月久久五月激情| 五月天色婷婷网| 欧美人妻一区二区| 丁香婷婷五月综合欧美另类| 色综合激情| 丁香婷婷在线| www.99色| 免费在线观看av网站| 久久xxxx| 婷婷五月天偷拍| 九九热99热| 日本高清不卡免费一区二区三区| 狠狠色丁香| 桔色成人在线| 人人摸人人干| 九热视频免费观看| 六月婷婷五月丁香首页| xx人人xx| 夜夜穞天天穞狠狠穞AV美女按摩| 色婷婷激情五月天| 日本婷婷网| 日本WWW九九九| 中文字幕丰满孑伦无码专区| 久久五月天色婷婷| 狠狠操狠狠狠| 99在线免费视频播放| 青青操成人福利| 久久这里只有国产| 99热6这里只有精品| 99综合免费视频| 十区AV| 亚洲激情丁香五月基地| 久草视频一,二三四| 激情综合网激情五月婷婷| 大香蕉五月天| 99视频网| 天天色播| 3p久久| 在线观看玖玖资源免费观看| www久久99| 国产探花一片区| 色色色在线播放| 超碰男人色| 操逼五月婷婷| 99综合| 五月天开心激情综合网| 五月丁香网站| 国产免费一区二区三区三州老师F1F1.CC| 色婷五月天网站| 四色99久久| 日韩成人综合| 亚洲欧洲自拍图片专区五月天| 日日干天天射| 任我肏视频精品| 五月婷婷综合网在线播放| 亚洲婷婷丁香| 日本wwww在线| 99热欧| 婷婷色网站| 超碰京东热av男人的天堂| 五月情综合| 色色色国产| 久久婷婷大香蕉| 精品无码色欲AV| 97精品综合久久| 9999综合99综合人| 深爱激情四射| 99热在线观看| 欧美日韩国产一区二区| 99精品在线下载| 97啪啪| 91丨九色丨丰满人妖| 丁香月六月| 欧美性生交XXXXX无码小说| 久热九九| 免费视频99| 色婷婷呢狠禁久禁| 丁香婷婷六月婷婷六月婷婷六月婷婷| 激情亭亭五月| 婷婷五月丁香国产| 日韩激情婷婷五月天| 一起草性爱不卡视频| 久久新地此| 天天日天天爱天天噪|