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

ARTICLE DETAIL

資訊詳情

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

STM32F103 IAP升級(jí)實(shí)戰(zhàn):官方AN2557例程拆解與避坑指南

STM32F103 IAP升級(jí)實(shí)戰(zhàn):官方AN2557例程拆解與避坑指南 簡(jiǎn)介STM32F10x系列官方IAP升級(jí)程序面向嵌入式開(kāi)發(fā)與維護(hù)人員提供基于Cortex-M3內(nèi)核微控制器的在應(yīng)用編程方案用戶(hù)無(wú)需外部編程器即可通過(guò)串口完成固件更新與遠(yuǎn)程維護(hù)。壓縮包共350個(gè)文件大小約1.63MB以C/H源文件、匯編啟動(dòng)文件、Keil與IAR工程文件及鏈接腳本為主覆蓋從啟動(dòng)代碼到應(yīng)用層的主要模塊方便直接對(duì)照工程進(jìn)行二次開(kāi)發(fā)。程序支持Ymodem協(xié)議傳輸固件可讀取現(xiàn)有閃存內(nèi)容并配合中斷向量表重定位、閃存分區(qū)等機(jī)制為升級(jí)過(guò)程提供錯(cuò)誤檢測(cè)與穩(wěn)定保障。工程包內(nèi)包含AN2557相關(guān)參考配置適合正在搭建IAP引導(dǎo)程序或需要處理固件升級(jí)流程的開(kāi)發(fā)者參考。該方案的常見(jiàn)使用場(chǎng)景包括產(chǎn)品量產(chǎn)時(shí)的固件灌裝、設(shè)備現(xiàn)場(chǎng)升級(jí)與遠(yuǎn)程維護(hù)開(kāi)發(fā)者可從中獲得完整的串口IAP實(shí)現(xiàn)思路。目前已有622人學(xué)習(xí)下載適合熟悉STM32基礎(chǔ)開(kāi)發(fā)、希望進(jìn)階掌握Bootloader與固件更新技術(shù)的讀者。 做單片機(jī)開(kāi)發(fā)的人遲早要面對(duì)一個(gè)問(wèn)題設(shè)備已經(jīng)發(fā)出去了客戶(hù)現(xiàn)場(chǎng)說(shuō)程序要加功能怎么辦派人出差刷寫(xiě)固件成本高得離譜讓客戶(hù)自己拿調(diào)試器燒客戶(hù)不會(huì)也不放心。這時(shí)候Stm32F10x系列官方IAP升級(jí)程序就是最經(jīng)典的解法。IAPIn-Application Programming讓設(shè)備通過(guò)串口、CAN、USB這些現(xiàn)成接口在運(yùn)行狀態(tài)下完成固件自升級(jí)不用拆機(jī)不用調(diào)試器整個(gè)流程對(duì)操作人員的要求也極低。這篇文章我就拿STM32F103這個(gè)最普及的型號(hào)開(kāi)刀把官方AN2557例程的工程結(jié)構(gòu)、Flash分區(qū)、中斷向量表、YMODEM協(xié)議這些核心東西全部拆開(kāi)講清楚再附上我自己移植和量產(chǎn)過(guò)程中踩過(guò)的坑。適合剛接觸IAP的嵌入式新人也適合正在把IAP往產(chǎn)品里落地的老手參考。1. 項(xiàng)目?jī)r(jià)值拆解為什么盯著官方IAP例程不放1.1 IAP到底解決什么問(wèn)題現(xiàn)場(chǎng)升級(jí)不再拆機(jī)IAP的核心思想是在設(shè)備里燒兩段程序一段是Bootloader負(fù)責(zé)接收升級(jí)數(shù)據(jù)并寫(xiě)入Flash一段是真正的App應(yīng)用代碼負(fù)責(zé)干實(shí)際業(yè)務(wù)。設(shè)備上電后先跑Bootloader判斷有沒(méi)有升級(jí)需求沒(méi)有就直接跳轉(zhuǎn)到App執(zhí)行。以后要升級(jí)只需要把新固件通過(guò)串口發(fā)過(guò)去重啟之后設(shè)備就跑新程序了。我見(jiàn)過(guò)不少團(tuán)隊(duì)一開(kāi)始自己寫(xiě)升級(jí)邏輯結(jié)果各種翻車(chē)有的把Flash擦寫(xiě)時(shí)序搞錯(cuò)有的忘了處理中斷向量表升級(jí)一次死一次。其實(shí)ST官方早就把整套方案做成了一對(duì)現(xiàn)成的例程配套應(yīng)用筆記AN2557代碼量不大但該有的環(huán)節(jié)全都覆蓋了。對(duì)絕大多數(shù)產(chǎn)品來(lái)說(shuō)與其自己從零寫(xiě)不如先在官方例程基礎(chǔ)上跑通再按產(chǎn)品需求做裁剪和加固。1.2 “官方”二字的價(jià)值文檔、協(xié)議、代碼都能兜底官方例程最大的優(yōu)勢(shì)不是代碼寫(xiě)得有多華麗而是它把“正確性”替你驗(yàn)證過(guò)了。ST給的這套IAP方案默認(rèn)走USART1使用YMODEM協(xié)議做文件傳輸Flash寫(xiě)入、擦除、跳轉(zhuǎn)邏輯全部基于標(biāo)準(zhǔn)外設(shè)庫(kù)實(shí)現(xiàn)。YMODEM是個(gè)帶CRC校驗(yàn)的文件傳輸協(xié)議能傳文件名、文件大小還支持128字節(jié)和1024字節(jié)兩種包長(zhǎng)比裸傳裸收要可靠得多。另外這套例程對(duì)STM32F10x全系列F103、F105、F107等都做了兼容不同容量的Flash扇區(qū)大小也仔細(xì)處理過(guò)。你不需要自己翻幾百頁(yè)參考手冊(cè)去看扇區(qū)結(jié)構(gòu)代碼里已經(jīng)替你整理好了。這一點(diǎn)在量產(chǎn)項(xiàng)目中非常值錢(qián)因?yàn)榇a出錯(cuò)可以改硬件上電變磚的代價(jià)可沒(méi)人愿意承擔(dān)。1.3 從標(biāo)準(zhǔn)外設(shè)庫(kù)到Cube生態(tài)這一套還值得學(xué)嗎我估計(jì)有人會(huì)問(wèn)ST現(xiàn)在主推的是STM32CubeMX加HAL庫(kù)標(biāo)準(zhǔn)外設(shè)庫(kù)都停止維護(hù)了學(xué)這套老例程還有意義嗎我的看法是對(duì)F103這個(gè)型號(hào)來(lái)說(shuō)這套例程仍然是繞不開(kāi)的參考。Cube生態(tài)里對(duì)應(yīng)的東西叫X-CUBE-IAP是個(gè)基于HAL庫(kù)的IAP擴(kuò)展包支持F4、F7、L4這些后來(lái)的型號(hào)你下載X-CUBE-IAP之后可以找到不少新的示例工程。但對(duì)F1系列很多人還在用標(biāo)準(zhǔn)外設(shè)庫(kù)維護(hù)存量產(chǎn)品AN2557這套例程的協(xié)議流程、Flash操作邏輯、跳轉(zhuǎn)細(xì)節(jié)依然值得逐行讀一遍。更重要的是你如果理解了這套老代碼里的原理再去看X-CUBE-IAP會(huì)輕松很多。IAP這個(gè)東西的難點(diǎn)從來(lái)不在哪個(gè)庫(kù)而在分區(qū)規(guī)劃、中斷向量表、通信協(xié)議穩(wěn)定性和異常兜底這些知識(shí)是通用的。2. 核心原理看懂這三個(gè)點(diǎn)IAP就通了一半2.1 Flash分區(qū)給Bootloader和App劃好地盤(pán)STM32F103的Flash從0x08000000開(kāi)始容量根據(jù)型號(hào)從16KB到512KB不等。做IAP第一件事就是把這片空間切成幾個(gè)區(qū)常見(jiàn)分區(qū)是Bootloader區(qū)、App區(qū)和預(yù)留數(shù)據(jù)區(qū)。Bootloader區(qū)放升級(jí)程序本身App區(qū)放業(yè)務(wù)代碼中間最好留出一點(diǎn)空間不分配防止邊界溢出互相踩踏。我舉個(gè)例子假設(shè)芯片是STM32F103ZET6512KB FlashFlash起始0x08000000。Bootloader一般給16KB到32KB就足夠了因?yàn)樯?jí)邏輯本身不復(fù)雜加上協(xié)議和串口驅(qū)動(dòng)也就幾KB。App區(qū)從0x08004000偏移16KB或0x08008000偏移32KB開(kāi)始剩下的空間全部給App。如果還想做“先下載到暫存區(qū)校驗(yàn)通過(guò)后再搬移”的安全策略還得專(zhuān)門(mén)留一個(gè)備份區(qū)。分區(qū)起始地址大小用途Bootloader0x0800000016KB~32KB引導(dǎo)、接收升級(jí)包、Flash寫(xiě)入App0x08004000或0x08008000剩余Flash的前大部分業(yè)務(wù)應(yīng)用代碼備份區(qū)/參數(shù)區(qū)Flash末尾可選暫存升級(jí)包、保存版本號(hào)等參數(shù)分區(qū)大小這里面有個(gè)細(xì)節(jié)STM32F10x不同容量的Flash扇區(qū)大小不一樣。小容量和中容量的扇區(qū)是1KB大容量和互聯(lián)型是2KB。擦除只能按扇區(qū)整塊擦所以App區(qū)和Bootloader區(qū)的邊界最好對(duì)齊到扇區(qū)邊界否則你擦一個(gè)扇區(qū)會(huì)把鄰居的代碼也擦掉。官方例程在flash_if.c里放了一個(gè)扇區(qū)大小表不同型號(hào)會(huì)自動(dòng)匹配這是它想得周到的地方。2.2 中斷向量表重映射讓App“認(rèn)住”新家這是IAP最容易出事的地方我當(dāng)年第一次移植就被這個(gè)坑搞到懷疑人生。Cortex-M3內(nèi)核的中斷機(jī)制是每次中斷響應(yīng)CPU都去地址0x00000000區(qū)域讀取中斷向量表找到對(duì)應(yīng)的中斷處理函數(shù)入口。在STM32F10x上0x00000000默認(rèn)映射的是主Flash也就是0x08000000。問(wèn)題來(lái)了如果App編譯時(shí)設(shè)置起始地址為0x08004000它的中斷向量表也編譯到了0x08004000但CPU發(fā)生中斷時(shí)還是去0x08000000找向量表。這個(gè)地址放的是Bootloader的向量表里面根本沒(méi)有App的中斷處理函數(shù)地址結(jié)果就是中斷一觸發(fā)程序直接跑飛或者進(jìn)HardFault。解決辦法是在App啟動(dòng)早期把向量表偏移到App區(qū)。標(biāo)準(zhǔn)外設(shè)庫(kù)的misc.c里提供了NVIC_SetVectorTable函數(shù)本質(zhì)是操作SCB-VTOR寄存器。在實(shí)際的F103工程里我一般直接在SystemInit或main最開(kāi)頭寫(xiě)上#define APPLICATION_ADDR 0x08004000 SCB-VTOR APPLICATION_ADDR;這就是把CPU的中斷向量表從默認(rèn)的0x08000000指向App區(qū)。需要提醒的是F1是老內(nèi)核早期某些A版、B版芯片對(duì)VTOR的支持不完美如果遇到設(shè)置VTOR仍然不起作用的情況就得考慮在Bootloader里做中斷轉(zhuǎn)發(fā)或者干脆把App設(shè)計(jì)成盡量少用中斷。不過(guò)我在后期C版芯片上實(shí)測(cè)SCB-VTOR寫(xiě)法是穩(wěn)定有效的。2.3 升級(jí)流程設(shè)計(jì)與YMODEM協(xié)議數(shù)據(jù)怎么安全地流進(jìn)Flash官方AN2557的升級(jí)流程總體分四步Bootloader啟動(dòng)后初始化串口并主動(dòng)發(fā)送字符C等待握手上位機(jī)用支持YMODEM的軟件打開(kāi)文件并發(fā)送Bootloader逐包接收、校驗(yàn)CRC、擦寫(xiě)Flash全部收完后跳轉(zhuǎn)App。這套流程里YMODEM協(xié)議承擔(dān)了“可靠傳輸”的職責(zé)。它把一個(gè)文件拆成128字節(jié)或1024字節(jié)的塊每塊都帶塊編號(hào)、塊編號(hào)反碼和CRC校驗(yàn)。接收方收到一個(gè)包后先驗(yàn)證塊編號(hào)連續(xù)再算CRC任何一個(gè)環(huán)節(jié)不對(duì)就回復(fù)NAK要求發(fā)送方重傳。YMODEM還在正式數(shù)據(jù)之前先傳一個(gè)包含文件名和文件大小的頭部信息包Bootloader可以利用這包信息判斷固件大小是否超過(guò)App區(qū)容量提前攔截錯(cuò)誤升級(jí)。官方跳轉(zhuǎn)函數(shù)的實(shí)現(xiàn)很經(jīng)典直接看代碼typedef void (*pFunction)(void); void Jump_To_Application(uint32_t app_addr) { uint32_t JumpAddress; pFunction Jump_To_Application; /* 檢查棧頂指針是否落在SRAM區(qū)間防止App區(qū)為空導(dǎo)致跳飛 */ if (((*(__IO uint32_t*)app_addr) 0x2FFE0000) 0x20000000) { JumpAddress *(__IO uint32_t*)(app_addr 4); Jump_To_Application (pFunction)JumpAddress; /* 先關(guān)閉全局中斷再設(shè)置MSP棧指針 */ __disable_irq(); __set_MSP(*(__IO uint32_t*)app_addr); Jump_To_Application(); } }跳轉(zhuǎn)前的那個(gè)if判斷很多人不理解其實(shí)它是在檢查App起始地址處的第一個(gè)4字節(jié)值。如果App區(qū)真有程序這個(gè)位置存放的是初始棧頂指針必然落在SRAM地址范圍內(nèi)0x20000000開(kāi)頭如果App區(qū)是空的或者數(shù)據(jù)無(wú)效這個(gè)值就大概率不是合法的SRAM地址。這個(gè)判斷能有效避免程序跳到一個(gè)空白區(qū)域然后跑飛是官方例程里非常實(shí)用的一筆。3. 實(shí)操用官方例程搭建最小可用的IAP升級(jí)3.1 官方工程結(jié)構(gòu)梳理先搞清楚每個(gè)文件的作用從ST官網(wǎng)下載AN2557的配套例程后解壓看到的工程是以標(biāo)準(zhǔn)外設(shè)庫(kù)為基礎(chǔ)的多個(gè)子工程。核心文件其實(shí)就四個(gè)common.c負(fù)責(zé)公共數(shù)據(jù)結(jié)構(gòu)和串口收發(fā)輔助函數(shù)iap.c是Flash擦寫(xiě)和跳轉(zhuǎn)的主邏輯ymodem.c是實(shí)現(xiàn)YMODEM協(xié)議收包和解包的協(xié)議棧main.c是串口初始化和升級(jí)狀態(tài)機(jī)的入口。文件職責(zé)學(xué)習(xí)優(yōu)先級(jí)common.h / common.c文件信息結(jié)構(gòu)體、串口字節(jié)收發(fā)高iap.h / iap.cFlash扇區(qū)擦除、寫(xiě)入、跳轉(zhuǎn)App高ymodem.h / ymodem.cYMODEM協(xié)議處理、CRC校驗(yàn)、分包組包高main.c初始化、主循環(huán)狀態(tài)機(jī)高flash_if.h / flash_if.c部分版本提供Flash底層操作封裝中stm32f10x_xx.c標(biāo)準(zhǔn)外設(shè)庫(kù)外設(shè)驅(qū)動(dòng)低很多人剛開(kāi)始看ymodem.c會(huì)被變量名和狀態(tài)分支搞得頭暈我的經(jīng)驗(yàn)是先不要逐行摳協(xié)議代碼先把main.c的流程走通再回頭理解YMODEM的收包狀態(tài)機(jī)效率會(huì)高很多。協(xié)議本身只是工具真正的核心是Flash操作和跳轉(zhuǎn)邏輯。3.2 關(guān)鍵代碼逐段拆解跳轉(zhuǎn)、擦寫(xiě)、接收一個(gè)都不能少看芯片手寫(xiě)Flash是這個(gè)例程最核心的動(dòng)作。STM32F103的Flash寫(xiě)入前必須先解鎖、擦除扇區(qū)再按16位半字為單位寫(xiě)入。官方封裝好的寫(xiě)函數(shù)思路非常清晰最終調(diào)用庫(kù)函數(shù)完成寫(xiě)入uint32_t FLASH_If_Write(uint32_t destination, uint8_t *p_source, uint32_t length) { uint32_t i; FLASH_Status status FLASH_COMPLETE; FLASH_Unlock(); for (i 0; (i length) (status FLASH_COMPLETE); i 2) { status FLASH_ProgramHalfWord(destination, *(uint16_t *)p_source); destination 2; p_source 2; } FLASH_Lock(); return 0; }寫(xiě)Flash有幾個(gè)硬性規(guī)則寫(xiě)入地址必須是偶數(shù)寫(xiě)入數(shù)據(jù)長(zhǎng)度必須是半字對(duì)齊寫(xiě)入?yún)^(qū)域必須是已經(jīng)擦除過(guò)的狀態(tài)否則結(jié)果不可預(yù)期。官方例程在接收YMODEM包之前會(huì)先把目標(biāo)扇區(qū)全部擦掉這是正確姿勢(shì)千萬(wàn)不要圖省事跳過(guò)擦除。再往深處講接收循環(huán)是在main.c里完成的。主循環(huán)里調(diào)用了YMODEM協(xié)議的接收函數(shù)每拿到一批數(shù)據(jù)就通過(guò)FLASH_If_Write寫(xiě)入到App區(qū)地址。這里有個(gè)很多人忽略的小技巧YMODEM的包大小是128字節(jié)或1024字節(jié)但Flash最小擦除單位是扇區(qū)所以最好把接收緩沖區(qū)大小設(shè)置為扇區(qū)大小的整數(shù)倍避免每次收到一個(gè)包就頻繁切換擦寫(xiě)狀態(tài)影響效率和Flash壽命。整個(gè)升級(jí)完成后上位機(jī)軟件會(huì)發(fā)送一個(gè)EOT結(jié)束符YMODEM協(xié)議棧處理完EOT后會(huì)把文件的信息填入一個(gè)結(jié)構(gòu)體里。Bootloader拿到這個(gè)結(jié)構(gòu)體確認(rèn)文件長(zhǎng)度和校驗(yàn)都沒(méi)問(wèn)題就可以執(zhí)行跳轉(zhuǎn)了。官方代碼里還給了一層CRC校驗(yàn)做確認(rèn)這是量產(chǎn)固件最后的一道保險(xiǎn)。3.3 App工程配合修改鏈接地址和中斷向量偏移Bootloader單獨(dú)能跑還不夠App工程那邊也必須配合改兩個(gè)地方否則跳轉(zhuǎn)過(guò)去還是白搭。第一處是鏈接腳本或者IDE里的ROM起始地址第二處是中斷向量表偏移。在Keil MDK里App工程的Options for Target中Linker標(biāo)簽頁(yè)里要把IROM1的Start地址從0x08000000改成0x08004000對(duì)應(yīng)你Bootloader的實(shí)際占用大小Size相應(yīng)改小。如果用的是STM32CubeIDE或GCC就改鏈接腳本.icf或.ld文件里的Flash起始地址。這一步是告訴編譯器App的代碼和只讀數(shù)據(jù)都要放到偏移后的地址上。改完鏈接地址還要在App初始化代碼里加上向量表重定向。最簡(jiǎn)單的辦法是在SystemInit函數(shù)開(kāi)始處直接調(diào)用標(biāo)準(zhǔn)外設(shè)庫(kù)的NVIC_SetVectorTableNVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x4000);第二個(gè)參數(shù)就是App區(qū)相對(duì)Flash起始地址的偏移量。如果你的芯片版本對(duì)VTOR支持不友好就要考慮把向量表復(fù)制到SRAM再用SYSCFG重映射到0x00000000這樣做兼容性更好但代碼復(fù)雜度更高。基礎(chǔ)產(chǎn)品建議先試SCB-VTOR方案跑不通再上SRAM映射或者中斷跳板。還有一件事容易被忽略Bootloader跳轉(zhuǎn)前要關(guān)閉自己用到的外設(shè)時(shí)鐘和中斷別把一堆打開(kāi)的串口、定時(shí)器狀態(tài)帶給App。官方例程的跳轉(zhuǎn)函數(shù)里雖然只做了關(guān)中斷和重設(shè)MSP我的習(xí)慣是在跳轉(zhuǎn)前把用到的串口顯式去初始化把外設(shè)中斷標(biāo)志位全部清掉確保App起來(lái)時(shí)外設(shè)是干凈狀態(tài)。4. 常見(jiàn)問(wèn)題與排查經(jīng)驗(yàn)4.1 跳轉(zhuǎn)后死機(jī)先查向量表再查時(shí)鐘和外設(shè)跳轉(zhuǎn)后死機(jī)是IAP最典型的問(wèn)題我在無(wú)數(shù)論壇帖子里看到過(guò)這種求助最后九成都是向量表偏移沒(méi)設(shè)置對(duì)。判斷方法很簡(jiǎn)單把App單獨(dú)直接燒到0x08000000地址如果App能正常運(yùn)行說(shuō)明代碼自身沒(méi)問(wèn)題問(wèn)題出在Bootloader跳轉(zhuǎn)或者向量表偏移上。排查順序我一般是這樣先確認(rèn)App鏈接地址和Bootloader分區(qū)邊界是否一致再確認(rèn)App里是否確實(shí)執(zhí)行了SCB-VTOR偏移最后檢查Bootloader跳轉(zhuǎn)時(shí)是否關(guān)閉了外設(shè)中斷。另外如果Bootloader里用了操作系統(tǒng)或者復(fù)雜的定時(shí)器跳轉(zhuǎn)前光關(guān)全局中斷還不夠一定要把SysTick和NVIC里掛的異常入口都清理干凈。4.2 升級(jí)中途變磚分區(qū)策略和校驗(yàn)兜底官方例程的升級(jí)策略是直接往App區(qū)寫(xiě)這有一個(gè)隱患如果升級(jí)到一半串線斷了、斷電了App區(qū)已經(jīng)被擦掉一部分設(shè)備就變磚了。官方代碼在演示場(chǎng)景沒(méi)問(wèn)題但量產(chǎn)產(chǎn)品不能這樣裸奔。我的做法是把Flash多分一個(gè)備份區(qū)升級(jí)包先完整下載到備份區(qū)接收過(guò)程中每個(gè)包都做CRC校驗(yàn)全部接收完成后再對(duì)整體做校驗(yàn)校驗(yàn)通過(guò)才把備份區(qū)的內(nèi)容整體搬到App區(qū)。代價(jià)是App可用空間會(huì)少了備份區(qū)那一塊換來(lái)的是“升級(jí)失敗設(shè)備還能接著跑老程序”的安全體驗(yàn)。如果硬件允許也可以用外部Flash存升級(jí)包邏輯一樣。4.3 YMODEM傳輸異常115200只是看起來(lái)穩(wěn)不少人復(fù)現(xiàn)官方例程時(shí)發(fā)現(xiàn)用SecureCRT或XShell發(fā)送文件有時(shí)候傳輸?shù)揭话刖涂ㄗ』蛘咛崾綜RC錯(cuò)誤。這種問(wèn)題絕大多數(shù)不是協(xié)議本身的問(wèn)題而是上位機(jī)軟件沒(méi)有選對(duì)YMODEM模式。一定要確認(rèn)發(fā)送端選的是YMODEM而不是XMODEM或ZMODEM三者的幀格式和握手方式差異很大。波特率方面官方默認(rèn)115200但具體能不能穩(wěn)定跑還得看你板子的晶振精度和串口線質(zhì)量。ST-Link的虛擬串口一般沒(méi)問(wèn)題但一些PL2303、CH340山寨線在高波特率下丟包率很高。我一般量產(chǎn)產(chǎn)品用115200如果發(fā)現(xiàn)丟包嚴(yán)重就降一檔到57600或38400IAP本來(lái)就不是追求速度的場(chǎng)景穩(wěn)定壓倒一切。問(wèn)題現(xiàn)象常見(jiàn)原因解決辦法發(fā)送文件后Bootloader無(wú)反應(yīng)握手字符C發(fā)送時(shí)序不匹配確認(rèn)上位機(jī)選YMODEM先手動(dòng)發(fā)送一次字符C傳一半卡死串口丟包或USB轉(zhuǎn)串口線質(zhì)量問(wèn)題降低波特率、換線檢查接線距離CRC錯(cuò)誤頻繁波特率誤差大、數(shù)據(jù)線干擾用外置晶振檢查地線降低波特率接收完成后跳轉(zhuǎn)死機(jī)向量表偏移未設(shè)置App內(nèi)加SCB-VTOR確認(rèn)鏈接地址升級(jí)失敗重啟跑不了老程序直接寫(xiě)App區(qū)無(wú)備份策略增加備份分區(qū)先校驗(yàn)后搬移4.4 從例程遷移到產(chǎn)品時(shí)要注意的幾件事官方例程本身就只是“最小可用”的參考實(shí)現(xiàn)離產(chǎn)品還有幾段路要走。第一串口協(xié)議要加固YMODEM雖然自帶CRC但最好在應(yīng)用層再加一包版本信息和固件大小校驗(yàn)防止客戶(hù)傳錯(cuò)文件。第二固件版本管理要做起來(lái)Flash里存一個(gè)版本號(hào)Bootloader升級(jí)時(shí)判斷新版本是否比當(dāng)前版本新太老的要拒絕。第三升級(jí)入口要設(shè)計(jì)好常見(jiàn)做法是App運(yùn)行中收到升級(jí)指令設(shè)置一個(gè)標(biāo)志位到備份寄存器或Flash然后軟復(fù)位進(jìn)Bootloader而不是每次上電都傻等幾秒讓Bootloader超時(shí)再跳App后者在開(kāi)機(jī)速度敏感的產(chǎn)品上體驗(yàn)很差。最后再補(bǔ)充一點(diǎn)個(gè)人經(jīng)驗(yàn)我們?cè)谝豢頕103的儀表產(chǎn)品上用了這套方案最初也是直接在官方例程上改后來(lái)發(fā)現(xiàn)量產(chǎn)時(shí)有兩臺(tái)設(shè)備升級(jí)完卡死。排查到最后原因是那批芯片的Flash扇區(qū)邊界和我在代碼里寫(xiě)的扇區(qū)表不完全一致因?yàn)锽ootloader容量占得比較小App區(qū)的起始扇區(qū)算錯(cuò)了一位。從那以后我給自己定了個(gè)規(guī)矩開(kāi)發(fā)階段一定先把扇區(qū)表用調(diào)試器讀出來(lái)核對(duì)一遍不要盲目相信記憶里的編號(hào)。IAP這種功能平時(shí)用不上一用就是遠(yuǎn)程救命的通道值得把每一處細(xì)節(jié)都較真到底。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色婷五月天| 91九色精品女同系列| 五月丁香六月激情| 激情影院内射| 强伦轩人妻一区二区电影| 五月丁香六月婷婷综合| 无码yw| 色五月在线观看| 五月天婷婷久色| 丁香狠狠操| 日日干天天| 久久久五月四色| 久久综合中文| WWW.99视频| 婷婷丁香六月| 深爱激情五月网| 精品久久久久久久人妻| 午夜婷婷久久 | 亚洲综合激情五月久久| 亚洲妇女熟BBW| 亚洲综合99| 思思热在线视频观看精品| 九九热在线视频| 天天狠天天叉| 婷婷久久亚洲| 五月色精品| 婷婷99热| 九九操操| 久操人妻| 亚洲激情四射| 色婷婷久久综合| 丁香婷婷老司机久操| 五月婷婷在线免费| 激情综合网五月激情网| 二人电影免费版在线观看| 国外亚洲成AV人片在线观看| 五月婷激情| 色五月丁香激情| 九九激情网| 涩婷婷视频快播人妻| 大香蕉九操| 丁香五月婷婷色| 色视五月天婷婷| 丁香五月花婷婷开心| 中文字幕丰满乱孑伦无码专区| 99精品免费欧美小视频| 9l视频自拍九色9l视频在线观看| www.97视频| 99综合视频一体| 久久五月丁香| 五月天综合激情网| 九九热在线精品视频| 情婷婷五月天| 五月天精品| AV人人操| 五月婷婷久久久| 日韩人妻在线观看| 色色婷| 色综合色| 日本人人超碰| 亚洲国产网站| 色婷婷手机在线| 色色五月丁香| 丁香五月综合图片在线观看| 丁香综合伊人| 五月天色婷婷基地| 色婷婷综合影院| 色色五月婷婷久久| 五月丁香成人网| 91精品国产综合久久久不卡电影| 国产精品人成A片一区二区| 思思精品视频| 色激情五月| 91成人品| 中文字幕一色哟哟哟哟| 日日夜夜干| 极品少妇XXXX精品少妇偷拍| www.激情| 亚洲欧洲一二| 激情小说五月天社区丁香 | 深夜男女福利刺激影院一区完整| 欧美啪啪9| 991精品在线视频| 午夜丁香| 激情综合色播| 人妻人人操| 成人αV视频免费观看| 思思久久精品| 综合另类激情| 久久人妻乱子伦| 激情WWW| 五月丁香六月婷婷久久| 开心五月天激情网| 精品国产乱码久久久久久免费| 99热这| 操碰色一区就去操| 伊人99热| 色色色网站| 国产成人+综合亚洲+天堂| 婷婷爱五月| 一本色综合色| 丁香婷婷丁香五月欧美人| 九九人妻福利| 九九热99免费视频| 日逼影音先锋AV男人资源站| 色综合大香蕉| 天天爱夜夜爽| 少妇水多A片太爽了| 丰满少妇猛烈A片免费看观看 | 亚洲视频99| 国产又爽又猛又粗的视频A片| 色婷婷丁香五月| 天堂在线婷婷| 99av视频| 91re色综合视频| www.五月婷婷久久.com| 国产日日夜夜操| 九九热99免费视频| 九月丁香八月婷婷久久综合久97| 亚洲中文字幕av| 999热成人在线综合网| dingxiangtingtingliuyue| 色婷五月天网站| 婷婷色操| 日本三级网址| 中文在线视频久1| 国产精品扒开腿做爽爽爽A片唱戏| 国产成人精品123区免费视频| 超pen个人视频97| 婷婷综合视频| 99热亚洲| 色婷婷久久综合| 亚洲热视频在线| 亚洲春色奇米影视| 婷丁香五月天| 99热超碰| 中文不卡一二三区| 天天操综合网| 色久五月| 99欧美热| 婷婷中文字暮| 日本99婷婷| 99亚洲大片精品永久在线观看| 综合五月婷婷| 色九九丁香九月色九九色| 91超碰在线观看| 婷婷五月天激情基地| WWW.99热| 美女va| 五月婷婷之综合激情| 第一区久久网站| 九九 激情 网| 欧美99视频| 婷婷五月天激情免费在线观看| 人妻久久久久久久久久| 成年人丁香五月| 欧美十二区| 激情五月综合六月丁香婷婷狠狠干| 丁香五月欧美色综合| 99综合网| 久久久人妻人伦| 亚洲精品在线视频| 婷婷五月天最新综合你懂的| 少妇性按摩无码中文A片| 麻豆WWWCOM内射软件| 日韩啪图| 国产91视频| 2020日日干| 天天天天操| 黑人熟妇一区二区三区| 久久久免费精彩视频| 九九这里只有精品| 华人在线免费| 激情99热| 不卡在线视频| 99精品一二三四视频| 少妇性按摩无码中文A片| 97操碰在线视频| 97超碰9久热婷婷热| 丁香啪啪| 亚洲操女| 婷婷丁香五月亚洲| 五月久久丁香| 五月婷婷丁香综合| 91精品国产综合久久久不卡电影| 午夜精品777| 狠狠色 综合色区| 中国激情网| 冬月かえでAV无码播放| 96丁香六月婷婷蜜桃综合久久| 午夜精品人妻无码一区二区三区| 欧洲亚洲免费视频9| 五月天丁香网站| 丁香婷婷六月激情文学 | 超碰69天堂| 丁香五月六月综合激情| 久久婷婷东京热| 丁香久久综合| 天天操天天日天天爽| 99综合视频一体| 五月天堂在线| 日日爱678| 五月婷婷综合激情小说| 激情综合色播| 第四色五月激情网| 人橾人| 夜夜夜夜夜操| 久久久无码精品成人A片小说 | 常久最新免费的色吊丝| av中文网| 在线播放中文字幕| 九九九九国产| 丁香五月天电影| 婷婷五月天视| 99久久婷| 久久婷婷五月天激情| 四月婷婷五月丁香| 一本伊人色婷| 天天色爽| 丁香五月天啪啪| 色综合网页| 99色在线| 九九色逼| 婷婷久久网| 婷婷五月天狠狠| 另类五月婷婷| 天天做天天爱天天爽夜夜揉| 99精品成人无码A片观看金桔| 国产亚洲在线| 91凹凸在线| 五月丁香久久久| 五月婷婷啪| 操婷婷久久| 2018国产大陆天天弄| 丁香六月 婷婷六月| 性爱综合网| 超碰在线精品| 日韩av在线免费观看| 一起草av| 中文精品久久久久人妻不| 四川BBB搡BBB搡多人乱亂| 色色婷婷综合网| 五月丁香婷婷啪啪网| 色色丁香婷婷综合| 成片免费播放| 涩五月婷婷| 色综合色五月| se99视频| 婷婷五月色| 久久丝袜婷婷| 噜噜操操| 九色婷婷| 99热思思在线观看| 天天综合插插| 六月天丁婷婷| 丁香婷婷色| 亚洲性色XXXXX| 狠狠人人| 五月天欧美激情| 激情啪啪五月天| 激情五月丁香五月| 天天爽天天日人人爱| 亚洲人操亚洲人| 99国产精品久久久久久久久久久| 99热精品中文字幕| 无码AV免费精品一区二区三区| 六月激情婷婷| 亚洲操精品| 9有码中文| 婷婷五月天网址| 久久超级碰碰| 欧美内射AAAAAAXXXXX| 99啪99| 色欲婷婷五月天| 大香蕉综合在线| 99色色视频| 久久xx| 成人中文网| 国产亚洲AV人片在线| 五月婷婷色五月| 日本99热| 91操在线观看| 天堂爱爱| 丰满人妻一区二区三区| 噜一噜在线| 超碰人人91| 五月激情小说网| www.婷婷五月天| 亚洲在线免费成人| 婷婷九九| 天天操天天草天天草天天| 色色综合日韩| 丁香六月婷婷色播| 国产乱妇无乱码大黄AA片| 色综合五月天| 午夜av网| 五月综合婷婷开心网| 五月婷在线| 熟女乱论网| 综合激情五月天六月婷免费视频| 九九免费视频| www.婷婷五月天| 久久综合55| 久久性爱视频| 久久久久人妻精选| 欧美在线视频99| 色色五月天 亚洲| 婷婷五月综合色拍| 久色五月| 欧美大片免费播放器| 97香蕉碰碰人妻国产欧美| 激情五月婷婷网| 曰韩五月丁香色婷婷无码| 国产古装妇女野外A片| 另类少妇人与禽zOZZ0性伦| 99碰碰| 丁香五月婷婷www..com| 色七七九九| 五月婷婷亚洲综合网| 婷婷五月俺要去| 欧美日韩成人高清在线| 色综合色| 91色干| 五月天另类综合网| 九九综合九九| 热久久色| 色婷视频| 超碰色热| 开心五月综合| 婷婷D区| 久9视频| 26UUU精品一区二区| 99热97| 99色| 激情五月天综合图片小说网站 | 综合色色婷婷| 人妻体体内射精一区二区| 日韩在线看AV| 丁香五月婷婷丫| 九九亚洲视频| 二色AV| 国产精品久久久海的味道| 五月玖玖| 婷婷五月综合色拍| 日韩 中文 欧美| 9精品国产在热久久| 国产三级片91| 丁香六月狠狠干| 97操男人的天堂| 青青草婷婷综合五月| 九九激情| 97碰免费精采视频| 九色91视频| 久久婷婷亚洲无码一起| 深爱五月天天| 九九丁香社区欧美激情| 婷婷色五月噜噜| 精品色| 婷综合| 色五月色图| 99视频在线啪| www.91在线观看| 在线资源av-超碰中文在线-成人AV| 综合亚洲六月婷婷在线| 99精品大片| 色色无码| 国产精品久久久丁香五月八戒视频| 狠狠五月激情丁香六月| 婷婷五月天首页激情| 人人爱操| 亚洲精品久久久无码| 9999三级片| 日本美女上人| 六月丁婷婷| 成人综合网站| 夜夜骑夜夜撸| 婷婷久月| 大战熟女丰满人妻AV| 欧洲亚洲免费视频9| 婷婷五月天激情影片| 99热这里只有精品3| 五月丁香婷婷婷激情爱爱| 色综合天天网| 91人人爽人人操| 开心五月网 | 天天干天天操天天射| 玖久精品视频9| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 狠狠操天天日| 婷婷五月丁香香蕉| 五月丁香婷婷欧美| 日本熟女内射| 91精品久久久久| 婷婷久久综合久| 色播丁香婷婷五月激情| 丁香88AV五月婷婷| 婷婷五月激情图片| 开心日韩丁香婷婷五月| 国产毛多水多女人A片| 五月天综合网| 亚洲人操亚洲人| 日日干夜夜干| 激情五月婷婷欧美极品| 三男玩一女三A片| 精品皮股午夜AV| 99热这里有精品首页10| 五月婷婷色影院| 操笔无码| 國語久久婷| 丁香五月花| 天天操综合网| 狠狠色丁香婷婷基地| AV九九| 99热这里只有精品4| 色婷婷五月综合激情中文字幕| 天天日夜夜B久久| 亲子乱AV-区二区三区| 99成人小视频| 99热 在线观看| 久久婷婷大香蕉| 亚洲天堂色色| 亚洲人妻电影| 青青草原99热| 三区激情四射av| 五月婷视频在线观看| 狠狠干综合网| 五月激情综合五月| 2015好吊操| 久久艹网| 丁香五月激情啪啪综合| xxxx久| 九九视频在线免费视频| 久操大屁股女人av| 婷婷五月丁香图片人人操| 丁香五月亚洲天堂| 热无码A∨| 丁香五月123| 日本精品人妻无码77777| 天天日,夜夜爽| 成人精品在线| 日韩欧美成人片| 狠狠色噜噜色狠狠狠综合色| 激情九月婷婷| 爆乳熟妇一区二区三区爆乳照片| 五月六月丁香婷婷在线观看| 欧美亚洲成人在线| 五月丁香综合网| 99ER热精品视频| 午夜大香蕉| 久草狼人| 综合久久9| 激情五月丁香婷婷| 色播播五月| 九一99| 久久五月婷综合网| 激情的五月| 亚洲色9| 亚洲熟女色| 五月丁香综合中文| 热99在线精品| 色色激情五月| 丁香五月天婷婷激情| 欧美超级视频97| 无码成人AAAAA毛片AI换脸| 色偷偷五月天| 五月丁香综合| 色婷婷婷婷| 亚洲熟妇无码乱子AV电影| 成人色站,在线视频,看片-SS1AV| 五月丁香激情综合啪啪| 婷婷在线五月综合| 日韩有码一区| 夜夜躁婷婷AV| 少妇高潮一区二区三区99欧美| 日本久久色| 大香伊人久色| 日韩婷久| 99自拍视频网站| 久久久8| aaa丁香五月天| 婷婷丁香社区网| 日本a片网址| 综合激情网五月激情 | 精品色色色| 亚洲色情网站| 1024国产| 99国产精品久久久久久久久久久| 午夜免费试看| 五月丁香色婷婷伊人| 婷婷综合九月| 色999亚洲人成色| VA五月激情在线| 久久杏爱视频| 激情五月丁香五月| 色婷婷五月综合| 色五月情| 色婷婷综合综合网| 激情婷婷五月女| 亚洲日韩26uuu| 美女妹子后射视频网站在线观看| 一區四區歐美日韓| 丁香婷婷视频| 狠狠色丁香| 香蕉婷婷五月| 久婷婷婷| 综合色综合| 噜噜噜噜综合在线| 99这里有精品| 五月天大香蕉视频| 天天爽成人综合网站| 色久影院| 插插五月天| 六月丁香婷婷综合在线| 五月天六月色| 久久精品A片777777| 99这里有精品| www.9797国产| 热99视频| 婷婷五月天激情四射| 综合网色| 久久久色情| 只有精品视频在线观看| 欧洲亚洲免费视频9| 99热网站在线观看| 五月婷婷深深爱| 黑人糟蹋人妻HD中文字幕 | 亚洲蜜乳AV| 97av在线视频| 丁香婷婷五月综合| 五月丁香婷婷五月色| 国产操B| 五月婷婷欧美| 久久a热| 国产成人精品一区二三区熟女在线| 婷婷激情四射| 亚洲av免费在线| 天天色,天天操,天天射| 成人国产欧美大片一区| 99色嘟嘟精品网站| 丁香五月婷婷久久久| 丁香综合伊人AV| 激情综合五月天| 黄色av网站在线免费播放| 亚洲欧美国产A片免费观看| 新激情综合| 亚洲综合丁香五月| 99免费在线视频| 日本久久超碰| 丁香五月六月综合欧美| www.夜夜操.com| 五月天婷婷色情| 思思热久久婷婷五月天| 五月丁香六月婷婷久久肏| 人妻av在线| 51XX嘿嘿午夜无码| 五月天婷婷亚洲| 影音先锋美国A| 狠狠色婷婷在线| 超碰com| 91日韩美女被插视频| 另类A片| 另类 在线| 色婷婷综合在线| 九九综合久久| 丁香五月桃花在线激情综合| 色五月色五天色情网| 日韩狠狠色婷婷| 三级黄网站| 丁香婷婷五月综合| 日本久久超碰| 午夜爱爱网站| 久99久在线| 99色综合网| 色碰碰| 色色国产| 97久久人人| 亚洲日日操| 另类小说五月天| 99精品久久| 久久婷婷青草五月天| 丁香五月激情综合啪啪| 激情丁香五月天| 六月丁香激情| 久久综合五月天| 丁香五月香蕉| 嫩草AV久久伊人妇女超级A| www.综合久久.com| 五月丁香久久综合| 99热色无码| 五月天成人综合| 婷婷五月丁香五月天| www.色婷婷| 九九人妻福利| 蜜臀综合久草| 91婷婷搞| 亚洲综合色网| 日日做夜夜爱| 99久久精品国产色欲| 五月婷婷婷婷婷| 9色操| 熟女网站久久| 深爱网深爱综合网| 在线91日韩| 丁香六月久久| 99aese| 97操在线资源| 综合色99| 色色亚洲五月天| 久久婷婷五月天蜜桃| 五月色色激情网| 日韩超碰在线| 成人亚洲精品久久久久| 婷婷丁香视频| 99热九九在线| 国产这里只有精品| 超碰人人操| 天天草人人摸| 怡红院成人AV| 五月天激情小说| 欧美色色色色色| 欧美性二区| 婷婷五月成人社区| 婷婷另类小说| 婷婷五月天天天| 五月婷婷五月天激情视频| www99热| 狠狠色婷婷六月激情网| 婷婷五月天久草在线| 大伊久久| 97久久视频| 9999热这里只有精品| 五月丁香婷婷色| 久久婷婷综合五月趴| 亚洲成人av在线观看| 精品A√| 婷婷五月激情网站| 91chinese 在线| 国产偷人爽久久久久久老妇APP| 婷婷在线午夜| 婷婷成人综合| 9有码中文| 色欲五月丁香| 色色婷婷丁香| 91超级碰碰碰| 天天日天天插| 婷婷五月丁香基地| 六月婷色六月| 这里只有精品热| 五月婷中文字幕| 亚洲啪啪精品| 久99久视频精品| 亚洲综合五月天| 91人妻人人做人碰人人爽九色| 99人妻碰碰碰久久久久| 五月婷婷激情五月| 另类专区在线| 91日日日| 六月丁香激情| 激情五月婷婷网| 我要射综合| 激情精品久久| 婷婷丁香六月| 99热91| 欧日韩成人| 久久9RE热视频精品98| 色99网| 亚洲色啪| 亚洲精品无码久久| 色色丁香婷婷| 五月丁香六月香香蕉| 99久久婷婷五月天| 思思热在线视频99| 亚洲五月综合色播| 日日做天天操夜夜爽| 在线资源av-超碰中文在线-成人AV| 激情九月婷婷| 色五月首页| 五月天偷拍| 99只有精品| 五月丁香影院| 五月婷婷色在线| 人碰人人人玩91| 97日本在线播放| 玖玖九九超碰| 9 1在线视频| 久久99大全| 亚洲啪啪视频| 激情综合婷婷五月| 热的无码综合视频| 日日插日日干| 九九99热久久精品66中文字幕| www.五月天性.com| 国产资源91在线| www.henhengan| 色婷久久| 天天做天天爽| 日韩精品视频中文字幕| 色五月激情五月开心五月| 人人草人人舔| 欧洲色色| 999热这里只有美国精品| 欧美操人| 极品五月天| 色五月激情| 亚洲丁香婷婷五月天综合色| 国产免费AV网站| 久久这里面只有精品视频| 成人在线视频网| 七七九九色色| 九热视频| 性色五月天| 老美AA片| 国产亚洲网站在线| 26uuu淫色| 婷婷激情五月天小说校园| 欧美毛片www| 婷婷婷婷婷婷婷婷| 五月婷婷综合激情| 99精品偷拍视频| 91精品久久久久久| 91小黄书网址在线观看| 99re热视频| 婷婷色啪| 日本久久色| 99热丁香| 亚洲无AV在线中文字幕| 免费观看全黄做爰的视频| 99只有精品| 亚洲爱婷婷| 激情婷婷综合| 五月狠狠| 色级停停| 激情五月天在线观看婷婷| 国产成人+综合亚洲+天堂| 激情婷婷丁香色五月| 综合九九久久| 99热20| 久99热在线观看| 九九视频在线观看视频6| Www.sesese丁香| 色五月综合网| 99无码视频| 狠狠爱青青草| 五月天国产成人| 五月婷婷片| 日韩成人无码| 99re这里只有精品99| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 激情婷婷五月少妇| 狠狠狠五月婷婷六月丁香| 婷婷五月丁香网| 色情成人五月天| 99色综合网| 天天搞天天爽| Aaa久久| 激情五月网站| 五月婷婷丁香五月| 人人澡玖玖一| 超碰99热精品| 五月天婷婷激情网| 婷婷日日夜夜| 97婷婷五月| 天天综合天天玩夜夜玩天天玩夜夜玩 | 成年人最刺激的综合网| 狠狠做深爱婷婷久久综合一区| 99婷婷| 日日爽夜夜爽| 婷婷五月丁香色播| 噜噜网免费视频| 日韩中出视频| 五月天夜夜爱夜夜操| 色五月天电影| 99啪在线| 天天插综合网| 停停五月色宗合| 丁香婷婷色五月激情综合| 九九热最新| 色一区高清| 激情五月五月婷婷| 丁香婷婷五月天校园春色| 五月婷婷 激情五月| 丁香五月影院| 99热大全在线观看| 91超级碰| 激情综合五月色在线| 五月婷婷六月天| 青青草99热久久精品国| 狠狠999| 国产在线网| 久久这里99| 91丨九色丨首页| 婷婷五月18永久免费视频| 五月婷色| 天天综合亚洲综合| 97婷婷五月丁香| 这里只有精品免费观看网占| 五月婷婷综合网| 日日夜夜青青草| 91人人爱| 婷婷成人五月天成人文学| 思思热在线视频观看精品| 丁香五月婷婷在线| 一本色道久久88加勒比—| 天天插天天干天天舔| 99精品无码| 人人天堂操| 婷婷丁香五月综合久久| 亚洲第精品| 超碰五月婷婷五月天| 天天拍久久| 久久久久久久,99精品视频| www.夜夜夜| 日韩在线视频9色| 激情丁香五月天| 91爱啪啪| www.色五月| 99热这| 91chinese在线| 精品一二三区久久AAA片| 99开心五月五月丁香激情| 丁香大香蕉| 色婷婷成人在线| 久久婷婷五月综合色天| 久久黄色片| 日本综合色色| 激情性爱五月天网页| 能看的AV网站| 人人插9| 五月婷婷综合网| 婷婷五月av| 120分钟婬片免费看| 超碰在线9| 超碰成人免费| 以及AA大片看看| 色玖玖综合网| 伊人狠狠操| 91vip在线观看| 色色色激情网| 91色色色| www.金莲av| 久草大| 色五月视频,小说| 粉嫩av懂色av蜜臀av熟妇| 成人短视频在线| 五月丁香色婷婷熟女| 一区二区无码视频| 激情丁香五月婷婷| 欧美成人色婷婷| 天天色天天爱天天舔| 国产乱人偷精品人妻A片| 操操操操操电影网| 香蕉久久国产AV一区二区| 久久久久9| 噜啊噜在线| 亚洲性爱99在线| 91丨九色丨大屁股| 玖玖综合玖玖| 91肏肏肏| 婷婷丁香熟妇综合网| 思思综合热| 欧美日韩成人| 亚洲视频国产一区| 日本色色视频| AA片在线观看视频在线播放| 夜夜操,天天撸| 五月丁香六月婷婷免费| 4399精品一区二区| 无人区码一码二码三码医生系列| 狠狠干综合网| 97干婷婷五月天| 9.1综合网| 天天操无码| 伊人九九热| 99re在线免费视频| 丁香五月玖玖| 久久久久久五月天| 性一交一乱一交A片久| 99热在线只有精品| 婷婷五月综合视频| 五月婷婷中文网| 麻豆科斗777| 九九精品在线视频观看| 九月性爱网| 天天色中文字幕女优AV| 色色色99| 97干在线视频| www.91九色| 久久久A级视频| 五月丁香A∨在线| 依人大香蕉在钱1| www.丁香六月婷婷久久天堂影院.con| 国产精品第一国产精品| 99爱在线视频| 婷婷五月激情中文字幕| 精品婷婷五月视| 午夜理论片最新午夜理论剧| 97人妻碰碰碰久久久久-最近国语高清| 丁香五月婷婷国产av| 欧美日韩999| 亚洲第一第二网站| 婷婷久久五月天| www.色婷婷.com| 亚洲综合五月天婷婷丁香| 99九九热视频| 人人操91| 天天弄天天操| 第四色在线观看| 免费碰碰视频久| 九九久久玖玖爱| 麻豆精品| 丁香五月停停基地| 99日本在线| 思思热久久阴99| 九九sese| 五月天激情社区| www.99热这里精品| 99操久久| 五月丁香综合啪啪| 中文字幕网伦射乱中文| 色五月激情五月开心五月| 五月婷婷激情网| www99精品| 日本三级日本三级99| 亚洲成人av在线| 天天日天天操心| 九月丁香久久网| 色色婷婷色色| 99精品激情| 狠狠色无码| 久久人人妻| 亚洲色视频| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 色五月综合激情| 亚洲日韩人妻操逼| 欧州色色| 亚洲激情网| 丁香,开心成人,久久| 另类少妇人与禽zOZZ0性伦| 91操碰| 七七色综合| 婷婷五月情| 婷婷五月AV| 色九亚洲| 亚洲深喉aV| 99人人干人人| 婷婷五月情色| 五月激情天| 国产一区二区三区影院| 538在线精品| 丁香五月婷婷激情尤物| 丁香五月天.com| 婷婷爱综合| 亚洲激情另类| 99国产精品久久久久久久久久久 | 欧美猛片| 久久久久亚洲AV成人无码电影| 五月天激情啪啪| 丁香五月色| 久久图色4| 天天爽,天天操。| 97热精品| 北条麻妃伊人 | 思99热精品久久只有精品| 五月天婷a| 五月天综合网| 综合九九日本| 日日干综合| 五月丁香好婷婷A片网| 色999五月色| 久久小视频| 97视频.干com| 亚洲在线网站| 丁香五月激情宗合| 综合色色婷婷| 国产女18毛片多18精品| 黄色一级影片| 婷婷精品性性性性性性性| 色播播五月| 天天射天天插天天干| 成人一区在线观看| 婷婷涩五月天综合| 色色色综合网| 狠狠搞五月天| 丁香五月欧美色综合| 综合网色| 亚洲成人一区| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 欧美黄色AA片哗啦啦啦| 99精品热视频| Caop在线| 五月婷婷激情久久| 老师高潮流白浆喷水的A片| 日韩黄色网络| 久久538| 成人 九九九九| 国产另类综合| 色五月丁香五| 色99自拍| nvrentiantang av| 日日操夜夜操中国无码| 久久99久久久| 99久在线精品99re8热| 777色色色| 色9999日韩国产| 久久久无码精品成人A片小说| 东京热免费视频| 成人天天爽| 五月综合无码| www久久99com| 婷婷五月天av| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 69色色视频| 9热在线| 婷婷五月天六月| 婷婷丁香五月综合网| 欧美日综合| 狠狠干无码| 青青草原中文字幕| 99精品无码| 日本色婷婷综合| av国产精品| 午夜无码精品色综合久久| 五月香婷婷| 综合亚洲六月婷婷在线| 激情五月天在线免费美女视频| 九九在线视频| 激情狠狠丁香月| 色婷丁香91| 国产26uuu| 激情综合99| 99热婷婷| 丁香婷婷久久激情| 爱iii做iiii日| 五月天婷婷综合免费| 亚洲欧美日韩VIP| 天天天天色天天天天天干| 激情五月天丁香| 五月婷婷视频ab| 香蕉五月婷婷| 色色五月天丁香| 99在线精品视频免费| 丁香五月香蕉| 五月色亭丁香| 色五月,com| 日日撸夜夜操| 亚洲综合在线视频| 国产亚洲成AV人片在线观黄桃 | 五月婷婷综合视频| 丁香五月天堂| 97干干干丁香| 日日操夜夜撸| 99爱视频精品在线观看| 黄网免费看| 五月天开心婷婷久久| 99欧美| 夜夜操激情| 玖玖爱综合网| 国产乱妇乱子在线播视频播放网站 | 五月激情网五月综合网| 欧美一级色| 婷婷五月天激情丁香| 99ri网站在线观看| 影音先锋一区| 五月婷婷开心激情六月蜜桃| 亚洲综合五月天| 国产午夜精品久久久观看| 思思热99er| 99久久久免费| 欧美性色五月天| 亚洲在线操| se色婷婷视频| 超碰九九热| 91肏肏肏| 九九无码| 国产热精品| 国产精品99久久久久久猫咪| 九九九色综合| 天天爽综合| 午夜免费试看| 99在线看片| 亚洲超碰在线| 另类图片五月天| www,色中色| 天天射综合网站| www91色网站| 六月婷婷综合| 免费AV在线| 色五月综合婷婷| 激情六| 五月开心久久| 五月激情四射网站| 99久久6| 99色| 六月丁香成人网| 国产视频久色| 伦乱天堂| 五月丁香趴趴| 激情操逼婷婷| 天天弄天天操| 婷婷久久久久| 色导航色婷婷五月天在线观看| 伊人色五月| 色情激情五月婷婷| 一本道在线电影| 九热视频| 热99精品视频五月| 天天操天天操天天操天天操天天操| 成年视频免费观看| 日韩999| 五月天婷婷激情| 99国产视频网| 五月丁香黄色| 久热这里精品免费| 开心五月激情| 欧美婷婷六月丁香综合色| 无码少妇高潮喷水A片免费| 婷婷五月激情六月| 狠狠干五月丁香综合网| 五月天开心色情网| 激情婷婷九月| 九九热青青草| 热久91| www.婷婷久久五月天| 99综合久久| 婷婷五月丁香综合激情| 69午夜成人影片| jiujiu无码五区| 美妞av| 99热精品网| 在线VA视频| 这里只有精品视频国产| 久久99久久久| 伊人玖玖婷婷| 91无码高清| 色色色在线| 97碰碰视频在线观看免费| 99热草草| 丁香99| 婷婷五月天性爱视频| 色色亚洲| 亚洲亚洲人成综合网络| 五月婷在线观看| 超碰成人电影| 婷婷五月六月| 丁香五月婷婷五月| 色爽干| 伊人大香蕉爱聚| yw.av| 91在线操| 色五月天堂| 激情网第九色| 婷婷五月丁香在线观看| 婷婷伊人网| 婷婷五月成人色综合| 操97免费超级视频| 天天射综合网站| 五月天伊人av| 久噜久噜| 99激情视频| 91色久| 成人视频网| 97操资源婷婷| 久热亚洲| av中文在线| 亚洲看av的网站| 婷婷五月天激情诱惑| 激情五月色综合国产精品| 99这里只有免费的精品| 婷婷操逼| 6080av| 激情小说在线视频| 欧美丁香婷婷五月| 亚洲色无码A片一区二区麻豆| 69精品人人人人| 婷婷丁香成人色综合| 少妇被下春药玩弄A片| 婷婷97| 91九色在线观看免费| 亚洲综合色婷婷文学| 一二线视频 另类| 丁香五月最新网址| 五月婷婷另类| 亚洲色婷婷视频| 9色在线视频| 午夜不卡久久精品无码免费 | 熟女色色一区二区| 97热九九| 99色啊| 99热九九热| 丁香五月偷拍| 丁香社92视频| 激情五月开心五月在线视频| www.99热日韩.com| 天堂草在线看www| 久久久久这里只有精品| 激情五月天色色网| 996黄色片| 精品无码av丁香五月激情| 嫩草哈哈操| 婷婷日韩| 亚洲成人在线播放| 丁香五月欧美色综合| 久久九九蜜| 五月天社区| 色婷婷丁香AV综合| 婷婷色在线观看| 狠狠干综合网| 色婷婷综合网| 狠狠99| 久久人妻高清中文| 热久精品| 色99婷婷五月天| 亚洲热综合网在线观看| 狠狠搞亚洲| 五月天成人综合| 啪啪婷婷五月天激情| 香蕉久久国产AV一区二区| 国产在线6| 超碰a女人的天堂| 超碰97在线观看免费| 九色 在线| 五月婷婷伊人在线| 99视频在线精品| 五月天婷婷綜合院| 婷婷精品综合| 五月色综合| 97色碰| 国产97色在线| 我想看国产大学生口爆吞精的视频| 美欧成人视频| 五月婷婷色播视频| www.99在线| 激情98色婷婷五| 十月丁香婷婷| 亚洲精品视频在线播放| 久久五月视频| 婷婷五月天奸女| 丁香五月婷婷六月丁香| 婷婷五月天成人网| 久久久久久久久99精品| 丁香六月中文| 99热这里只有精品99| 五月刺激丁香月综合| 97人人做| 九九性爱网| 久久网婷婷| www,99热| 在线日韩av| 狠狠操狠狠干综合| 丁香六月丁香婷婷激情| 99男人的天堂| 婷婷六月综合基地| 婷婷五月天精品| 婷婷五月天伊人网| 超碰97色| 99精品亚洲| 区啪精品| 丁香婷婷月| 超级碰碰碰碰视频| 色色99| 丁香婷婷五月综合影院| 天天插天天草人人玩| 亚洲成人中心| 久草视频一,二三四| 久热只有这里精品| 色色婷婷综合|