免费国产精品自在自线-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
返回資訊列表
丁香五月另类小说| 激情AV| 久久久免费图片视频| 99视频在线精品| 五月婷婷基地| 亚洲丁香花五月丁香花| 五月天婷婷在线观看| 午夜丁香婷婷| 青青操丝袜美腿| 青青草成人网| 久久9热| 婷婷五月天激情在线观看| 欧美碰碰| 五月婷婷久久爱| 九九热黄色| 亚洲 小说 欧美 激情 另类| 开心五月天私房婷婷| www.minyis.com【JT】实力收量可预付QQ2101460746 | 丰满少妇猛烈A片免费看观看| 日韩无码人妻一区二区三区综合| 97久久久久| 操逼五月婷婷| 色99网| 视频这里只有精品16| 激情婷婷激情在线不卡| 国产在线aaa片一区二区99| 九九99热| 青青草视频福利| 熟女网站久久| 久久婷网| 综合一区二区三区| 99啪99| 精品影院| 任你草| 激情五月丁香六月综合AVXXXX| 日日夜夜噜噜爽爽| 狠狠舔| 色色五月激情| 六月激情丁香一道本7777| 欧美婷婷综合| 三男玩一女三A片| 99热免费在线| 激情六月综合| 婷婷五月激情基地| 色五月五月天| 亚洲狠狠操| 丁香五月网络网络| 亚洲日韩一页精品发布| 色婷网| 91丨九色丨熟女| 丁香月五月天婷婷久久| 国产亚洲在线| 丁香五月婷婷无码AV| 激情五月丁香五月| 五月婷婷五月丁香综合| 五月婷婷五月丁香综合| 新激情五月开心五月婷婷五月丁香五月| 91狠狠色丁香| 91婷婷在线观看| 色伊人91在线视频| 9久操| 五月天久久小说| 丰满少妇猛烈A片免费看观看| 色优久久| 人碰人人人玩91| 久久五月婷婷综合网| 国产一二区爆乳_1国产日韩一区二区三-成人AV | 色欧洲| 五月婷婷 激情五月| 亚洲婷婷五月天激情综合| 玖玖精品视频99| 国产精品久久99| 色婷婷操逼| 久久久五月五丁香| 激情综合五月激情XXXX| 婷婷五月色网| 丁香婷五月天开心六月| 狠狠操狠狠操AV| 丁香五月婷婷色| 久99久精品| 91色在线| 丁香五月激情综合网激情五月| 丁六月激情| 久久综合九九| 99re思思精品在线观看| 久热黄色| 人与禽A片啪啪| Www.sesese丁香| 亚洲蜜乳AV| 六月丁香色色| 亚洲色欲AAAAAA| 五月天涩涩| 午夜成人综合| 婷婷五月在线影院| 五月天丁香网| 99色亚洲| 精品国产AV色一区二区深夜久久| 丁香五月大香蕉AV| 夜夜爽日日躁| 超碰在线国产| 99在线看片| 五月激情婷婷综合| 97婷婷五月天| 色色色五月婷婷| 99cao婷婷| 任你操精品免费| 秋霞学生妹一二级| 婷婷99中文字幕| 国产XXXX搡XXXXX搡麻豆| 欧美婷婷色五月网| 丁香五月AV综合激情| 丁香五月天资源网| 色色婷婷综合| 思思99精品视频| 五月天色五月| 久久人妻乱| av久热| 亚洲AV影片在线观看| 91ncm视频| 97色伦另类图片小说视频| 婷婷月综合| 国产精产国品一二三在观看| 99惹在线精品免费观看| 67194成I人在线观看线路1| 伊人丁香五月天丁香在线婷| 色激情综合狠狠婷婷| 另类国产欧美视频| 、激情六月天| 热久精品| 婷婷丁香视频在线观看免费| 99亚洲天堂| 亚洲另类婷婷综合| 超碰成人电影| 婷婷丁香在线| 婷婷久久网| 超碰免费大香蕉| 视频色色色色色色| 久久99jiu9| 日逼免费视频 | 五月天综合久久| av操B网站| 色婷婷丁香五月在线| 97视频.干com| 久久五月天视频| 婷婷五月骚厕所| 97色碰| 久久综合激情| 久久婷婷五月| 免费AAAAA网| 亚洲综合五月天婷婷| 免费无码毛片一区二区A片| 五月丁香六月综合情在线观看| 久久奄也去色色网站| 久久五月网| 一区二区三区四区牛| 色婷婷五月基地在线| 婷色五月天| 国产成人亚洲综合亚洲| 国产精品五月天婷婷| 婷婷五月天丁香| 亚洲激情综合| 六月婷婷中文字幕| 少妇被下春药玩弄A片| 99久久九九| 天堂五月婷婷| 激情床戏| 99这里只有精品|v| 婷婷丁香色五月亚洲| 婷婷大乡焦噜噜| 精品国婬伦V无码久久久| 成人久久天天x资源站| 亚洲永久四色| 久久女婷| 五月丁香六月激情| 日本五月丁香| 久99久视频精品| 婷婷五月天播| 99热超碰| 袁子仪视频观看| 久久九九国产精品怡红院| 噜噜噜狠狠色综| 51国精产品自偷自偷综合 | 欧美综合在线五月天色婷婷| 亚洲黄网AV| 色青青视频| 天天插天天干| 五月色丁香激情| 五月Huangsewang| 天插天啪天啪天啪| 久久久久五月丁香| 久热黄色| 成人五月天色天堂| 国产婷婷婷| 激情五月色综合国产精品| 黄色中文字目| 夜夜躁婷婷AV| 最新午夜理论片| 99综合免费视频| 亚洲色色图片| 99综合入口| 丁香婷婷成人网| 五月天堂色色| 99视频精品在线| 五月天小说激情| 六月五月天婷婷涩播在线| 色狠狠综合| 丁香五月婷婷老师网站| 第四色激情网| 五月天婷婷黄色| 丁香花狠狠婷婷亚洲中文字幕| 99热这里只有精彩| 欧亚洲在线高清视频| 大香蕉520| 337p午夜影院| 97色视频网| 97色伦另类图片小说视频 | 婷婷俺去也| 欧美久久网| 久久激情视频| 狠狠狠五月婷婷六月丁香| 五月天婷婷Av| 91超碰九色| 婷婷五月黄色激情在线| 中文在线视频久9| 五月丁香大相交| 婷婷爱综合| 色色色宗合网| 五月天色不卡| 直接看的av| 99热这里都是精品| 五月开心深深爱激情综合 | 亚洲日韩欧美综合VA| 182TV大香蕉| 色综合色色色| 亚洲激情另类| 色狠狠图片| 第四色五月婷婷| 丁香五月婷婷基地| 99热这里是精品| 丁香色综合| 婷婷综合丁香| 五月婷婷激情综合网| 国产精品久久久久久五月天加勒比| 东京热免费视频网站| 久热免费视频| 综合久久影院| 色五月婷婷一二| 丁香六月色香蕉视频| 97碰碰人人视频| 五月亭亭开心网| 色色色色av色色色色| 最新日本A片| 另类亚洲电影| 丰满少妇猛烈A片免费看观看| 丁香五月天激情综合| 丁香五月综合激情久久潮喷| 操日视频| 婷婷五月天毛片| 99ER热精品视频| 波多野结衣AV无码Porn| 五月丁香啪啪伦理电影| 五月丁香六月婷婷免费视频| 五月丁香综合啪啪| 色色色在线| av在线婷婷| 色999五月色| 久久综合婷婷五月| 五月婷婷六月丁香色| 天天搽天天射| wWwCom夜操wwW| 久久91久久91色欲精品| 超碰97在线观看免费| 丁香六月婷婷久久综合| 伊人五月天| 九九99热久久精品66中文字幕| 天天模,夜夜模夜夜爽| 99久久婷婷国产综合精品草原| 97久久超级| 日本激情五月| 婷婷色五月婷婷姐妹| 日本三级网址| 九色七七| 久久刺激网| 久热视频97AV在线观看| 丁香五月玖玖| 嘿嘿视频免费看9| 人与禽A片啪啪| 久久免片| 99操视频| 色色婷| AV电影在线播放| 超碰在线观看9| 丁香婷婷成人网站| 丁香美女五月天婷婷| 激情婷婷五月天日本系列| 午夜九九电影| 五月天综合影院| 超碰renrenai| 激情五月www| www.思思99热| 色婷婷裸体色性在线| 开心五月婷婷激情网| 天天肏屄夜夜爽| 啪啪91| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 亚洲九九免费| 超碰人人插| 成人αV视频免费观看| 国色天香成人网| www.狠狠| 91丁香色| 看逼中文字幕| 五月激情啪啪| 99热这里有精品24| 深爱激情婷| 欧美激情综合五月色丁香| 五月综合色播播丁香婷婷| 婷婷射图五月天| 99爱精品视频| 激情六月天婷婷| 九九AV在线| 色色婷| 色色色99| 婷婷五月天美女视频| 六月婷婷影院| 丁香花五月天激情| 五月色综合| 国产毛片精品一区二区色欲黄A片| 精品欧美一区二区三区久久久| 精品爱欲五| 亚洲激情六月| 99久久综合网| 1995年关宝慧版蜘蛛女| 91久久久久久久久| 欧美槡BBBB槡BBB少妇| 色婷婷色综合久久精品V| 1024久婷| 精品国产va久久久久| 亚洲色情激情丁香五月| 激情五月久久| 婷婷五月天成人网| 欧美亚洲成人在线| 91精品熟女| 日日夜夜小色哥| 99热综合网| 亚洲九区| 另类婷婷五月天啪帕帕| 久久激情视频| 天天插天天射| 亚洲熟妇AV乱码在线观看| 9|人妻人人操| 91五月天| 色婷婷婷婷五月天| 欧美婷婷| 综合99视频| 日日操夜夜爽天天天| 婷婷射丁香| 99这里只有精品|v| 婷婷丁香91| 亚洲人成网亚洲欧洲无码久久| 亚洲色vA| 五月婷婷综合激情| 婷婷五月综合欧美在线播放| 99久久综合网| 五月天婷婷丁香人人操91| 一级性感黄色内射视频| 操操操AV| 国产乱妇无乱码大黄AA片| 欧美婷婷丁香五月| 婷婷性爱无码视频| 五月婷色| 91日本在线| 五月丁香激情婷婷综合| 婷婷五月天成人网| 美女黄频aⅴ视频| www,色中色| 91超碰在线播放| 亚洲岛国电影| 丁香五月大片| 泰州成人视频| 久久婷婷内射| 99久久五月婷婷| 99国产精品久久久久久久久久久 | 91超级碰碰| 亚洲永远av在线播放| 久久99热这里只有精品首| 婷婷五月天亚洲| 久久精品99国产精品日本| 丁香五月日韩| 五月丁香啪啪网| 激情五月综合网| 久久五月视频| A片一曲| www.久久久久久久久久.com| 思思w99| 亚洲激情综合| 丁香婷婷激情综合五月激情| 色射影院| 久久综合性| 婷婷五月天天爽| 雪千夏麻豆| 五月婷婷和六月| 色色色色网站| 五月天无码| 久久性爱视频| 亚洲熟女色| 99色在线视频| 成人AV中文字幕| 超碰1999| 亚洲成人精品三区| 99综合成人视频在线观看| 色综合综合色| 不卡的AV网站| 激情婷婷五月天在线观看| 大地资源色婷婷视频在线| 国产伦理精品高清在线观看网站一区二区 | 日本色色色| www.黄色片-久久成人国产精品在线播放-999AV| 99啪视频在线观看| 婷婷五月天激情小说| 丁香六月激情国产| 九九热在线观看视频| 九9九9无码| 天天爽夜夜爽夜夜爽精品视频| 色色色色色九九九九九| 亭亭五月色男人| 97人人操人人拍| 伊人久久五月天综合| 婷婷在线网| 日本激情综合| 日韩视频女神99| 国产色色视频| 亚洲区视频| 色婷婷婷婷| 99色这里| 7EzOBIhNq85TO| 日本熟女内射| 九月丁香八月婷婷久久综合久97| 超碰a女人的天堂| 综合激情在线| 国产亚洲99久久精品| 天天日夜夜高潮| 成人丁香五月天| 99热日韩这里只有精品| 五月天综合在线网| 青草五月天| 毛片新网地| 亚洲午夜AV| 9er热在线精品视频| 色五月亚洲| 成人色五月天| 五月天天久久香| 欧美久人人| 色综合大香蕉| 另类图片激情五月天| 超pen个人视频97| 五月叮香啪| 日韩色久| 狠狠精品干练久久久无码中文字幕| 狠狠色 综合色区| 色色色色色综合| 色五婷婷开心缴| 国产avapp 网| AA片在线观看视频在线播放| 婷婷色导航| 7777激情基地| 六月婷综合| 精品久久久久久久人妻| 色玖玖综合网| 婷婷五月丁香青青草在线| 婷婷五月天无码| 性韩日色婷婷五月天激情啪啪XXX| 亚洲无AV在线中文字幕| 99热99极品观看| 亚洲美女婷婷五月天| 国产免费一区二区三州老师F1……| 九九99久久| 天天综合激情| 国产avapp 网| 婷婷五月天免费99| 超碰免费人人| 天天色激情| 91精品久久久久久久| 亚洲天堂婷婷丁香| 激情丁香五月天| 婷婷视频在线| 秋霞三级色戒| 色婷婷瘦婷婷日韩| 影音先锋91在线资源站| 91色综合| 婷婷九月在线| 9999热这里只有精品| 色色色色色色网站| 久热这里只有| 五月色丁香激情| 久九色| 激情文学 综合 九月| 欧美这里只有精品| 亚洲网站999| 五六月丁香激情视频| 久久婷婷啪啪视频| 开心久久网婷婷| 少妇AB又爽又紧无码网站| 我去色色网五雨天| Www,五月天| 激情综合青草| 女同激情久久av久久| www.ywav| 青青草原亚洲久| 五月天伊人| 久久久久久人妻| 五月天狠狠干| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 色噜婷婷| 日本色色色色色色色色一色二色| 五月激情在线| 综合色色色| 亚洲无线视频| 99久在线精品99re5热视频| 五月婷婷啪啪网| 婷婷五月成人有| 五月丁香狠狠爱| 99热插| 五月丁香色色色| 香蕉AV777XXX色综合一区| 久久久18| 天天操无码| 婷婷综合色图| AV中文在线| 婷婷久久伊人| 大香AV| 在线综合91| 亚洲狠9| 思思久久久婷婷| 国产精品99久久久久久久女警| 天天操天天曰| 五月天.com| 91色色色| 婷婷免费视频| 欧美韩国日本| 最近中文字幕2019视频1| 99网| 久久精品国产AV一区二区三区 | 91蜜桃婷婷狠狠久久综合9色| 超碰免费大香蕉| 夜色综合网| 中文字幕网站在线观看| 91偷拍视频| 97人凄人人操人人爽| 色狠狠999综合| 丁香五月手机在线| 日本综合色图| 五月丁香综合啪啪啪啪啪| 桃色五月婷婷| 婷婷伊人激情婷婷| 亚洲婷婷五月天激情综合| 五月天成人手机在线视频| 五月婷婷无码专区| 亚洲精品99| 久久久久久久久99精品| 丁香五月影院| 九月丁香婷婷| 以及AA大片看看| 久久五月情| 色色色在线| 丁香六月婷婷综合激情欧美| 免费的日逼视频| 人人看人人摸人人| 26UUU精品一区二区| 五月丁香影院| 色五月欧美| 免费观看的AV| 九九无码| 九九热AV| www.99riav99| 久久婷婷五月天激情四射| 日韩啪啪视频| 五月丁香色色综合| 五月婷婷六月丁香在线视频| 超碰男人色| 激情色色色| 欧美顶级少妇做爰HD| www.9色色色| 婷婷在线免费| 停停五月天激情网| 超碰男人色| 99性爱视频| 五月婷婷综合色啪首页| 日本99热| 这里只有精品网站| 精品久久久人妻| 国产午夜精品一区二区三区四区| www色婷婷com| 色高清无码视频| 日本丁香五月| 噼里啪啦在线观看免费完整版视频| 婷婷激情六月中文| 五月丁香综合啪啪| 久久婷婷五月免费视频| 99热| 欧美亚洲成人在线| 婷婷五日b| 天天搞天天爽| 99色爱| 六月婷婷综合激情| 久久综合天天综合| 日韩九九| 色综合色婷色基地| 人人爽在线视频综合网| 天天久| 日日干夜夜干| 综合久久高清| 色丁香五月婷婷在线| 婷婷五月花| 久久精品五月| 久久成人综合五月天| 丁香五月婷婷激情尤物| 五月丁香亭亭激情操逼网| 色色色激情| 婷婷狠狠干| 婷婷五月天成人| se99热久久一本| 26uuuavcom| 国产成人+综合亚洲+天堂| 老师高潮流白浆喷水的A片| 网色99| 99国产在线| 性av| 超碰色综合| 国产无人区大片| 秋霞午夜理论 | 啪啪五月天啪啪| 伊人婷婷大香蕉| 色情婷婷久久五月天| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 五月婷色色| 婷婷五月精品中文| 婷婷丁香激情五月天色色| 久久性爱视频| 99久久66| 丁香色婷婷五月天| 日本系列_4页_777FP| 午夜九九电影| 亚洲精品又粗又大又爽A片 | 亚洲va日| 99热在线播放| 大香蕉久| 欧美日韩aaa| 日本色99| 日本婷久久| 久久五月天网| 思思热这里只有精品| 婷婷人妻激情| 亚洲成人五月| 青青999| 人人草人人视| 久久综合9| 五月激情五月婷婷五月天在线| 熟女少妇内射日韩亚洲| 色综合爱综合| 成人做爰A片免费看网站找不到了| 久久五月视频| 午夜少妇在线观看视频| 五月综合婷婷网| 久久婷婷五月天| 激情综合五月激情| 九九久久精品| 色色色综合视频| 免费精品99| 婷婷五月深深的爱| 久久小说网| 在线A色| 国产精品成av人在线视午夜片| 99热精品9| 北条麻妃伊人| 亚洲色网址| 久久草中文日韩欧美| 婷婷久久综合| 九九热在线视频| 狠狠狠狠免费| www.激情| 天天视频亚洲| 成人色图情色成人网 www.5b5b5bcom 五月天 | 操逼123网| 久久大大香| 综合久久人妻| 亚洲99综合| 99综合| 丁香六月视频| 激情综合九| 日日干日日| 成人噜噜网| 亚洲乱码日产精品BD| 69激情小说| 国产探花一片区| 激情综合激情综合| 97人人干人人操| 99热66| 欧美激情五月| 夜夜爱伊人| 色婷婷99| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪| 97久久久免费福利网址| 五月婷婷,六月丁香| 欧美情月伍月天| 青青草视频免费观看| 亚洲99热| www久| 亚洲视频在线网站| 欧美色97| 色五月天天| 性色综合网| 热九九精品| 一本道在线电影| 99精品国产乱码久久久人妻| 久久在这里有精品| 九月久久婷婷| 五月丁香六月激情| 丁香五月婷婷AV在线| 99热超碰在线| 无码一级片| 操人91| 丁香五月乱中文字幕| 99色视频在线观看最新| 20253AV| 操碰97| 久色欧美| 丁香五月自拍| 欧美激情综合五月色丁香| 久久婷婷五月天激情四射| 婷婷5月开心6月| 色综合视频| 青青久在线视频免费观看| 久久 婷婷 五月天| 色欲资源网| 激情久久久| 精品久久艹| 丁香五月天人体| 高清成人综合| www.91热久久| 激情五月天色播| 欧美日本国产欧美日本韩国99| 伦99热| 噜噜噜噜噜在线| 亚洲精品中文字幕成人片| 久热9| 99热思思| 日韩操| 伊人五月天日日夜夜久久久天天| 东北黄色一级| 曰韩五月丁香色婷婷无码| 色五月综合网| 色色色在线观看| 99爱在线观看视频| 99色热视频| 亚洲激情亚洲激情| 久久精品五月天| 色色影院黄大片| 99久久综合狠狠综合久久| 色色婷婷五月天| 99日本黄站| 综合性爱网| 久草热视频在线观看| 久久成人综合五月天| 激情五月婷黄版| 色九月婷婷| 亚洲小电影在线观看黄999| 99久久天堂婷婷| 久久久天堂国产精品女人| 激情婷婷丁香| 色中色综合| 五月婷婷亚洲| 久久五月天视频| 综合伊人久久| 久久天天| www.久热| 亚洲五月天婷婷| 久久久久人妻网址| 丁香婷婷色五月| 婷婷五月图片小说网| 婷婷五月天99| 婷激情五月| 色婷婷五月综合在线| 色婷婷视频| A一级操| www.五月天性.com| 五月婷婷这里都是精品| 99 色色吧| 在线国产精品色| 五月总合激情网| 丁香九月婷婷| 成人做爰A片免费看视频| 思思热在线| 99热只有| 亚洲乱码日产精品BD在线观看| 精品久久99| 国产看真人毛片爱做A片| 国产XXXX搡XXXXX搡麻豆| 天堂无码人妻精品AV一区| 办公室少妇激情呻吟A片在线观看 白人荫道BBWBBB大荫道 | 欧美VA在线观看| 婷婷激情五月天视频在线| 久热这里只有精品在线| 激情五月天小说网| 超碰人人操| 日本啪啪天堂| 色婷婷香蕉| 尤物一区二区| 丁香五月婷婷香| 1024你懂的欧美曰韩| 丁香五月婷婷少妇| 六月久久婷婷| 色播五月丁香| 天堂婷婷五月色| av操一操| 五月天婷婷爱| 天天玩夜夜操| 婷婷色情网| 可以看的av| 丰滿爆乳一区二区三区| 亚洲第一av| 综合亚洲六月婷婷在线| 五月婷婷开心色伊人| 五月丁香激情深爱婷婷| 亚洲激情婷婷| 直接看的AV| 国产偷人爽久久久久久老妇APP| www...com黄在线观看| 五月婷婷 激情按摩| 天天操天天曰天天射| 婷婷丁香成人| www.操逼comm| 五月激情婷婷综合| 五月激情天| 五月丁香日逼| 久久久18| dingxiangtingtingliuyue| 久9热视频| 日本天天色| 九九久久高清| 五月丁香怕怕综合| 大地资源色婷婷视频在线| 色噜噜97视频在线观看| 日韩成人不卡| www999日韩精品| 色五月av伊人| 人人澡玖玖一| 人妻无码视频网| 狠狠色丁香婷婷久久综合| 国产 亚洲 在线| 欧洲综合色| 91在线日| 91人人爱| 那里有AV网址| 天天狠狠六月婷丁香影院| 丁香六月激情综合| 99激情| 另类视在线| 天天开心AV色综合婷婷五月天| 天天做天天爽| 亚洲AV日韩在线观看| 久久综合爱| 丁香五月五婷| 538在线精品| 大香伊人婷婷影院| 青青操avbb| 亚洲第一综合| av操B网站| 九月丁香婷婷综合激情| 99精品综合视频| 色综啪啪网| 大香蕉伊人久久| 国产成人99久久亚洲综合精品| 99热这里只有精彩| 狠狠久久婷婷| 91久久网站| 99激情网| 色婷婷亚洲| 久久亭亭电影| 亚洲色情激情丁香五月| 人妻少妇色综合| 丁香五月最新地址| 久热视频这里只有精品| 这里只有精品视频| 猫咪伊人久久| 色欲色香综合网| 99燥99日| 五月天婷婷六月| 狠狠干夜夜干| 狠狠第四色| 九九99久久| 亚洲第一成人AV| 五月视频日本免费观看| 久色| 欧洲区自拍| 男女久久婷婷五月天| 五月激情小说| 97亚洲色 torrent magnet| 91久久精品无码一区二区三区| 五月天激情综合网| 丁香六月天之亚州热女| 成人无码精品1区2区3区免费看 | 亚洲欧美婷婷五月色综合| 99精品偷拍视频| 狠狠色综合网站久久久久| 欧美A级成人婬片免费看理论| 亚洲综合网区| 久久久精品人妻| 日本69日人视频| 超碰com| 久久 婷婷 五月天| 国产激情在线| 色狠狠综合入口| 伊人玖玖婷婷| 99久久.www| 色99在线观看| 综久久久| 99这里只有精品视频| 丁香六月欧美| 五月永久激情| 久久久久久久久18久久| 五月色俺婷婷| 激情综合九| 色丁香婷婷| 亚洲视频另类| 五月婷婷五月色| 99热欧美精品| 久婷久婷| 91婷婷| 色色色综合| 国产99精品免费视频| 青草视频在线观看视频| 爱草视频在线| 亚洲岛国电影| 婷婷五月天AV| 五月丁香综合在线| 日韩啪啪视频| 9999热精品在线免费播放| 白人荫道BBWBBB大荫道| 五月色欧美| 国产三级在线播放| 五月婷婷啪啪综合网| 黄色一级影片| 日本色色色| 国产日批视频| 99精品视频在线观看| 五月婷婷激情四月| 九九偷拍网| 久久久激情视频| 国产在线6| 日韩AV在线影片| 婷婷十月激情综合网| 伊人久久大香蕉网| 另类激情综合| 色婷婷影音| 九九热婷婷| 秋霞性爱AV| 久久人妻乱子伦| 99久久久精品| 日韩精品999| 久热久| 99久久户外勾搭| 色亚洲欧洲| 激情五月综合网| 亚洲激情区| 狠狠久久婷婷| www.超碰| 久热网在线视频| 久久婷婷成人| 欧美性生交A片免费看| 欧美成人色婷婷| 91热爆在线| 99久操视频| 丁香激情五月| 九九视频这里只有精品在线播放| 一级韩国产精品毛| 黄网在线免费观看| 伊人婷婷激情| 九九热10| 日韩二区搞逼插逼毛片| 五月香六月婷| 婷婷亚洲天堂| 99在线资源视频| 9l视频自拍9l九色成人| 国产精品蜜臀99| 国产精品操| 亚洲激情四谢| 五月天综合久久| 天天日天天操天天干| 婷婷五月天激情综合| 天天碰夜夜操| 99操久久| 天天做天天摸| 丁香五月婷婷啪| 亚洲九N| 大香蕉综合| 天天夜天天色天天| 熟女色专区| 午夜日韩久久久网站| 日本三级大片| 香蕉国产2013| 天天视频亚洲| 婷婷六月丁香在线| 偷拍91九色| 丁香五月天久久| 97在线/亚洲| 久久婷婷亚洲五月天| 99久久综合网| 一级二级色大片| 丁香,开心成人,久久| 337p大胆噜噜噜噜噜91Av| 五月花免费视频| 亚洲色情激情丁香五月| 五月丁香六月婷婷综合| 亚洲成人影视在线| 26uuu亚洲| 99A级片| 亚洲亚洲永久无码777777| 丁香五月综合色婷婷| 久久人操| 综合激情在线观看| 精品一二三区久久AAA片| 午夜亚洲国产精品av一区二区| 这里只有精品9| 99精品视频在线| 91九九| 亚洲色图五月丁香| 月色色综合婷婷网| 久cao香蕉影院| 午夜成人片400| 99热6精品| 色综合中文| 天天激情欧美美女| 人人爱天天摸摸天天爱| 五月天社区| 综合性爱网| 五月婷婷www| 亚洲国产网站| 亚洲黄色操逼| www。五月,com| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 色色色五月婷| 五月天丁香综合在线| 五月色亭丁香| 激情五月婷婷综合秋霞| 欧美日本免费一道免费视频| 日韩无码成人电影| 99自拍视频在线观看| 超碰成人免费| 丁香五月色色| 五月丁香啪| 色综合色五月| 91狠狠色色丁香婷婷综合久久| 欧美色色色色色| 色婷婷丁香| 思思热视频在线| 天天爱天天做天天操| 99热最新网址| 国产午夜成人免费看片无遮挡| 操操碰| 51精品国自产在线| 亚洲妇女熟BBW| 欧美激情综合五月色丁香| 91男人操女人视频| 精品久久久中文字幕大豆网推荐理由| 久久大香蕉丁香| 丁香六月婷婷缴情欧美| 日韩青青| 日本操B片| 开心五月婷婷综合在线精品素人| 都市激情亚洲| 色婷婷综合综合网| 婷婷成人综合| 深爱婷婷基地| 丁香六月av| 六月狠狠综合| 婷婷激情五月色综合| 六月色丁香中文字幕| 丁香六月五月天| 五月丁香在线| 99热在线观看精品| A久久| 国产人妻777人伦精品HD| 免费看欧美成人A片无码| 99热热热99精品婷婷| 丁香五月综合激情久久潮喷| 99热第一页| www激情| 婷婷五月天激情偷拍| 色高清无码视频| 九九热精品视频| 9l视频自拍9l九色9l成人| 思思热精品在线| 五月激情婷婷在线| 丁香久久| 少妇AB又爽又紧无码网站| 五月丁小婷婷激情四射| 日韩精品99久久| 久久9视频欧美| 久久久久久草黄色片AV在线观看| 99亚洲色| 99视频只有精品| 99热这里只有精品2| AⅤ网站在线看| 综合超碰熟| 丁香婷婷人妻| 婷婷六月色情| 日本在线视频播放91| 亚洲激情av| 香蕉AV福利精品导航| 丁香六月av| 99在线精品观看99| 九九热这里只有精品31| 激情99| 日本不卡高字幕在线2019| 97在线视频 欧美| 亚洲艹网| 日本激情五月天‘| 综合久久综合久久| AⅤ网站在线看| 日韩国产在线免费观看| 国产裸舞福利资源在线视频| 日韩欧美一级大黄网站| 99热这里精品| 亚洲岛国电影| 中文字幕亚洲-区久久99婷婷| 99综合色色色| 狠狠色噜噜色狠狠狠综合久久成人波| 中文字幕在线免费观看视频| 日比网免费国产| 色狠狠综合网| 日日干干天天干| 国产操碰| 久9久视频精品| 久久婷婷丁香五月宗合| 少妇婷婷五月天| 婷婷五月丁香欧洲| 99婷五月| 天天性视频| 五月天婷婷在线视频| 五月婷婷六月丁香| 99riAv1国产在线观看| 秋霞电影理论| 91婷婷色五月| 婷婷五月丁香亚洲| 99人妻碰碰碰久久久久| 草草色情综合网| 五月天婷婷乱论小说| 99热欧美| av第一二区| 97超碰综合| 99热8| 国产毛片欧美毛片久久久| 日韩综合久久| 亚洲色婷婷五月| 北京熟妇搡BBBB搡BBBB| 91超级碰在线| 5月丁香啪啪啪| WWW.桔色成人.COM| 色五月首页| 色色亚洲视频| 99精品网| 久热9| 综合五月天| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 色五月婷婷 成人| 色欲婷婷五月天| 94干大香蕉| 天天操夜夜爽歪歪| 欧美成人AAA片一区国产精品| 九九久久精品| 激情亚洲婷婷| 97久久久免费福利网址| 1010日日无码| 亚洲日本韩国| 天天干,天天舔| 超碰99在线观看| 一级二级色大片| 欧美婷婷六月丁香综合色连续高潮抽搐| 亚洲激情综合网| 婷婷丁香五月91| 色婷婷丁香五月| 色婷婷成人久久| 五月草影视| 大香蕉在九| 99re26视频| 国产亚洲精品AAAAAAA片| 热久久成人| 五月天成人在线视频网站| 久久免费精品小视频| 色99日韩| 99热在线观看精品| 五月丁香六月激情综合| 操操日韩| 青青草五月天| 婷婷网影院| 深爱激情五月天| 久操干| 丁香五月天社区| 色七七九九| 色婷婷天堂| 在线婷婷| 99热啪啪| 色婷婷综合久色AV五色最新| 婷婷久久综合| 色婷婷91激情小说| 99热99在线| 深爱开心激情网| 激情内射人妻1区2区3区| 五月丁香久久呀| 激情综合丁香六| 综合激情五月天六月婷免费视频| 另类婷婷五月天啪帕帕| 色五月激情五月| www91久久| 亚洲成人在线免费| 91狠狠色丁香婷婷综合久久| 99超级碰免费视频| 天天插天天很| 亚洲美女裸体被操在线观看| http://www.sd-xiangsu.com/| www.刺激色网站www.| 99九九在线视频| 涩五月婷婷| 91操人视频| 久色网五月| 无码人妻一区二区一牛影视| 99视频在线观看网址| AV成人在线播放| 五月亭亭开心网| 五月婷高清视频| 亚洲AV无码电影| 26uuu在线观看| 久婷五月| 日本人妻A片成人免费看片| 亚洲天天免费| 欧美人人草草| 天天干天天做| 丁香六月色香蕉视频| 国产婷婷色综合AV蜜臀AV| 色婷婷AV久久久久久久| 欧美激情中文字幕| 97色婷| 婷婷五月丁香综合人妻| 97极品在线| 五月天开心网| 天天操天天爱天天玩| 好色婷婷| 婷婷五月天小说| 五月婷婷与六月丁香图片激情| 综合久久五| AV在线中文| 五月丁香视频在线观看| 人人干人人操外国| 久操大香蕉| 99热最新网址| 色色色色色色色色色色色色色97| 久热超碰| 婷婷精品性视频| site:xiongshengzz.com| 中文人妻AV久久人妻18| 天天插天天爽| 色综合色综合色综合高潮| 久久丁香九| 婷婷爱五月| 久久丁香五月天|