免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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.久久久久久久久久久久久| 91在线日| 五月天网站亭亭| 开心五月六月婷婷| 久久婷婷五月丁香网| 伊人综合网站| 成人精品在线观看| 亚洲五月丁香六月婷婷| 天天干天天色天天干| 日韩在线观看亚洲| 久草视频大香蕉99| 国产一区二区av免费| 91凹凸在线| 天天摸,天天爽| 亚洲国产成人AV在线| 思思re99视频在线观看| 日日干日日| 婷婷五月天激情综合| WWW.久久久久久久久久久久久| 九九热视频精品| 五月婷六月丁香| √天堂资源在线人妻熟女| 少妇高潮呻吟A片免费看软件| 99热这里精品| 99热官网精品在线| 五月天涩涩| 综合激情网五月激情| 丁香五月综合激情久久潮喷| 婷婷五月天综合亚洲| 五月天激情视频| 天天爽日日搞| 六月丁香激情最新更新| 99热精在线九九久久保| 就爱干 在线| 超碰av在线| 射久久丁香五月| 91人人爱| 五月桃花网综合| 操人无码| 东京热五月婷婷| 丁香久久| 天天色情站| 狼人婷婷久久| 天天色色天天| 91啪啪视频| 丁香五月天.com| 亚洲视色| 九九综合| 婷婷五月电影院| 婷婷五月丁香六月| 99超级碰碰| 男人的天堂五月丁香| 狠狠做五月婷婷| 色玖玖综合网| 做爱夜夜干天天操| 六月五月久久丁香| 国产,欧美,日韩,性爱| 99热这里只有精品手机在线观看| www91久久| 九九视频在线观看| 亚洲五月婷婷| 精品国产乱码久久久久夜深人妻| 狠狠噪| 另类少妇人与禽zOZZ0性伦| 亚洲无码99| 人人爽天天爽| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 亚洲激情网站| 狠狠干综合网| 丁香五月婷婷在线| 97碰碰久久| 婷婷不卡基地| 五月色婷| 色综合色色色色色| 一区二区乱码视频| 人妻中文在线| 久99久视频精选| 丁香五月九九| 思恩热国产视频右线观看| 久热综合| 99成人小视频| www.zbzhongsen.com| 色综合色| 99热九九九九| 狠狠香婷婷五月| 天天日,天天射,天天插| 亚洲婷婷五月天激情| 啪啪黄页网| 丁香五月手机在线| 日本强伦片中文字幕免费看| 久久激情天堂| 欧美va| www.国产色| 午夜丁香综合婷婷| 亚洲无码影音| 九九热只有这里精品| 久久五月丁香激情综合| 爱操人妻| 五月婷婷久久爱| 色欲婷婷五月天丁香| 97干在线视频| 色色色色网| 成人在线视频网| 丁香激情五月天| 色级婷婷| sewuyuejiqingwang| 色色色成人网| 久久艹 五月天| 丁香五月婷婷亚洲另类| 人人干AV| 九九碰九九爱97超碰| 另类亚洲电影| 九九这里精品| 99九九精品| 成人免费120分钟啪啪| 天天久久婷婷| 五月天激情开心网| 国产婷婷色综合AV蜜臀AV| 99国产97在线,| 深爱激情中文五月天av| 大香蕉五月丁香| 狠狠爱深色婷婷综合| 色青五月天| 色色色99韩| 婷婷五月天国产在线播放| 99性爱视频| 精品九九婷婷| 五月丁香中文字幕| 四虎99热在线观看网站| 天天爽夜夜爽夜夜爽精| 国产激情综合五月久久| 另类激情五月天。| 婷婷色五月天在线观看| 丁香五月激情宗合| 五月天六月色| 激情综合婷婷五月| 五月丁香综合网| 五月婷六月| 四色99久久| 99激情视频| 日本黄色在线观看| 激情综合色婷婷啪啪六月天| 亭亭玉月丁香| 色婷婷在线视频| 婷婷中文字幕网站| 五月天婷婷在线啪啪视频| 99成人在线观看| 色色色色丁香| 综合五月天完整| 国产成人精品一区二三区熟女在线| 欧洲亚洲免费视频9 | 色五月婷婷天天干| 狠狠干狠狠干| 69婷婷丁香午夜| 久久99热这里只频精品6学生| 丁香六月婷婷综合啪啪| 丁香婷婷网| 日韩AV片| 亚洲另类在线观看| 久久66精品| 95精品区一区二| 伊人久久婷婷| 免费视频WWW在线观看网站| 日本熟女视频一区二区| 亚洲V国产V欧美V久久久久久| 激情婷婷内射| 久久久久久久久18久久| 中文av网| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 色99久草在线| 99综合一区| 97色精品视频 | www.91在线观看| 狠狠色大香蕉| 只有精品在线观看| 91a片爽| 97色色在线视频| 大胆伊人久久| 久久婷婷视频| 激情五月天在线视频| 99在线视频免费| 99热爱爱干干日| 综合五月草 | 97人凄人人操人人爽| 日本啪啪天堂| 丁香五月 六月婷婷首页| 国产视频色色色色色色色| 亚洲舔观看| 99九九精品视频推荐| 淫荡综合网| 超级碰91| 色色色欧美| 亚洲性爱99在线| 精品成人在线| 97色热| 激情小说婷婷小说| www.久久婷婷| 极品少妇XXXX精品少妇偷拍| 亭亭玉月丁香| 99视频精品8 | 久久婷婷五月激情综合| 疯狂做受XXXX高潮A片动画| 艾小青av| 九九热99re8热免费观看 | 色99免费视频中文| 影音先锋 萱萱| 洗浴中心操B视频| 日本啪啪天堂| 五月丁香黄色| 天天日P天天射P| 婷婷五月天电影网| 久久久婷婷五月亚洲97号色| 免费观看欧美成人AA片爱我多深 | 看片视频在线免费日产在线看| 天天玩夜夜操天天爽| 亚洲天堂有码| 嫩草哈哈操| 丁香六月欧美| 激情综合五月| 超碰人人操人人干| 综合久久高清| 99热天堂| 夜夜撸夜夜骑| 婷婷激情综合| 色婷婷六月| 五月丁香婷婷激情澎湃四射| 天天干天天色天天干| 99热都是精品| 情色五月天网站| 99在线视频喷水| 国产精产国品一二三在观看| 亚洲中文字幕在线观看| 久操婷婷| 伊人激情AV一区二区三区| 色七七九九| 亚洲最大视频| 久久看婷婷| 婷婷五月天电影区小说区| 五月丁香六月日逼| 色色日韩无码| 五月激情网综合| 日本在线免费中文com.| 狠狠色丁香婷婷综合久久97AV| 如何安全看伊人婷婷| 99热亚洲| 狠狠五月激情在线| 色另类五月天| 激情五婷网| www色五月天| 天天日天天做天天操| 5月婷婷六月丁香| 综合五月亭亭9| 99热 在线观看| 五月色婷婷在线观看| 91狠狠综合久久久| 夜夜做天天爽| 99精品视频免费| 九九99一区| 欧美成人五月天| 天天干天天色天天干| 新激情五月天色播| 色色com| 九九热精品视频| 人妻啪啪啪| www婷婷| 五月婷婷丁香啪啪| 99久久久久| 久久婷婷啪啪视频| 99人这里只有精品| 五月丁查人人| 思思热99热| 思思99热| 五月天天综合| 午夜精品777| 人人爱人人添| 99视频这里有精品| 五月婷婷丁香综合,亚洲天堂| 99re视频在线| 激情视频婷婷五月花| 亚州激情在线视频| 婷婷五月天天爽| 亚洲色久| 大香蕉丁香五月| 欧美激情中文字幕| 这里只有国产精品在线| 丁香五月欧美激情| 亚洲综合色成丁香五月色| 综合激情专区| 综合在线丁香五月| 大香蕉伊人久久| 色五月婷婷五月天| 亚洲欧洲一二| 梁铮版蜘蛛女在线观看| 超碰九九热| 乱女乱妇熟女熟妇综合网站| 久久久无码精品成人A片小说| 99这里只有精品视频| 懂色av粉嫩av蜜臀av| 亚洲狠狠婷婷| 激情五月天www| 婷婷五月综合色拍| 色九月丁香婷婷蜜桃在线观看| 免费国产视频| 99热这里只有精品无码| 性爱久久| 99re在线视频| 欧美25p| 国产精品美女久久久久AV超清| 99久久高清视频| 五月花综合网| 国产成人网址| 九九热99熟女| 狠狠草在线观看| 人妻丰满精品一区二区A片| yazhochengrenavwang| 女人露出p毛视频www网站| 一级黄色尤物综合视频手机在线观看| 亚洲精品久久久久久久久久吃药 | 婷婷丁香六月影视| 日韩无码色色| 91婷婷色| 九月激情综合| 第四色网婷婷| 婷婷五月激情五月激情| 大香蕉丁香五月| 丁香五月在线视频| 五月天色丁香| 9l视频自拍9l九色成人| 亚洲成人AV在线观看| 九月停停| 婷婷五月天干干| 婷婷五月色| 婷婷月综合| 色色色色色色色色网站| 99日本视频在线观看专区| 99热精在线九九久久保| 久久久GOGO无码啪啪艺术| 亚洲免费99| 婷婷五月成人| WWW.久久久久久久| 综合婷婷久久| 丁香色婷婷| 日日干日日| 伊人大香久久| 激情五月丁香婷婷| 超碰三级片| 99re鈥哸鈥唙| 天天色综| 操久久网| 激情色中文| 99热国产免费| 激情网 五月天| 狠狠色综合网| 开心五月天激情| 色一情一乱一伦一区二区三区| 激情综合五月激情| 99ree6| 就爱啪啪婷婷| 偷拍99在线视频观看| 激情网综合| 久草五月丁香婷婷综合| 天天日夜夜爽| 亚洲色涩视频| 狠狠插.com| 色婷婷五月天天天干天天操天天爽| 激情五月天久久| 天天爽天天摸| 五月丁香婷婷色色色| 丁香五月电影| 久久人人人人妻| 91狼友视频网页更新| 亚洲热久久| 1024亚洲| 婷婷视频网| 五月婷婷婷婷婷婷艺术| 婷婷综合色网| 玖玖在线视频| 五月色影院| 91视频久久久| 欧美精品XXXXBBBB| 另类小说色婷婷| 丁香六月啪啪| 日韩av在线播放综合网| 超碰在线人人| 互月天综合| 久久99久久久久久久噜噜| 超碰高清在线| 五丁香激情综合| 韩日AV片| 日韩成人电影AV| 天天久久九九| 精品人妻伦一二三区久| 日韩无码色色| 久久婷婷丁香五月一二三| 夜色五月天| 五月婷婷偷拍| 国产精品久久久丁香五月八戒视频| 一本九九色| 日本色色色| 婷婷丁香激情| 婷婷开心深爱五月天| 婷婷的五月天另类视频| 99黄色性生活| 婷婷午夜天| 丁香六月婷婷综合激情欧美 | 永久热91| 666555。COm毛片| 天天日天天插| 日韩十国产极品久久| 亚洲av免费在线| 成人超碰网| 五月天激情综合网俺也去| 午夜精品久久久久久久爽| 色婷婷六月| 婷婷丁香六月影视| 九色婷婷| 欧美成性色| 久久精品A片777777| 日日操,天天操| 伊人久久大香蕉网| 婷久久高清| 天天干夜夜想| 射区导航| 深情五月天| 99rewww| 啪精品| 99久久99综合| 五月激情影院| 激情五月婷婷网| 亚洲激情网| 婷婷六月插屄激情| 久久五月丁香婷婷| 色五月综合激情| 伊人久热91网| 五月丁香花激情啪啪网| 亚洲色色在线| 综合亚洲色色| 色色色色欧洲| 天天噜天天插| 天天色月| 日日噜狠狠色综| 婷婷五月激情图片| 中文字幕九九九九| 五月天激情图片| 亚洲九九婷婷| 第四色五月婷婷| 激情五月天福利| 丁香六月天婷婷色| 丁香五月Av| 无码人妻一区二区三区免费九色| 婷婷五月天影视| 国产 A片 自拍| 91五月天| 五五月丁香花激情综合网| 99激情网| 久热只有这里有精品| 日本天堂爱爱| 久久五月视频| 就99这里只有精品| 久久婷婷操| 亚洲综合干| 97丁香五月天| 天天干天天操| 夜夜干 夜夜操| av操一操| 五月婷婷激情久久| 色噜噜狠狠一区二区三区| 99热最新| 精品久久久91久久影视网| 五月婷婷爽爽爽| 丁香五月天大香蕉啪啪| 国产精品成人网站| 色婷婷影视| 丁香五月影院| 影音先锋男人AV资源站| 国产超碰人人| 五月丁香日本片| 翔田千里aV中文字幕| 五月激情另类| 精品五月天| 天天爽天天爽| 丁香六月综合激情| 日本44久久在线| 色原狠狠综合| 性色人人爽| 婷婷涩涩网| 色婷婷五月天综合网| 色婷婷五月视频| 色色热| 久久99久久99久久99人受| 99热这里只| 五月色丁香国产在线视频| 九九热视频思思| 久久久久这里只有精品| 色色国产| 99精品偷拍视频| 96精品久久久久久久久| 涩涩五| 五月天狠狠网| 天天插天天干| 天天色综| 亚洲婷婷丁香五月视频| 无码区婷婷五月花开| 婷婷色综合| 色五月激情综合网站| 97干欧美| 激情九九这里只有精品| 99超级碰免费视频| 五月丁香激情婷婷综合| 日韩成人综合网| 欧美69久成人做爰视频| 成人AV免费观看| 激情黄色小说五月天| 在线观看av网站| 97精品人人A片免费看| 大香久久伊人网| 亚洲五月丁香综合网| 天天天综合网| 嫩草AV久久伊人妇女超级A| 国产AV不卡福利| 丁香五月瑟瑟| av九九| 丁香婷婷久久综合在线| 天天射综合网天天插| 亚洲色碰| 丁香五月综合久久| 国产一二三四五六七八视频| 天天做天天爱| 九九九九国产| 欧美色久| www.9797国产| 综合久久久婷| 伊人啪啪网| 91碰碰| 级情九色| 九九99免费理论| 婷婷五月a| 亚洲人人操BD| 丁香五月大香蕉在线99| 婷婷丁香成人在线视频| 亚洲综合在线视频| 九九热只有这里精品| 涩综合网| 亚洲熟女色| 五月丁香六月婷婷激情视频在线观看免费| 九九爱激情| 亚洲五月天天| 天天射影院| 少妇人妻丰满做爰XXX| 亚洲美女高潮久久久久久69| 婷婷五月大香蕉| www五月天com| 国产激情综合五月久久| 久久精品日| 激情婷婷五月基地| 色色色色色色色五月| 婷婷成人综合五月| 色色婷婷综合| 亚洲第一色区| 六月婷婷青青青视频| 色区域网站视频| 国产成人AV| 激情影院内射| 中文字幕1区2区。| 婷婷激情五月综合丁| 成人国产欧美大片一区| 校园激情 亚洲| 九八Av| 欧美色色色| 丁香六月成人| 天天干天天操天天拍| 色五月婷婷影视| 人人草人人舔| 久久久网站| 婷婷五月色天| 丁香涩涩五月天| 国产精女同一区二区三区久| 色爱亚洲| 久婷| 中文字幕乱码亚洲精品一区| 中文av在线观看| 色天五月天在线观看视频| 日韩久综合| 色综合色五月| 久久久久综合激动五月天| 国产精品成人AV在线观看春天| 色色色欧美色色| 五月丁香A∨在线| 91超级碰在线| 99热精品10| 99热有精品在线观看| 五月婷婷亚洲| 无码九九| 欧美碰碰| 99日韩| 日本熟女一区二区| 激情综合网五月天| 精品无码视频| 久激情网| 伊人激情综合| 丁香九月久久| 丁香六月成人网| 2022人人操人人看| 97精品人人A片免费看| 五月天色婷婷激情| 嫩草AV久久伊人妇女超级A| 丰满女老板BD高清A片| 九九99视频| 婷婷色婷婷亚洲成人| 国产无遮挡又黄又爽免费网站| 精a品a| 中文网AV| 99热精品网| 婷婷五月天com| 99人人操| 五月婷婷操操| 激情久久久| 婷婷六月五月天综合| 操久久网| 青青操丝袜美腿| 日韩成人精品中文字幕| 99精品一二三四视频| 五月婷婷色男女| 精品99在线看| 美女被肏网站在线看| 婷婷五月色播| 九九婷婷综合| 五月婷婷六月丁香色| 青青热久久综合| 91成人看片| 99精品视频播放| 日本狠狠干| 99精品在线观看| 啪啪激情网站| 久久五月丁香六月婷| 色五月av| 婷婷丁香97| 色噜噜婷婷| 欧美又粗又大一区二区在线观看| 婷婷爱爱蜜臀天天操| 亚洲国产成人AV在线| 久草热久草在线视频| 26UUU欧美| www.91婷婷| 五月婷婷丁香在线| 99思思热只有在这里看| 久久这里只有精品网| www.av视频xx999.com| 丁香花五月天激情| 成人版视频在线观看| 亚洲天堂有码| 久久婷婷五| 99九九精品视频推荐| 国产精产国品一二三在观看| 在线另类| 激情四射五月天| 夜夜爽天天干| 色人久久| 青草视频在线观看视频| 精品夜夜澡人妻无码AV| 少妇性按摩无码中文A片| 日日操日日撸| 超碰碰碰碰| 九九热精品在线| 婷婷五月成人| 亚洲成av人影院| 亚洲乱码日产精品BD| 色五月激情综合网| 色丁香影院| 在热视频精品| 狠狠高潮精品亚洲1| 99热这| 99精品在线观看视频| 丁香五月在线| 一起草无码| 99久在线观看| 激情开心五月天| 亚洲黄色影视| 色综合激情图区| 在线日韩av| 大香蕉狠狠爱主页| 九九久久五月天| 99热99ai| 精品皮股午夜AV| 久久视频这里有精品99| 激情四射网| 婷婷丁香六月天| 欧美日韩中文国产一区发布| 日韩五月婷婷久久| 五月丁香九九| 俺也去婷婷五月天第五色| 精品人妻伦| 一本综合丁香日日狠狠色| 美国色五月天婷婷资源站| 综合伊人久久| 久久98| OYIWbGcPu8H| 六月丁香停| 丁香五月天激情婷婷丁香六月| 精品人妻久久久| 五月久视频| 色五月婷婷丁香五月| 国产五月视频| 老司机伊人| 免费无码毛片一区二区A片| 日韩AV免费| 天天色天天射天天日| 午夜爱爱爱成人| 狠狠的日| 人妻丰满精品一区二区A片| 人人超碰99| 色色自拍视频网站| 狠狠狠狠狠狠狠狠| 色色色999| 九九精品婷| 亚洲夜五月| 狠狠高潮精品亚洲1| 色色色com| 九月av在线| www.sd-xiangsu.cpm| 婷婷五月激情图片| 欧美性生交XXXXX无码小说| 丁香五月婷婷欧美激情-中文天堂最新版在线观看| 色色色色欧洲| 久热免费视频| 色五月婷婷7777| 狠狠综合久久| 色香欲综合| 无码人妻AV久久久一区二区三区 | 一本综合丁香日日狠狠色| WWW99热| 久久久久9久无码视频| 丁香五月久久| 欧美色性色好| 日本韩国视频在线观看社区免费的9| 日本超碰在线| 久久综合爱| 99爱在线观看视频| 中国丰满熟女A片免费观| 97香蕉久久超级碰碰高清版| 99亚洲无码| 久草热8精品视频在线观看| 九色91视频| 五月天婷婷成人| 蜜乳av一级av| 五月www| 能看的av| 五月丁香久久精品在线观看| 丁香五月欧美激情| 欧美日韩成人高清在线| 激情深爱五月| Av中文在线| 天天射影视综合网| 无码AV久久久久久久久| 五月婷婷六月丁香激情深爱| 五月婷婷伦理| www.色五月| 91色色色18| 免费看欧美成人A片无码| 91丁香色五月| 九九久热| 精品视频网| 五月婷婷激情综合视频| 婷婷丁香色五月天| 爱婷婷五月| 婷婷视频在线| 热99精品视频| 亚洲中文AV| 丁香婷婷色六月| 99se丁香| 吊色AV男人的天堂| 五月婷婷影院| 99热亚洲精品| 九九热黄色| 久久ww| 亚洲综合99| 天天射影| 日本人妻伦在线中文字幕| 九九九九九无码| A片女女女女女女BBBB| 夜夜噜夜夜奇| 依人大香蕉在钱1| 婷婷丁香人妻天天久久| 色月丁| 热99免费在线| 五月婷网| 天天射影院| 天天舔天天插天天干| 亚洲岛国电影| 亚洲精品色| 9191avse| 99国产精品久久久久久久久久久| 天天操夜夜夜拍拍拍| 久久九九激情五月天| 玖玖资源站中文| 五月丁香婷婷激情影院欧美| 玖玖婷婷五月天| sS丁香五月婷婷| 伊人久久大香线蕉精品| 播四月婷婷六月丁香| 国产精品日日躁夜夜躁| 日日操夜夜爽| 色五月天在线| 99热这里有精品首页10| 激情网五月| 五月婷六月丁香| 欧美日韩国产一区二区| 六月丁香啪啪| 中出内射的人妻视频| 欧美婷婷精品激| 91日韩在线| 丁香五月 六月婷婷首页| 97人人操人人| 热这里只有精| 日韩无码性爱| 九色婷婷| 色五月色五天免费视频| 99re最新地址视频| 超碰A V在线| 丁香五月天啪啪| 婷婷亚洲五月色综合| 九九99热| 欧美黄色一级录像| 婷婷性爱网| 九六五月天婷婷| 99热在线精品播放| 夜色五月天| 91狠狠色| 婷婷丁香五月在线播放| 狠狠色婷婷在线| 91主播在线| 99热色精品| 亚洲操b| www色婷婷久久综合久色| 国产第99页| 久草热8精品视频在线观看| 九九热在线精品| 成人欧美一区二区三区在线观看| 七七色色综合| 五月婷婷 激情按摩| 亚洲精品视频在线播放| 丁香五月另类小说| 天天做天天双| 成人午夜无码视频| 五月婷婷丁香网| 日本视频久久| 午夜性爱影视一区77| 久久精品五月天| 午夜微拍福利| 99热| jiZZdr| 九月av| 婷婷十月激情综合网| 日日天天操| 一起草av| 欧美视频五区| 影音先锋 一区| 色婷婷六月| 桃色五月天| 久久只有18视频| 182TV大香蕉| 婷婷香五月天| 丁香五月婷婷俺也要去| 内射激情在线| site:esunnet.com| 天天爽夜夜爽夜夜爽精品| 欧美色色色色色色色色色色| 9色在线视频精品观看| 色九四色| 激情五月天天| 色色五月婷婷狠狠| 国产欧美日韩综合精品一区二区| 激情深爱五月天| 99爱视频在线观看这里只有精品| 亚洲网站999| 丁香五月av| 久久九九免费视频| 五月婷天天搞视频| 99热这里只有精品2| 久久九九蜜| 都市激情五月婷婷亚洲| 99热99热99热99热| 狠狠色噜噜| 国产色色色色| 夜夜夜夜撸夜夜操| 五月天婷婷在线观看| 99热这里只有精品2| 成人丁香婷婷| 夜夜谢天天干| AV成人在线播放| 色私五月婷婷| 久久精品4| 天天色综合色色色色色。| 人人色婷婷五月天| 99这里只有精品国产| 色婷婷4| 天天拍久久| 综合五月激情网| 这里只有久久精99| 色婷婷六月天| www超碰| 99操逼| 一本色道久久88综合日韩精品| 国产,欧美,学生妹,视频| 偷拍九九热| 五月丁香偷拍| 99人碰碰碰| 丁香五月天色综合| 大香蕉院线| 色噜噜五月天| 激情五月丁香五月| 少妇性按摩无码中文A片| 超碰成人公开| www.91AV.COM| 五月婷婷激情综合| 狠狠狠狠狠狠草| 九九久热| 久久综合九九| 婷婷99视频在线| 色欧美日| 99免费视频久久| 五月丁香五月天现场视频| 99热99热在线| 5月丁香啪啪啪| 欧美色图片88| 丁香五月婷婷欧美激情-中文天堂最新版在线观看 | 91 九色 入口| 狠狠色噜噜狠狠色噜噜噜999| 日夜夜天天| 久久婷婷五月天激情| 99热在线观看| 大香人妻| 99色区| 色五月丁香伊人五月| 婷婷六月啪啪| 播丁香五月婷婷欧美| 六月撸婷婷| 青青久久五月| 久婷婷婷| 亚洲 五月 婷婷 成人| 爆乳熟妇一区二区三区爆乳照片| 免费视频WWW在线观看网站| 9热久久| 色综合播放| 婷婷五月激情中文字幕| 欧美日韩成人在线| 久久综合网桃花| 五月激情综合激情五月| 激情av在线| 精品一二三区久久AAA片| 草榴视频网| 九九爱看亚洲| 九九久久综合| 狠狠久久婷| 婷婷五月天六月综合| 五月丁香啪啪综合| 超碰妻人人| 七七九九色色| 丁香五月情| 99在线视频。| 激情综合女人网五月播播| 久久天天| ztEJj| 怕怕av| 97九色| 亚洲免费av观看| 操丝袜视频影院导航| 丁香五月婷婷五月| 99日精品视频| 九九色综合视频| 无码激情AAAAA片-区区| 9l视频自拍9l九色成人| 深爱五月婷| 免费无码毛片一区二区A片| 五月天婷婷伊人| 亭亭五月天黑人2014| 女人天堂AV| 高清视频一区| 激情婷婷五月天| 99久久五月婷婷| 丁香五月丁香伊人| 极品少妇XXXX精品少妇偷拍| 97在线精品| 亚洲综合五月天婷婷丁香| 99热 在线播放| 国产精品人妻在线网址| 国产免费av在线| 综合激情在线视频| 丁香五月天婷婷在线视频| 六月丁香综合| 婷婷的99视频网站| 久99| va亚洲中文在线| 丁香婷婷91在线观看视频| 超碰免费99| 九月丁香| 97香蕉碰碰人妻国产欧美| 五月天天堂久久| 天天综合五月天| 大香蕉伊在| 噜噜国产| 色色色色色五月| 色五月婷婷亚洲最大| 麻豆精品| h亚洲| 六月丁香婷婷色狠狠久久| 亚洲操B| 視频福利乱色| 激情综合五月天| 亚洲碰碰碰| 久热黄色| 色综合久| 色色99| 丁香六月高清视频| 亚洲五月六月婷婷| 开心五月天激情网站| 涩婷婷视频快播人妻| 综合网五月| 狠狠色五月| 国产激情久久久| 天天玩夜夜操天天爽| 中文字幕网伦射乱中文| 色婷婷六月精品| 中文字幕av网站| 国产精品美女| 亚洲中文字幕av| 九九这里只有精品| 丁香五月天BBw| 久久中国毛毛片爱久久| 五月丁香久人妻中文| 天天色综合天天| 野战J办公桌椅H| 天天干狠狠| 91人人操人人| 欧美激情综合色综合啪啪五月| 99免费视频精品| 婷色视频| 九九热这里| 日本激情五月| 五月天婷综合| 色色色五月婷婷| 99re这里只有精品在线观看| 五月天停停日日| 激情四射五月天| 久久久人妻门| WWW99热| 午夜激情五月| 人人操女人| 激情五月婷| 情久久综合五月天| 97精品综合久久| 欧美五月停| 99操免费视频| 婷婷在线操| 五月天丁香综合在线| 99色视频| 99久久极情精品一区| 午夜婷婷| 婷婷色狠狠| 综合激情视频| 午夜做爱影院| 色五月婷色彩免播放器| 97人人操人人拍| 五月天久久婷婷| 激情五月丁香六月| 天天日,天天射,天天插| 婷婷色五月天色色| 六月色婷婷| 操日视频| 中文网av| 婷婷五月天激情四射五月天激情| 成人视频免费观看高清完整版在线观看| 操人91| 一级性爱视频| 欧美日韩大黄| 精品99在线看| 超碰2021| 亚洲精品无码一区二区| 五月天伊人综合| 伍月婷丁香花全集| 激情小说婷婷小说| 色偷偷色婷婷| 九九色黄色| 欧美三级A做爰在线观看| 91狠狠综合网| 夜夜干夜夜操| 天插天啪天啪天啪| 色五月婷婷 成人| 久99热在线观看| 五他月天啪啪啪| 成人做爰高潮A片免费视频 | 国产69精品久久久久999小说| 丁香六月婷婷开心| 天天爽,夜夜爽| 五月天婷婷影院影院| 人人色人人摸人人看| WWW,五月| 99噜噜噜| 啪啪九九色| 婷婷五月天国产传媒| 婷婷综合久久| 色情综合网| Av九九| 色噜噜五月天| 色色色99| 亚洲精品国产精品乱码视99| 可以免费看的av网站| 淫视馆av三区| 大地资源色婷婷视频在线| 久久久精品人妻| 色婷婷狠狠18禁| 久久婷婷网| av在线激情| 五月丁香激情综合啪啪| 思思热这里只有精品| 激情5月婷婷| 久久黄色片| 五月婷婷综合久久| 欧美色五月天| 国产色99| 26uuu精品国产| 91婷婷五月天嫩女| 婷婷激情五月天激情| 亚洲精品午夜国产va久久成人| 国产一二三四五六七八视频| Www.婷婷五月| 激情九九这里只有精品| 5月丁香六月婷婷| 夜夜操天天爽| 99热这里有精力| 久久综合五月| 热久久这里只有精品| 天天人人人人人人人人人人人| 97色色视频| 香蕉操亚洲| 在线另类| 任你草| 久久精品A片777777| 思思久久久婷婷| 香蕉99网| 亚洲 欧洲 国产 伦综合| 婷婷色在线播放| 午夜免费试看| 色情五月丁香婷婷网| 我爱婷婷五月天综合88| 五月天婷婷中文字幕在线播放| 久久婷婷综合五月趴| 丁香五月AV| 五月婷婷之综合激情| 免费看欧美成人A片无码| 日本激情综合| 激情国产综合| 五月天激情影院| 同性gv国产精品一区二区| 无码婷婷五月天| 99亚州综合精品成人网| 91人操人人人操人| 99这里只有精| 婷婷综合性爱网| 九九偷拍网| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 五月天基地| 性热视频99精品| 日日干天天| 大香蕉在线99热| 婷婷伊人75| 综合在线网| 79精品视频| 五月婷婷天| 色婷婷激情Av久久久| 色www.con| 亚洲激情免费久久| 亚洲第一第二网站| 99精品在线播放| www.玖玖九| 超碰成人免费| 男人的天堂av俄罗斯热| 婷婷伊人综合中文字幕| 丁香五月激情欧欧美| 一二三区视频韩国| 9.1综合网| 亚洲国产va| 亚洲欧美综合7777色婷婷| 伊人在线视频| 精品久久婷婷| 五月丁香婷婷综合激情基地| 99热66| 丁香五月激情网| 日本乱论99| 69午夜成人影片| 色婷婷综合亚洲| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 欧美搡BBBBB摔BBBBB| 日本三级色| 色综久久AV| 日日夜夜天天| 色五月激情五月| 亚洲天堂爱爱| 色婷婷社区| 99热久久这里只有精品| 射区导航| 这里只有精彩视| 九九色婷婷| 中文字幕av在线播放| 99热这里只有精品 搜| 五月婷婷色| 久9热视频| 五月成人综合| 99亚洲精品| 久久久久婷婷| 五月婷婷五月| www.丁香黄色五月天人与| 99免费综合网| 国产午夜精品一区二区| 大香蕉在线99热| 亚洲五月六丁香激情| 久热91| 久久久久久99精品无码| 久久人妻视步| 精品少妇人妻AV无码专区偷人 | 中文无码婷婷| 五月丁香色婷婷| 玖玖@三月天天丁香婷婷| 国产va在线视频| 久久人妻久久| 亚洲午夜视频| 婷婷五月天AV在线| 99re在线免费视频| 国精产品一区二区三区| http:色情日本com| 激情六月丁香综合| 另类天堂| 在线成人网址| 激情综合99| 91视频免费后入强操| 人人妻久久妻| 婷婷综合国产| 天天夜天天色天天| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 日本激情五月天‘| 色噜噜丁香| 亚洲AAA| 色狠狠色噜噜AV天堂五区| 激情文学天天| 色婷视频| 天天拍夜夜撸| 99热这里是精品| 五月婷婷与六月丁香图片激情| 天天天天天日| 欧美色婷婷| 99热97| 秋霞午夜理论| 国产AV一区二区三区最新精品| 久久996re热这里只有精品无码| 疯狂做受XXXX高潮A片| 五月丁香综合精品|