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
返回資訊列表
婷婷激情六月| 激情五月天影院| 极品人妻VideOssS人妻| 五月天激情亚洲| 精品A√| 激情婷婷五月天日本系列| 五月婷婷丁香色播网| 综合色综合| 人人干Av| 久久大香蕉同僚| 超碰三级片| 中文无码婷婷| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 五月天啪啪| 五月天激日本色情在线| 女人天堂 AV| 开心婷婷中文字幕| 99性爱视频| 久久婷青青草原| 九色综合网| 日本久久极品| 久久人人做人人妻人人玩精品va| 卡视频1区2区| 亚洲中文字幕网| 久月丁香爱婷婷综合| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 久久艹 五月天| 婷婷六月成人| 好好干Av| 少妇激情五月天| 日韩另类| 一级韩国产精品毛| 5月婷婷综合| 俺去婷婷 丁香| 五月婷婷色白丝| 操人91| 婷婷五月天另类视频| 人人人操97| 天天操婷婷| 婷婷五月天AV| 久久视频婷婷| 六月婷婷私欲| 五月开心久久| 国产毛片精品一区二区色欲黄A片| 亚洲激情| 岛国资源网| 99热综合网| 狠狠五月天| 色五月综合激情网| 另类专区在线观看| 99re思思热久久| 人妻精品在线| 九热av| 色婷婷导航| 天天檫天天爽| 天天色图| 欧美日韩中国| 热99久久这里只有精品| 欧美人人操| 激情综合色婷婷啪啪五月天| 五月婷婷在线短视频| 天天做天天爱综合| 天天日天天爽| Av九九| 99热99这里有免费的精品| 99狠狠| 疯狂做受XXXX高潮A片动画| 玖玖综合网| 2050人人操免费工开爱| 婷婷五月天另类视频| 激情综合五月婷婷| 综合五月激情| 五月丁香色播| 亚洲另类在线观看| 亚洲国产成人在线| 亚洲婷婷五月| 超91在线视频| 四月婷婷丁香| 国产在线激情视频| 激情网狠狠干| 开心五月婷婷激情| 9191avse| 婷婷五月天视频| 天天草天天爽| 久9视频| 噜噜色婷婷| CHINESE熟女老女人HD视频| 色99色| 蜜桃婷婷丁香| 天天久综合网永久入口18| 97色婷| 天天日天天草| AV变态另类一区二区| 五月婷婷久久开心网| 天天狠狠干| 国产婷婷色综合AV蜜臀AV| 色V狠狠的干| 丁香五月天在线观看| 韩日另类| 97久久香草精品视频| 久久怕怕视频| 99久热这里只有精品视频删减版| 色色色综合色| 亚洲综合网区| 丁香六月婷婷综合| site:hcxsz888.com| 婷婷五月天综合网| 97电影99热| 99av视频| 秋霞AV吧| www.久久66| 97干在线视频| 激情色中文| www.久久久久久久| 久久色婷婷| 色婷婷的五月天| 大香焦A∨| 人妻videos人妻高清| 99色精品| 亚洲精品乱码久久久久99| 久久9精品| 91主播在线| 五月丁香直播| 婷婷99视频在线| 天天激情视频| 成人无码髙潮喷水A片| 五月丁香婷婷无码中文| 五月激情综合网| 婷五月丁香俺| 97色色视频| 五月天激情黄色网址| 五月天婷婷丁香六月| 99视频在线9| 五月婷在线色视频| 99婷婷综合| 久久机热思思热| 久久久国产精品黄毛片 | 99热国品免费| 99色综合| 五月天激情网页| 天海翼中文字幕高| 天天色天天爱天天爱天天爱y| 91碰碰视频在线观看| 国产,欧美,日韩,性爱| www.婷婷五月天,com| 思思热高清在线观看| 99免费青青蜜臀| 天天干一干| 久久资源网五月婷| 少妇被躁爽到高潮无码文| 精品无码色欲AV| 天天草女人| 999影院成人在线影院| 一级黄色操B| 色婷婷超碰| 在线成人网站| 极品人妻VIDEOSSS人妻| 99久在线精品99re8| 激情AV中文| 五月色婷婷影院| 久99热| 五月香婷婷| 深爱五月天 开心网| AV大片在线观看| 色五月 五月婷婷| 1024手机在线观看看片_日韩精品| 色色色综合网| 天天插天天| 99啪视频在线观看| 综合久久99| 五月丁香六月日逼| AVV黄| 五月丁香成人网| 丁香五月婷婷丫| 九月丁香婷婷网| 噜噜狠狠色| 婷婷九月色| 99热国品| 九热免费视频| 少妇口诉沐足视频播放器网址| 字母不卡码人逼| 免费婷婷| www.五月丁香av| 色色九九五月天 | 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 免费黄网不卡AV| 亚洲色五月婷婷| 日韩欧美颜射| 色停停影院五月天| av中文在线| 天天日天天干天天天| 91偷拍视频| 国产精品国产成人国产三级| 丁香婷婷九月| 99视频精品全部免费观看| 91婷婷在线观看| 99操逼| 天天综合中文| 99爱在线| 97操视频| 色综合久久88色综合天天| 久久久com| 色婷婷九月综合| Av九九| 草草夜夜操| 一区视频网站| 婷婷六月激情综合| 99在线观看这里都是精品| 五月天丁香花婷婷| 中文字幕欧美日韩VA免费视频| 免费不卡狠操美女视频网| 婷婷天堂综合| AV在线收看| 色婷婷激情| 噜啊噜在线| 色婷婷视频| 婷婷五月综合啪| 国产亚洲精品久久久久久郑州| 五月天婷婷久久| 99区视频| 五月丁香大香蕉| 99ri精品在线观看| 99热在线观看| 色情综合| 亚洲视频二区| 狠狠色成人影片| 丁香五月天欧美| 婷婷五月天六点丁香五月| 狠狠色噜噜狠| 婷婷97狠狠成人网站| 久艹大香蕉| 另类视频丁香五月| 天天婷婷操| 婷婷99中文字幕| 9|在线观看视频| 五月丁香久久丝袜啪啪| 亚洲俩性性爱图片久久第六页| 丁香六月| 热996精品在线观看| 精品一二三区久久AAA片| 久久久com| 久久这里只有精品热在99| 精品怡红九九九| 五月天激情播播网| 久久久婷婷| 激情综合色婷婷啪啪六月天| 综合久久综合五月天婷婷| 少妇高潮呻吟A片免费看软件| 日韩啪啪视频| 99久久婷婷五月综合| 日本色色色| 青青草婷婷综合五月| 97操碰| 五月婷婷开心网| 五月丁香亭亭| 夜夜爽天天爽| 天天天天操| 婷婷丁香综合成人| 26uuu另类| 天天在线久久综合| 噜噜综合网| AV九九| 国产婷婷综合在线免费视频| 亚洲婷婷婷| 激情av网| 四季AV综合网| 色综合视频| 99热欧美精品| 五月丁香五月丁香五月丁香五月丁香91| 久久受www免费人成| 人与禽A片啪啪| 99国产精品白浆在线观看免费| 色婷婷综合网站| 色色色热热热| 久久深爱激情网| 激情婷婷五六月天| 色丁香综合影院| 伍月婷婷免费视频| 亚洲激情五月婷婷日日| 亚洲色欲AAAAAA| 五月丁香六月婷婷色| 天天色爽| 婷婷激情欧美| 99热官网精品在线| 大香蕉久久久| 91啪啪| 1024人妻| 欧美日韩欧美| 久久se 综合网 | 五月综合激情视频| 五月丁香六月婷婷在线| 色五婷婷在线视频| 91久久精品无码一区二区三区| xx久久| 任你日视频| 九九热av| 婷婷久久网| 狠狠综合| www.金莲av| 久久久亚洲成人无码A片| 热久久这里只有三级视频| 超级97碰碰| 色九九七七| 久久久久久9| 伊人婷婷五月天| 九九视频网| 一本久久亚洲五月婷婷| www.五月天激情| 婷婷狠狠操| 99色中文| 99国产精品久久久久久久久久久| 男人的天堂在线婷婷| 99热精品网| 久久久久久久久久91| 婷婷视频网| 99r这里只有精品哦| 亚洲 在线 性爱| 狠狠色噜噜狠狠| 久久婷婷视频| 久久xxxx| 91碰操| 97热这里精品在线视频| ,99视频久久| 五月婷婷欧美激情| 超碰人人操| 婷婷九月| 色五月婷婷7777| 大香蕉Av在线| 性爱在线播放av| 激情五月五月五月婷婷| 丁香五月婷婷五月天| 色~性~乱~伦~噜| 激情五月婷| www91色网站| 4438激情网| 色五月之第四色| 久久成人天| 丁香五月婷婷香| 五月天婷婷基地| 国产成人精品亚洲线观看| 大香蕉福利导航| 五月天久久网站| 成人做爰A片免费看网站找不到了| 天天操天天操| 综合99久久天天综合| 色偷偷综合| 婷婷五月天 丁香五月天 裸体| 性爱激情小说AV五月丁香花| 天天日狠狠| www.狠狠艹| 天天操人人干| 97ai婷婷| 人人舔人人色人人高潮| 色女人久久| 亚洲爆乳无码精品AAA片蜜桃| 色五月婷婷影视| 色婷婷av在线观看| 色女伊人| 五月天激情婷婷| 日韩精品无码AV| 任你爽视频| 爱婷婷久久视频| 成人短视频在线| 波多野结衣不卡AV| 26uuu视频欧美| 婷婷六月久久综合导航| 激情开心五月天| 激情婷婷五月天丁香| 丁香五月天欧美成人| 丁香五月婷中字幕| 51精品国自产在线| 99热九九这里只有精品| 五月天婷婷综合| 欧美性生交XXXXX无码小说| 欧美色宗和激情| 操逼棍操逼| 久久婷婷精品| 五月婷婷影院| 五月天com| 欧美日韩中文国产一区发布| 二色av| 五月综合无码| a级毛片一区二区免费视频| 亚洲国产精品成人免费一区久久久在线观看AAAA | j久久性爱视频| 夜夜干天天操| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 91精品91久久久久77777| 五月婷在线| 婷婷丁香18| 黄色片久久| 色色五月天婷婷| 九热视频| 婷婷色色色| 丁香五月婷婷色五月| 午夜亚洲国产精品av一区二区| 婷婷黄色网| www.色婷婷。com| 五月婷婷激情综合| 九九人人自拍| 99在线小视频| 中文字幕人妻AV| 五月天婷婷导航| 丁香五月婷婷色| 六月婷婷之青青草| 人人草公开操| 99er久久| 99久久久久| 69热91天堂| 视频色色色色色色| 婷婷综合五月| 人妻性爱av网站| 97碰在线| 久久色婷婷| 五月婷婷视频在线观看| 超级碰91| xx人人xx| 国内久久亭亭| 日本欧美成人片AAAA| www.cao.com久久| 五月丁香五月天现场视频| 农村熟妇高潮精品A片| 五月伊人综合| 少妇熟女视频一区二区三区| 天天做天天爱天天爽在| 嫩草AV久久伊人妇女超级A| 五月总合激情网| 婷婷五月成人| 四色综合网| 国产精品电影| 五月天日日操夜夜操| 日韩啪啪网| 久久综合激情| 六月激情网| 五月婷丁香花| 夜夜爽77777妓女免费下载| 99热这里只有精品21| 九九碰九九爱97超碰| 91精品熟女| 99国产精品白浆在线观看免费 | 97丁香花五月天激情小说| 99热免费| 激情五月天之六月婷婷| 婷婷五月天国产传媒| 天天插天天| 91热在线观看视频| 久久这里只有精品热在99| 久久精品99久久久久久久久| 123草逼网| 激情综合网五月| 亚洲情色一区| 丁香五月天欧洲在线| 一本大道嫩草AV无码专区| 色婷綜合网| 精品日本视频444| 欧美人妻一区二区| 婷婷激情在线| 色婷婷在线视频| 狠狠 婷婷| 九九操屄| 色婷五月天| 婷色五月天| 天天爽天天爽| 日本成人噜噜| 91疯狂操操操操| 成人在线不卡| 日本五月婷婷久久久六月丁香| 丁香五月婷婷免费视频| 天天噜| 婷婷的99视频网站| 国产又爽又猛又粗的视频A片| 五月婷婷丁香av| 五月花激情网| 丁香五月五月婷婷| 欧美丁香五月天| 色原狠狠综合| 深爱五月婷婷| 深爱五月最新网址| 97在线刺激| 婷婷伊人綜合中文字幕小说| 99re热视频这里只精品5| 久久 婷婷 五月天| 日日干四虎| 色色色99| 月婷婷亚洲| 丁香五月婷婷视频| 色色99色色| 日韩AV免费| 色婷五月| 五月 婷婷 成人| 91seav| 精品国产乱码久久久久久免费| 99免费热视频| 天天日天天添| 去色色五月天| 色色色网站| 久久九九热视频| 婷婷五月激情四月综合| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 日韩十国产极品久久| 六月婷婷综合久久| 8050一级网| 91九色国产在线| 婷婷五月开心中文字幕在线| 99精品在线| 思思久久99热只有频精品66| 国产伦理精品高清在线观看网站一区二区| 97色综合视频| 99爱在线视频| 丁香五月天.com| 五月天婷婷在看| 九月av| 丁香五月花| 久久久ww| 97色色色色色| 好吊丝aV| 久热婷婷| 97碰碰电影| 成人做爰高潮A片免费视频| 六月色播| 精品人妻久久久久| 丁香五月激情六月| 91欧美| 免费成片在线观看| 最新无毒无码AV| 久久五月视频| 色五月亚洲| 日日噜狠狠色综合久久| 99精品综合| 综合色99| 无套内射极品大美女| 色色色在线播放| 国产avapp 网| 超碰京东热av男人的天堂| 荡乳尤物3HP1V5| 香蕉婷婷| 九月综合| 婷婷久久色| 久久久99精品| 丁香五月色播中文在线播放| 亚洲AV免费在线| AV在线收看| 亚洲久久天堂| 国产午夜精品AV一区二区麻豆| 久久综合爱| 可以看的AV| 这里只有精品视频看看| 五月天婷婷色紫薇阁| 91狠狠综合网| 五月激情婷婷国产精品久久久久久| 激情五月婷婷综合秋霞| 午夜精品人妻无码一区二区三区| 色五月婷婷基地| 影音先锋噜一噜| 久久久久久人妻| 色久五月天| 婷婷日日天天| 欧美另类五月激情| 操逼福利视频| 狠狠擼综合| 新99色色色色色色| 丁香五月网络网络| 无码九九| 99色这里| 99在线观看亚洲| av九九| 久操大| 99精品在线观看视频| 狠狠色婷婷7777久综合| 77777亚洲午夜久久| 欧美日本99| 91精品久| 人妻操日日| 激情综合婷婷久久| 91操屁股| 99re免费在线视频| 欧美性猛交99久久久99| 五月婷婷|欧美| 五月天婷婷色情| 综合九九久久| 成人网站av免费网站推荐| 1234操逼网| www.久9| 99色久| 久久宗合影| 色五月婷婷综合在线| 九热久| 9精品在线| 九九色影视| 99热只有精品综合| 九九热10| 婷婷激情综合网| site:ornaments52.com| www夜夜操com| 婷婷的色色五月天| 91ncom.色| 另类激情中文| 国产婷婷色综合AV蜜臀AV | 久在线88综合| 婷综合六月| 亭亭玉月丁香| 婷婷99狠狠躁天天| VA日本视频| 青草视频在线蜜臀| 操逼棍操逼| 99乱视频| 色五月综合| 超碰在线人妻| 国产黄色在线观看| 中文网婷婷字幕婷| 色婷婷久久综合| 五月天天丁香婷婷在线中| 激情五月综合ì香亚洲| 欧美一级操逼视频| 色99在线观看| 九九热精品| 精品热九九| 91嫩草久久| 任你爽视频| 97色五月天| 九九色视频| 天天综合色丁香| 丁香五月成人社区| 婷婷色五月大香蕉在线| 草草影院爱爱| 伊人大香五月天| 婷婷五月天首页| 色五月欧美| 天天干 夜夜爽| 中国女人做爰A片| 免费超碰在线| 这里有精品99| 男人的天堂五月丁香| 香蕉国产2013| 9久热精品在线视频| 亚洲视频久久| 亚洲性受XXXX五月丁香| 久久久久人妻精选| 男女99免费视频| 97超碰婷婷五月天| 骚五月婷婷| 五月丁香啪啪啪免费看| 色视频五月天| 三级三久久线久久99久目本WW| 九久久九精品视频| 亚洲啪啪啪啪| 九九无码视屏| 色综合激情| ..真实国产乱子伦毛片| 色综合久久88色综合天天99| 亚洲性色XXXXX| 欧美 日韩 成人 在线| 国产肥白大熟妇BBBB视频| 91丁香婷婷综合资源| 婷婷五月中文在线| 九九在线精点品| 婷婷六月色| 亚洲人妻电影| 春色激情第四色| 九九这里是免费的视频5| 亚洲第一成人无码A片| 全高清无码视頻| 丁香五月亚洲综合| 五月天婷婷在线播放| 奇米色大香蕉| 久一这里有精品国产| 五月天淫乱视频| 成人中文网| 情色五月天网站| 天天日夜夜帕| 欧美肉大捧一进一出免费视频| 97碰碰电影| 深爱激情网婷婷| 五月天婷婷av| 91精品久| 伊人成人宗合网| 色五月色五天色情网| 91丁香婷婷综合久久欧美| 色六月天天激情综合网| 区美毛片子| 日韩人人操| 婷婷六月丁香久| 婷婷激情九月| 99天堂网最新| 亚洲九九在线| 国产亚洲在线观看| 婷婷四色五月| 来吧亚洲综合网| 黄色网址五月婷婷| 99色啊| 91久久久久久久久18| 97操在线资源| 欧美激情五月| 人妻丰满精品一区二区A片| www.久久爱| 五月婷婷丁香五月 | 免费亚洲婷婷| 亚洲啪| 东北婷婷五月天| 五月丁香六月色| 五月婷婷啪啪啪| 五月天亚洲综合网| 色在线免费观看| 影音先锋 91工厂| 99热这里只有精品在线| 97在线精品视频| www.色五月| WWW、日本色丁香、co m| 思思色综合网站| 色色五月婷| wWwCom夜操wwW| 日本久久综合| www.91九色| 99九九在线视频| 婷婷丁香www视频日本韩国| 亚洲丁香五月在线观看| 欧美日韩成卜| 成人AV在线网站| 99热官网| 天天网站天天爽| 99精品久久| 色婷五月婷婷| 超碰99在线观看| 思思久久网| WWW.婷婷| 丁香色六月| 色99在线观看| 欧美性二区| 夜夜干夜夜操| 五月丁香日本一抹本| 99热这里只有精彩| 婷婷六月丁香在线| 99热精品免费| 六月综和久久| 99久久国产宗和精品1上映| 狠狠色官网| 丰满老熟妇BBBBB搡BBB| 秋霞电影理论| 男人大jjc女人免费视频| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 欧美综合婷婷欧美综| 久久er99热精品一区二区| 五月综亚洲| 中文字幕无码AV| 丁香五月综合亚洲| 日韩欧美婷婷丁| 激情五月婷婷网| 操人精品| 在线视频另类| 性爱网久久| 五月婷婷深深爱| 丁香六月色情| 新激情五月天| 思思热精品在线| 五月天婷婷社区久久综合| 久久资源网五月婷| 久久久久久久综合狠狠综合| 久草热8精品视频在线观看| 五月色导航| aaa久久久| 丁香五月Av| 91婷婷色| 婷婷成人五月天| sewuyue第四色| 五月综合激情网| 99这里只有精| 欧美日韩123| 激情视频网址| www色中色综合| 大香蕉人人网| 九九色逼| 天天日夜夜草进麻麻的子宫| 啪啪操网| 91大神操美女| 日韩99色| 婷婷久久欧美| 五月婷婷色影院| 玖玖伦理电影| 婷婷伊人综合| EEUSS鲁片一区二区三区| 免费AAAAA网| 精品久久久久成人码免费动漫| 国产三级秋霞| 五月婷婷AV| 成人国产欧美大片一区| 婷婷五月天久久久| 99九九精品| 欧美日本韩国亚洲| 九九无码| 日本本土色网第一区| 91久女| 婷婷色五月激情强奸四射| 亚洲色涩视频| 婷婷情色五月| 五月丁香久久综合| 天天拍夜夜爽| 骚五月婷婷| 五月天综合| 噜噜色婷婷| 色婷婷五月影视| 亚洲丁香婷婷| 99黄色性生活| 久久开心五月婷婷| 丁香九月婷婷综合| 丁香五月婷婷色综合| 182TV大香蕉| 激情5月婷婷狠狠干| 色五月自偷自拍婷婷婷婷| 综合网激情| 五月婷婷五月天激情网| 777色婷婷爱五月| AV网在线观看| 免费精品99| 久久婷婷五月免费视频| 26uuu国产色| 艹天天射| 国外亚洲成AV人片在线观看| 天堂五月婷婷| 天天操夜夜玩!| 婷婷欧美综合| 日韩AC在线免费观看| 色婷婷影院| 五月丁香龟婷婷| 成人日韩欧美| 天天综合网色欲香| 亚洲操操| 97极品在线| 久久视频九九视频| 99re在线视频精品,这里只有精品18,| 九九99视频精品| www.色综合| 狠狠操狠狠| 五月天激情日色在线| 日韩不卡DvD| 大香久久综合网| 丁香五月色五月婷婷宗合| 五月丁香久| 91九九九九九九| 色色婷婷丁香| 999精品乱码77777| 色五月丁香五月婷婷五月成人网| 婷婷五月天中文字幕.| 丁香五月天婷婷91| 五月婷婷综合激情小说| 六月综合婷婷开心伊人| 五月天成人在线视频网站| 99热这里只有精品23| 99久久综合网| 婷婷激情五月天小说| 亚洲中文字幕AV在线| 热久精品| 综合久久综合久久| 久久精热| 99re这里只有精品首页| 天天做天天爱天天日| 欧美啪啪9| 色欲色香综合网站| 不卡在线视频| 色欲久久综合| 久9视频| 伊人五月综合网| 亚洲aV写真天天综合网久久| caopeng97日韩| 天天色天天爽| 婷婷丁香熟妇综合网| 91精品又长又大又粗又爽又猛| 久久久91精品| 最近免费中文字幕大全高清大全1 色狠狠色噜噜AV天堂五区 | 色色色色色色色色色色色色色97| 婷婷丁香五月综合网上| 去干网最新版本亚洲版| 99高级会所久久| 大香蕉啪啪网| 国产五月天婷婷| 玖玖99精品视频| 久久99免费视屏| 色婷婷狠狠久久综合五月| 国产真实乱对白精彩| 在线只有精品| 五月婷婷丁香| 亚洲综合五月| 九九伊人网| 久久HD| 欧洲亚洲免费视频9| 激情婷婷五月天| 婷婷五月天久久| 五月天婷婷在线AN| 婷婷夜夜操| 丁香五月综合网亚洲综合欧美狠狠| 色婷五月丁香久亚洲| 天堂婷婷五月色| 激情综合网五月天天| 六月婷婷深深爱| 婷婷五月激情四月综合| 五月天激情综合在线| jiujiu热在线视频| www.久久| 四色综合网| 亚洲另类在线观看| 亚洲无码99| 日本乱子人伦在线视频| 国产亚洲精品AAAAAAA片| 国产亚洲精品久久久久久郑州| 五月丁香啪啪网| 五月丁香啪啪| 久久在线视频免费观看| 538在线精品| 日韩成人不卡| 好吊兆人妻| 碰人人97| 婷婷激情四射五月天| 欧美日韩五月婷婷| 久久性刺激| 激情六月丁香| 婷婷色色网| 天天搽天天射| 五月激情视频网| 亚洲一区二区无码蜜乳av| 久久思思热视频| 婷婷婷婷色| 五月丁香六月综合激情| 日本久久婷婷| 人妻啪啪啪| 99∨VTV| 日韩人妻AV在线| 婷婷丁香五月在线观看91| 欧美日韩日韩成人| 久久九九中文字幕| 少妇人妻丰满做爰XXX| 欧美三9久九观看| 五月丁香亚州综合网| 青青操丝袜美腿| 天天射天天干天插色综合| 国产激情综合五月久久| 亚洲精品乱码久久久久99| 狠狠色激情综合| 丁香涩涩爱| 在线中文亚洲| www.99热| 色色五月婷婷狠狠| 免费成人中文字幕| 2017人人操| 五月婷色色| 婷婷六月色丁香视频在线观看| 天天狠狠色| 丁香五月激情在线| 97狠狠色| 精品人妻伦九区久久AAA片| 久久9热好| 婷香狠狠爱五月| 色婷婷综合在线| 91色综合网| 欧美色骚婷婷五月天| 五月婷婷激情中心| 日本色视| 九九热婷婷| 婷婷激情图片| 欧美A级成人婬片免费看理论| 在线播放成人| 婷婷天堂综合| 天天日,夜夜爽| 久机视频这只有精品| 免费黄色视频网址| 日韩黄在免| 高清国产一级婬片a免费| www激情| 五月婷婷m| 五月丁香六月激情| 91狠狠色丁香婷婷综合久久| www超碰com| www.色9| 激情五月综合色婷婷| 婷婷六月久久综合导航| 色色丁香| 色综合综合综合| 99噜噜| 五月天小说激情| 天天做天天爱天天爽综合网| 综合色色色| 久久综合最新网址| 97精品自拍| 激情婷婷六月| 色色综合色| 午夜丁香婷婷| 碰人人97| 狠狠色婷婷| 久久色五月天综合网| www色色com| 性爱激情五月| 九九色婷婷| 丁香五月无码| 欧美激情综合| 青青草99re| 三级黄网站| 黄色AAAAA| 日日夜夜天天| 九月婷婷激情久久| 天天激情综合| 六月激情网| 丁香激情网| 操97免费超级视频| 美国天天日天天操| 久久综合性| 字母不卡码人逼| www.色五月| 少妇达人正片在线播放_ikun_福利吧| 激情小说五月天| 色都都狠狠色都都色综合色| 激情综合网络插| 色五月婷婷影院| 玩熟女五十AV一二三区| 97人人干人人操| 第四色婷婷丁香五月| 亚洲色综合| 婷婷五月,偷窥偷拍网| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 激情人妻综合| 婷婷激情综合网| 欧美色婷婷| 99热在线观看99| 天天 日综合| 天天色播| www.97干视频| 开心五月婷婷在线| 91Chinese在线| 一级精品999WWW| 天天干天天叉| 亚洲无AV在线中文字幕| 激情五月综合网最新| 六月丁香五月天| 国外亚洲成AV人片在线观看| 久9热在线视频| 五月婷婷开心五月| 色色色com| 九九国产精视频| 五月婷精品| 色婷婷丁香社综合| 色五月婷婷丁香婷婷| 天天日天天爽| 黄网免费观看| 婷婷久久色| 色婷婷狠狠久久综合五月 | 婷婷.com| 婷婷六月丁香久| 丁香五月在线| 激情啪啪五月| 亚洲色另类| 久久久久久婷| 国产五月婷| 欧美三级A做爰在线观看| 99热只有精品综合| 热久国产| 激情久久久久久久久久| 激情五月婷婷开心网| av免费在线看不卡无毒| 热的国产,热的综合,热的有码| 亚洲综合激情五月久久| 婷婷欧美激情| 欧美va在线| 日本道久久91| 色婷婷丁香AV综合| 国产毛多水多女人A片| 婷婷五月天伊人在线| 97色在线| www98日本小时间到了| 91丨九色丨熟女|老版| 色色五月丁香婷婷综合| 六月综合在线| 久草婷婷视频| 激情色情五月天| 超碰色热| 思思久热6| 男人先锋久久| 天天干天天干天天干天天干天天干天天干天天| 极品人妻VIDEOSSS人妻| 欧洲永久精品| 色综合色综合网| WWW、日本色丁香co m| 色五月人妻| 青草青草久热这里只有精品| 久久狠狠干| 99欧美| 九九热在线观看视频| 亚洲五月天,激情视频| 性爱视频99| av婷婷丁香 六月| A久久| VA国产在线综合网站| 色偷偷AV亚洲男人的天堂| 26uuuu精品一区二区| 久久综合婷婷激情| 亚州日本欧州韩美高青高潮一| 爱爱网址9| 激情婷婷五月基地| 九色视频入口91| 开心深爱激情网| 五月香蕉婷婷| 99热最新精品| 综合色播| 五月天大香蕉| 亚洲五月六丁香激情| 日99网站| 天天做天天爱天天玩夜夜爽| 99久久这里只有精品| 久久久人妻人伦| 日本一级一级一级一级| 深爱五月中文字幕| 婷婷色五月综合| 五月丁香六月婷婷开心网| 五月婷婷六月综合| 国产婷婷综合在线免费视频| 狠狠丁香| 国产精品99久久久久久久女警 | 婷婷五月激情综合啪啪| 婷婷大乡焦噜噜| 99re免费精品视频| 激情综合五月| 婷婷五月天性| 九九re视频在线视频| 婷婷五月在线观看| 久久综合激情| 午夜天堂一区人妻| 五月天婷婷丁香社区| 丁香婷婷婷五月综合色情| 九九热欧美| 色亚洲中文| 婷婷六月天国产综合| 色香欲综合| 久久99网站| 久久性爱视频网站| 26uuu欧美亚洲日韩| 激情婷| 97福利视频| 色婷婷在线视频久| 国产精品 的国产| 爱久综合| 狼友视频在线观看18| 丁香五月AV| 五月天综合影院| 久草五月婷婷| 国产精品电影| 999热在线视频| 亚洲色就是色色色| 激情五月开心五月丁香五月| 五月婷婷三级| 日比网免费国产| www.99热| 全亚洲最大的婷婷五月天网站COM 丁香五月婷婷狠狠色 | 日韩成人精品中文字幕电影| 超碰成人影视| 人人操99| 风流少妇A片一区二区蜜桃| 超碰1999| 九九成人精品免费视频| 国产午夜精品AV一区二区麻豆| 99A片| 丁香五月天婷婷在线视频| 五月精品99综合| 五月天丁香成人社| 美女要搞搞天天搞搞搞网站| www五月天com| 天天肏在线观看| 丁香五月深爱五月婷婷| 性热视频99精品| 开心五月天激情网| 亚洲狠狠干| 色八月婷婷| 夫妻超碰在线| 丁香六月综合激情| 丁香五月天在线| 99re热精品视频国| 久久久九九九 99| 色婷五月| www.99热. com这里只有精品| 国产免费AV网站| 啪啪日本欧美| 九九碰九九爱97超| 思思热久久婷婷五月天| 无码啪啪| 99艹精品在线观看| 99性视频| 六月丁香六月婷婷欧美| 天天综合亚洲综合网天天αⅴ| 色色网站毛片| 色欲久久综合| 亚洲天堂aaa| 99这里只有精品国产| 综合久久六月| 久久久99精品免费观看| 日韩在线9| 欧美草久久五月天91| 五月婷婷免费在线| 久久久久久久久久久月丁| 国产欧美精品AAAAAA片| 欧美 日韩 成人 在线| 国产精品久久久丁香五月八戒视频| 高清不卡一区| 激情av网| 99性爱精品| 激情五月婷婷| 丁香久久九九99| 国产古装妇女野外A片| www五月| va婷婷在线免费观看| 五月婷婷在线短视频| 99久久精彩视频| 国产午夜精品AV一区二区麻豆| 97干在线| 一本色道久久综合狠狠躁小说| 久热最新视频| 久久99综合| 国产性爱一级| 国产亚洲99久久精品熟女| 国产精品a无线| 亚洲美女高潮久久久久久69| 丁香五月天堂| 久热这里只有精品66| bbwcuckold精品熟妇| 综合久久久| 日本欧特黄色刺激一区影视久精品无码| AⅤ网站在线看| 婷婷色综合| 九九精品99| 激情99| 色停停五月天| 久噜久噜| 亚洲婷婷丁香五月在线| 婷婷的99视频网站| 久一网站| 免费操超碰| 日产精品久久久久久久蜜臀| 欧美色婷婷| 99精品久久久久久久婷婷| 丁香五月激情综合| 久久人妻久久| 99视频精品全部免费观看| 亚洲在线激情婷婷五月| 青青.com| 99久在线精品| 天天综合网~91| 9 1 A v久久久| 5Www色5夜| 国产av天天插天天操天天爽| 激情五月综合| 大香蕉五月天婷婷| 婷婷色五月丁香六月欧美啪| 97人人操| 色综合五月| 五月天色不卡| 日韩无码色色| 狠狠xx| 亚洲色婷婷视频| www.五月婷婷久久.com| 精品婷婷五月天| 新99思思视频| 日日夜夜狠狠婷婷色| 深夜男女福利刺激影院一区| 99啪| 丁香九月久久| 亚洲啪视频| 午夜爱插插| 天天色丁香| 色综合激情| www.日本久久videos| 婷婷五月丁香综合亚洲 | 天天天天天天操|