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

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
返回資訊列表
丁香蜜臀黄色婷婷五月天| 丁香婷婷影院| 五月天婷婷激情春色小说| 五月丁香久久激情综合| 天天日,天天插| 天天肏高清在线| 激情五月天色网站| 欧美激情凹凸丁香网| 久久99草五月婷婷| 蜜臀AV在线观看| 亚洲精品激情| 婷婷深爱色五月| 色综合中文综合网| 亚洲精品无人区| 五月花综合视频| 97色婷婷成人综合在线观看| 色99无码| 亚洲精品另类| 91碰碰| 影音先锋人妻出差| 天天插天天插天天日| 97搞在线| 国产美女无遮挡裸体毛片A片| 亚洲热综合| 久久久8| 婷婷丁香熟女| 欧美性生交XXXXX无码小说 | 成人午夜无码视频| 五月天社区婷婷丁香社区| 九色PORNY自拍成人精彩视频| 五月综合视频| 亚洲中文av| 色播五月丁香婷婷| 久久这里这里有精品免费视频| 依人大香蕉在钱1| 色色网站在线| 综合激情五月丁香| 超碰免费人妻| 中文字幕AV在线播放| www夜夜操comwww| 五月社区婷婷激情| 国产丁香五月天婷婷| 99在线69| 午夜天堂啪啪| 亚洲五月丁香综合网| 狠狠爱夜夜| 九久久九精品视频| 大香蕉丁香五月| 国产乱子轮XXX农村| 五月天丁香成人| 99在线亚洲| 69午夜成人影片| 免费看欧美成人A片无码| 久久久久亚洲AV成人无码电影| 99热精品综合| 丁香五月婷婷欧美成人色图| 久久人妻伦理| 五月天婷婷视频小说| 六月丁香好婷婷| 丁香五月天色综合| 激情综合另类| 激情五月天影院| 丁香婷婷深情五月亚洲| 人人摸人人搞| 嫩草视频在线观看| 成人看片网站| 婷婷五月丁香图片人人操| 五月花婷婷| 激情综合综合综合| 人人综合五月人人婷婷| 国产亚洲精久久久久| 欧美色色色| 天天碰天天插天天操| 开心婷婷五月花| 色综合爽| 亭亭五月天成人| 丁香五月 六月婷婷首页| 另类综合国产| 婷婷婷久久久| 日本色婷婷| 婷色五月天| 大地9中文在线观看免费高清| 丁香五月社区| 亚州婷婷五月激情综合| A片试看50分钟做受视频| 99色婷婷| 97超级操操| AV成人在线播放| 亚韩在线视频| tingtingzonghewang| 26uuu亚洲欧美| 六月丁香综合| 91狠狠综合久久| 亚洲V国产V欧美V久久久久久| 五月J香蕉婷婷| 1024成人免费看| 任你搞免费视频观看| 婷婷五月18永久免费网站| 欧美大道不卡| 婷婷五月丁香成人| 91九色丨国产丨爆乳| 殴美激情综合网| 2018国产大陆天天弄| 日韩99无码| 日韩国产在线免费观看| 精品国产va久久久久久久| 色综色五月天婷婷| 91久久综合亚洲鲁鲁五月天| 99在线资源视频| 99干99| 熟女色专区| 热久久66| 天天激情站| 久久久久久久人妻| 久久99激情| 五月婷婷狠天天色综合| 99re久久| 超碰av天堂| eeuus五月婷| 亚州精品久久久久AV无码| 9月色婷婷| 99综合| 狠狠婷婷色综合| 嫩模aV在线| 日本综合99| 五月婷婷综合久久| 五月激情六月丁香| 国产日韩欧美性爱| 超碰cap| 九九re精品视频在线观看| 99热亚洲精品| 日本99在线| 婷婷五月色情天| www.99在线| 日本玖玖在线| 日本 @ va 免费| 婷婷五月天av| www.99婷婷| 天天谢天天操| 婷久久高清| 天天狠狠婷婷在线| 99热自拍| 97在线视频人妻九色| 九六五月天婷婷| 99久久久| 只有精品在线观看| 婷婷综合五月天| 丁香五夜激情四射夜夜夜| 永久99免费视频网站| 伊人玖玖婷婷| 亚洲一区二区无遮挡A片| 五月 丁香 欧美| 成人视频一区| 天天操无码| 99啪啪网| 五月婷婷三级| 色婷婷www| 丁香五月婷婷99| 九九色综合九九色| 婷婷五月18永久免费网站| 草逼大片| 大香蕉狼人久久| 无码色色色| 婷婷综合在线网| 色综合五月在线| 91欧美| 色色激情五月天| 激情综合区| 男人的天堂五月丁香| 五月丁香另类图片| 99热免费精品| 夜夜谢天天干| 丁香五月激情六月综合| 国产av第一专区| 新五月天婷婷激情电影| AV大片在线观看| 视色综合| 26UUU欧美激情一区二区| 婷婷播5月| 亚洲久久天堂| 秋霞AV淫| 婷婷天天插天天爱| 热久久这里只有三级视频| 综合五月激情网| 91碰人人| 五月婷网| 久久这里99| 五月激情丁香啪啪| 淫视馆AV在线| 五月激情开心婷婷| 色婷婷在线影院| 久久久久婷| 丁香五月日韩| 色欲五月丁香| 亚洲国产成人在线| 五月天婷婷导航| 无码一级片| 亚洲激情综| 久久久久久久综合狠狠综合| 五月色情婷婷| 色五月成人| 亚洲 小说 欧美 激情 另类| 婷婷刺激综合| 影音先锋91网站在线观看| av性爱在线| 日韩操女| 久久精品国产精品| 亚韩在线视频| 五月色俺婷婷| 开心六月婷| 中文字幕日本最新乱码视频| 色吧五月婷婷| 婷婷五月天开心激情网| site:901-07.com| AV片在线观看| 人人爱操| 日本美女上人| 狠狠操婷婷| 夜夜资源站| 偷偷与邻居做爰完整视频| 丁香五月婷中字幕| 丁香六月婷婷综合麻豆| 人妻精品在线| 婷婷之玖玖| 九色婷婷| 丁香五月婷婷五月| 五月婷婷激清网| 亚洲激情综| 丁香婷婷综合激情五月色| 十一月婷婷激情四射| 色五月涩涩婷婷蜜桃| 亚洲精品一二三| 色一情一乱一乱一区91| 精品久久人妻| 久久久精品色| 26uuu91| 色噜噜婷婷| 9l视频自拍九色9l黑人| 国外亚洲成AV人片在线观看 | 婷婷五月综合网| 欧美激情xxxXX| 色琪琪一综合久久激情五月视频| 婷婷丁香五月天熟女丝袜| 美女五月激情| www.99色| 99精品在线播放| 午夜福利8055| 91色欲综合| 国产AV一区二区三区日韩| 伊人www22综合色| 66精品成人免费网站在线观看| 欧美日韩99| 香蕉中文在线| 欧美三级视频下载| 五月天婷婷综合色| 丁香,开心成人,久久| 婷婷五月天亚洲| 成人 视频免费观看网站| 丁香婷婷色五月| 国产精品久久99| PORNY九色9l自拍视频成人| 免费成人中文字幕| 九九十99视频| wWW九九在线播放| 牛牛色av| 五月婷婷天堂| 超碰九色| 天天爽天天弄| 日逼免费视频| 久久婷婷六月综合| 婷婷丁香激情综合色情| 五月婷婷色五月| www久久99| 色噜噜狠噜噜视频| 噜噜噜狠狠色综合| 天天综合精品| 久久九九思思| 99热欲| 欧美人人草草| 狠狠狠狠狠狠色| 亚洲天堂啪啪| 插插插丁香五月婷婷| 久久婷婷综合基地| 思思久ren热| 天天在线久久综合 | 91久久久久| 不卡的AV网站| 99色在线免费观看视频| 亚洲AV综合网| 青草网在线观看| 天堂AV三级| 婷色五月| 先锋av性爱成人电影| 这里只有精品在线免费视频| 亚洲成人av在线播放| 狠狠狠狠狠狠色| 久综合网| 91精品激情9| 超碰在线免费观看3 9| 国产成人精品一区二三区熟女在线| 国产亚洲精品久久久久久牛牛| 激情五月婷婷| 九九热99熟女| 国产精品久久久久久五月天加勒比| 色色网站免费| JAPANRCEP老熟妇乱子伦视频| 噜噜色婷婷| 天天玩夜夜操| 深爱激情五月天| 少妇大叫太大太粗太爽了A片| 色伦专区97中文字幕| 99久久婷婷国产综合精品电影| 久99精品视频| 亚洲丁香五月天在线视频| 色噜噜婷婷| 色色色在线观看| 91久久99久久91熟女精品| 丁香五月婷婷天激情| 色五月婷婷1| 五月天激情国产综合婷婷婷就去爱| 久久五月丁香综合17C| 五月天激情www| 激情综合亚洲| 久久婷婷东京热大香樵| 人人色AV| 91九色精品熟女内射| 双性美人被调教到喷水A片| 99久热在线精品99re6热| 精品人妻在线| 欧美123区免| 婷婷色情网| 天天操夜夜爱| 电影91久久久| 色99视| 91九色视频| 热久91| 久久与婷婷| WWW.99热| 五月丁香| 九九热AV| 欧洲综合视频| www.91.com黄| 丁香婷婷色色| 人妻久久婷婷| 五月天停停日日| www.五月天社区| 日韩成人精品中文字幕| 这里只有精品热| 99自拍网| 色色激情| 色婷婷综合网| 欧美va亚洲va| 色色热| 这里只有精品偷拍| 97人人干人人操| 久热AA| 九九在线视频| 天天se在线视频| 天天日日夜夜爽。| 成人片在线免费看| 久久电影4399| 久久色婷婷| 中文字幕AV在线播放| 色色狼人综合| 一本色道久久综合狠狠躁小说| 狠狠色狠狠| 香焦网五月天| 91欧美| 99视频内射三四| 琪琪色五月天| 五月婷婷色色| 五月婷AV| 综合五月丁香六月婷婷| 色人久久| 我要色综合五月婷婷| 无码人妻少妇色欲AV一区二区| 欧洲亚洲免费视频区| 拍真实国产伦偷精品| 日日鲁鲁夜夜爽爽| 国产91在线视频| 五月婷婷69| www.日韩国产| 中文字幕人妻熟女在线| 婷婷五月成人系列| 色婷婷av在线| 国产特级毛片AAAAAAA高清| 激情丁香网| 免费色婷婷| 综合五月天| 欧美久久婷婷| 秋霞av吧| 97影院一级片| 丁香花五月天| 91丨九色丨白浆秘| 三区激情四射av| 天天肏天天舔AV| 99热网址| 天天插天天干天天舔| www色哟哟| 大香蕉婷婷五月| 夜夜操夜夜爽| 欧美激情久| 婷婷色五月天在线| 天天日日夜夜爽。| 激情婷婷五月久久| 99丁香五月婷婷在线| 九九伊人网| 热久久国产视频| 在线资源av-超碰中文在线-成人AV| 亚洲综合五月天婷婷| 九九视频热| 日本人人干| 99久久国产宗和精品1上映| 99热这里只有精品免费观看| VA日本视频| 九九干视频| 久久五月丁香婷婷| 九九99在线视频| 另类在线| 婷婷九月激情| 日韩色五月| 色婷婷手机在线| 麻豆忘忧草午夜| 久久综合人妻| 午夜婷婷久久| 色婷婷丁香| 亚洲综合激情五月天婷婷| 日本人妻操| 丁香五月激情网| 九九大香蕉黄色影院| 五月丁香AV、伊人业余、性色熟妇| 91pornav在线| 99re久热| 伊人丁香五月天丁香在线婷| 婷婷五月天av| 精品久热| 婷婷丁香宗合888| 久久这里有精品视频| 中文字幕丰满乱孑伦无码专区| 麻豆精品| 久久精品天| 久久综合久色欧美综合狠狠| 婷婷五月成人| 综合五月天天天天天五月| 五月丁香亭亭操逼| 久久人操-久草婷婷-成人AV| 亚洲黄网在线| 婷婷色色综合| 大色鬼综合| 色婷婷电影网| 九九成人| 激情综合久久| 婷婷五月花| 天天爽天天日| 久色激情| 婷婷久久久| 色五月激情婷婷| 婷婷五月丁香91| 婷婷淫淫狠狠六月| 久久精品人妻| 久草a片| 天天爽天天干| 丁香六月激情四射| 91五月天| 五月丁香| 激情九九综合网| 丁香久色| 婷婷综合六月| 天天天天天天操| 综合五月婷婷| 色色色婷婷五月| 99久久玖玖| 99啪啪网| 亚洲综合另类| 搡BBBB搡BBB搡五十| 国产成人精品一区二三区熟女在线| 任你艹| 亚洲深喉aV| 亚洲无AV在线中文字幕| 九月丁香婷婷网| 超碰永久在线| 色婷婷A| 色欲久久综合| 五月丁香啪啪拍| 99热在线这里只有精品| 色五月婷婷丁香五月| 99久在线精品99re8热| 五月天婷婷基地| 婷婷五月天综合网| 亚洲熟妇AV乱码在线观看| 综合色色五月| 天天插天天射天天干| 天堂A∨在线| 激情啪啪五月天| A色色| 五月丁香六月色| 色五月色五天色情网| www婷婷| 超碰人人摸人人操| 日韩在线99| 综合亚洲色色| 免费不卡狠操美女视频网 | 狠狠操天天操综合| 狠狠操狠狠操| 中文字幕日产A片在线看| 在线视频九色97| 五月天婷综合| 色五月天综合| 五月婷婷啪啪网| 久久视频在线视频| 婷婷少妇激情| 这里只有精品久| 欧美影院| 婷婷五月激情天| 91se视频| 操射国产日本| 五月天国产| 91碰九色| 日本婷婷在线| 超碰免费人妻| 五月天综合在线观看| 人人97碰| 五月丁香激情欧洲啪啪| 婷婷香香五月| 天天日天天摸| 五月天婷婷网站| 丁香五月手机在线| 人妻第九页| 色色五月婷婷久久| 好激情在线综合网| 九九黄色网| 玖玖综合玖玖| 亚洲 在线 性爱| 99精品热视频| 综合九九中文字幕| 激情久久综合网| 天天色亚洲| 欧美婷婷精品激| caopeng97日韩| 色色五月丁香| 踪合专区啪啪| www.婷婷五月| 久热re视频在线观看网站| 99国产er热视频| WWW.17C亚洲精品| 男女av免费看| 婷婷十月丁香| av网址在线播放| 婷婷五月激情网站| 97操碰| 丁香五月激情综合婷综| 婷婷射婷婷舔| 影音先锋 萱萱| 丁香五月天激情婷婷丁香六月| 久婷婷色| www.久久综合| 亚洲碰碰碰| 五月婷丁香久久综合| 26UUU精品一区二区Com| 免费视频在线观看的网站| 99er这里只有精品视频| 少妇激情五月天| 天天搡日日搡aaaaⅩ| 日本狠狠网| 一区二区三区四区牛| 丁香五月,激情五月,深爱五月| 99热在线观看| ss99热| 国产XXXX搡XXXXX搡麻豆| 五月天激情综合网站| 狠狠干综合| 97在线视频观看| 日韩欧美一级大黄网站| 99热在线观看| 色婷婷狠狠| 日韩三级片一区二区| 99精品网| 先锋资源996| 国产精品久久久久久久久久| 青青福利网| 亚洲欧美综合7777色亭亭| 天天干天天色天天干| 成人在线观看国产| 激情婷婷色五月| 一区中文字幕电影| 国产白丝在线一区| 五六月婷婷| 丁香六月婷婷| 日日操,夜夜爽| 91亚洲视频| 婷婷五月天天天| 99热精品观看| 天天爽天天| 色的色综合| 婷婷视频在线碰| 激情小说视频图片| 九九综合九九| 国产看真人毛片爱做A片| 五月丁香婷婷人体| 婷婷综合视频| 亚洲乱码日产精品BD| 五月丁香六月综合激情网| 黄色毛片精品| 五月成人网站| 日日舔夜夜操| 色色色欧美| 免费视频在线观看的网站| 另类五月激情| 久久久久妻| 色色色com| 久久五月丁香| 九九这里有精品视频| 欧美A片在线视频免费观看| 狠狠操天天干| 五月丁香综合精品| 9999热在线免费观看| 色婷五月| 综合XX网| 啪啪啪啪五月天| 久re热视频| 五月天开心网| 中文字幕精品在线观看| 五月色欧美| 久久久精品AV| ztEJj| 小视频久久久aaa| 色婷婷五月天天天干天天操天天爽| 一本色道久久88加勒比—| 欧美日本日韩| 色欲天天综合| 99热这里只有精品16| 色五月丁香六月资源站| 色99无码| 色婷婷呢狠禁久禁| 婷婷中文字幕| 五月丁香久人妻中文| 2w在线视频| 久草大| 先锋男人91资源| 99热只有| 色色色免费视频| 色五月播五月| 五月丁香六月婷婷综合网缴情| 五月丁香网视频| www,色综合| 人妻激情久久| .精品久久久麻豆国产精品| 在线观看亚洲视频影院| 亚洲成人五月| 五月激情网站| 思思99re这里只有| 亚洲综合网激情小说| 国产成人网站在线观看| 婷婷五月天久久综合88| 影院久久久| 欧美五月停| 大香蕉九九| 91超碰人人操| 久婷婷婷| 中文资源在线a | AA片在线观看视频在线播放 | jiujiu无码五区| 久99热| 99热在线精品播放| 久久久久久久8| 亚洲色五月婷婷| av首页在线| 国产性av| 亚洲人操亚洲人| 日韩成人不卡| 丁香五月开心七月| 精品久9| 丁香六月成人| 精品热青草| 蜜臀av 粉嫩av 懂色av| 亚洲丁香婷婷| 中文字幕无码成人电影| 大香蕉七区| avv在线| 五月天另类图片区99| 99碰视频| 粉嫩av懂色av蜜臀av熟妇| 久久婷婷网站| 综合97五月| www.sd-xiangsu.cpm| 色色色综合视频| xx综合网| 丁香欧美| 丁香五月天中文字幕| 五月婷婷五月丁香| 五月丁香婷草| 人人摸人人| 六月激情婷婷色| 全网最新网黄大秀直播高清,主播国产录屏在线| 玖玖资源站国产| 五月丁香直播| 色五婷婷开心缴| 婷婷色啪| 丁香五月天激情综合| 超PEN精品在线| 亚洲国产网址| 欧美丁香五月97色| 婷婷丁香午夜综合影视| 激情五月婷婷丁香综合网| 丁香五月天亚洲视频| www九九| 激情第四色| 婷婷字幕在线| 久久九九爽| 激情婷婷人妻| 久久精彩免费视频| 99热这里只有精品8| 97色婷婷| 国产成人AV在线播放| 婷婷五月天受日本法律保护| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 婷婷色导航| 99性色| 亚洲精级| 久久只有这里精品免费| 操逼棍操逼| 五月丁香琪琪| 久久久久久久久月丁| 久久久jd| 激情综合网亚洲色图| 99热免费| 玩熟女五十AV一二三区| AV在线中文| 日韩精品无码99| 黄网在线播放| 91操在线| 丁香五月天婷婷久久| 99精品在线观看视频| 五月丁香婷婷综合| 蜜臀av粉嫩av懂色av| www.五月天婷婷姐姐| 久婷婷婷| #NAME?| 亚洲色婷婷色| 大香蕉99热| 99九九精品视频推荐| 婷婷五月天AV网| 思思热精品在线| 婷色五月天| 99热老司机| 99热精品中文字幕| 国产乱妇无乱码大黄AA片| 色婷婷免费观看| 天天插天天插天天插| 中文字幕永久在线| 热久久91| 丁香五月婷婷偷拍| 97日日碰碰| 五月丁香婷婷人体| 天天综合网站| 丁香五月天AV在线| 97香蕉久久超级碰碰高清版| 超级97碰碰| 五月情涩综合婷婷| 国产真人做爰视频免费| 亭亭丁香aV| 婷婷伊人久久| 99久在线观看| 六月撸婷婷| 18久久| jiqingliuyuetian| 五月丁香六月片| 亚洲久久视频| 国产人妻777人伦精品HD| 五月激情啪啪啪| 婷婷激情性爱| 色色爽爽天天| 日韩久久视频| 色丁香五月婷婷| 嫩草视频在线观看| ww久久| 国产性爱一级| 国产成人亚洲综合亚洲| 5月丁香婷婷激情网| 天堂网亚洲色图| 五月婷丁香亚洲| 九月激情婷婷丁香| 婷婷六月久久| Aaa久久| 国产精品久久久久久五月天加勒比| 国产成人精品一区二三区熟女在线| 色一区高清| 日韩操人| 婷色成人| www日本熟妇99在线视频| 丁香五月婷婷成人色区| 天天色综网| 草婷婷在线| 97涩婷婷婷婷基地| 六月婷婷在线| 玖玖五月| 日本啪啪网| 激情四射五月天| 超碰91在线| 狠狠艹狠狠艹| 黄色片久久| 激情九九这里只有精品| 免费观看2018www黄色操逼网站| www,婷婷| 99狠狠| 欧美日韩99| 亚洲人人96@| 中国女人内射6XXXXX| 精品免费99| 久草网大香视频| 玖玖爱综合网| 婷婷第六色| 婷婷综合性爱网| 亚洲第一精品网站| 久久精品63| 久久婷婷影院| WWW五月天| 九九成年视频| 九色91视频| 色五月久久成人婷婷| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 丁香六月激情毛片| 在线日韩视频| 人人干人人操人人摸人人做| 天天网曰日曰夜夜综合永久免费| 99精吕视频在线观看了| 九月激情网| 影音先锋高清无码资源网| 五月婷在线播放| 激情性爱五月天| 午夜精品人妻无码一区二区三区| 五月天婷婷激情在线色图| 六月婷久久| 超碰成人黄色网| 这里只有精彩视频| 丁香五月综合色婷婷| 九久久婷婷| WWW.99热| 亚洲国产色色| 久久婷婷五月丁香网| www。久久久久一b。Cc| 婷婷五月综合体验看| 国产精品色色666| 99re免费视频| 香蕉AV福利精品导航| 婷婷色五月天在线观看| 亚洲国产婷婷色五月| 日韩熟女啪啪视频| 99热网站| AV人人操| 婷婷五月色丁香在线看| 99无码视频| 五月婷综合| 激情六月天| 97色啪| 玖玖资源站蜜臀| 婷婷在线免费| 玖玖婷婷精品| 国产精品涩涩涩视频网站| 色欲丁香| 五月婷婷中文字幕AV| 人人人人人人人人人草| 五月丁香婷婷基地| 日韩美一级毛卡片| 香蕉婷婷五月| 色噜噜狠狠色综无码久久合欧美| 久青操| 五月天婷婷影院影院观看| 久久综合网免费视频| 91色逼| 婷婷五月天大香蕉在线视频观看| 老师的粉嫩小又紧水又多A片视频| 成人av在线网址| 丁香婷婷五月天在线视频| 丁香五月天婷婷久久| 欧洲99视频在线| 99热97美女| 中文字幕在线aⅴ免费观看| 婷婷五月色| 噜噜噜狠狠色综| 久色大| 日日插日日干| 天天色综合综合| 99热国产国产| eeuus五月婷| 99er这里只有精品| AV在线免费播放| 91视频精品99| 国产肏屄大片| 九月av| 婷婷五月18永久免费网站| 亚洲天堂有码| 97人人草| 777精品久无码人妻蜜桃| 欧美婷婷| 99久久婷婷| 开心激情婷婷| 五月丁香综合激情| 中文字幕日产A片在线看| 玖玖色综合| 日本人妻A片成人免费看片| 婷婷五月成人| 99热这里只有精品免费| 91超碰人人操| 91久久久久久| 天海翼中文字幕高| 亚洲人成播放网站| 九九久久色| 九月丁香欧美综合| 五月丁香婷婷啪啪网| 91丨九色|PRNY熟妇| 91丨九色熟女丨首页| 成人网在线视频| 在线播放成人网站| 婷婷五月天受日本法律保护| 国产永久一二一起草| 色色色在线播放| 六月色色婷婷| 99热99热不卡| 天天操天天插| 久久精彩免费视频| 疯狂做受XXXX高潮A片| 婷婷六月天国产综合| 婷婷丁香18| 91丨九色|PRNY熟妇| 激情六月婷婷| 婷婷五月在线综合| 噜噜噜精品欧美成人在线观看| 激情五月婷婷中文字幕| 婷婷5月九九| jiZZdr| 久久久www| 色五月婷婷色| 成人龟情网丁香五月| 永久天堂日本| A在线观看| 九九99视频精品| 婷婷色色欧美| 婷婷丁香激情综合色情| 99精品视频在线观看| 青青草大香| av在线激情| 六月婷五月丁香| 丁香五月婷婷色| 97人人射| 亚洲视频在线网站| 色婷婷六月天| 五月天婷婷黄色| 久久精品系列| 无码免费人妻A片AAA毛片西瓜| 亞洲自怕| 丁香六月啪啪| 五月丁香六月婷婷操操操| 婷婷五月天综合网| 99热传媒| 四色永久成人网站| 久久婷婷成人综合色怡春院| 激情网五月天| 99婷婷色| 天干天天干天天天天天| 激情五月丁香五月| 色色操| 久久人人九| 狠狠色婷婷丁香六月| 五月天色综合| 7777国产盗摄农村女人| 啪啪91| 丁香六月激情国产| 久久综合九九| 亚州操操| 色情五月天婷婷| 婷婷丁香18| 婷婷综合色网| 五月激情婷婷播播网| 九九免费视频| 中文字幕成人影视| 五月丁香久久久| 色五月婷婷五月| 99久久色| 五月综合婷婷久久在线| 97婷婷色| 日韩操逼大片| 五月婷婷在线视频观看| 国产AV一区二区三区最新精品| Av九九| 色五月婷婷在线| ..真实国产乱子伦毛片| 五月欧美色播| 亚洲天天| 超碰93在线观看| 特级西西4444www无码| 777精品久无码人妻蜜桃| 丁香五月婷婷深爱综合激情| 日韩在线视频网站| 99玖玖视频| 亚洲人人操BD| 熟女人妻一区二区三区免费看| 婷婷五月亚洲综合| 思思99久久| 99caobi| 99热这里只有免费精品| 激情九月婷婷九月| 五月开心六月婷婷在线播放网站| www久久久| 久99久视频| 五月丁香激情综合啪啪| 第四色网婷婷| 欧美xx激情视频在线观看| 婷婷五月综合丁香久久| 婷婷色Av| 亚洲中文字幕AV在线| 激情五月网站| 午夜天天精品视频| 日日操,日日爽| AA片在线观看视频在线播放| 无码se| 色五月网址| 怡红院 久久| 五月天久久久| 久热精品视频在线观| 激情六月天| 婷婷丁香色五月亚洲| 爱射综合| 婷婷五月天色网久| 99ER热精品视频| 亚洲 五月 婷婷 成人| 丁香五月天91| 亚洲五月色| 69综合在线| 久狠狠| 性爱网五月天| www.99热| 99成人网站| 99久久97| 天天插天天射| AV动漫不卡无码免费| 99久久婷婷国产综合| 天堂婷婷五月在线| 蜜桃成语时李时珍 免费| 欧美综合激情五月| 色色五月丁香婷婷综合| 日日操夜夜爽| 九九热九九| 激情综合五月| 丁香五月亚洲无码| 婷婷WWW久久| 五月婷婷六月情| 婷婷五月天色色| 99ER热精品视频| 五月婷婷欧美激情| 91青娱乐青青草| 涩涩五月天| 婷婷丁香五月六月激情| 婷婷性爱综合| 思思久久精品| 五月综合777| 日本在线观看91| 热99这就是精品视频| 五月婷婷六月爱| 东京热人妻一区二区三区在线| 超碰人人操在线| 国产日批视频| 亚州精品成人片| 欧美五月婷婷| 99视频精品视频| 99caobi| 噜噜狠狠色综无码久久合欧美| 超碰在线观看99| 日本综合九九| 免费视频无码| 色婷婷五月天天天做| 五月天婷婷丁香花| 丁香五月影院| 天天日夜夜曹| 开心五激情网| 99热资源在线| XX色综合| 婷婷五月情| 五月天色婷婷小说| 亚洲综合五月天婷婷丁香| 婷婷99视频在线| 天天干天天拍| 精品九九视频| 五月婷婷综合激情网| 日日操夜夜操中国无码| 丁香五月婷婷基地| 色色色色色色色色综合网| 超碰国产av| 亚洲操女| 久久久久久久久久8888| 午夜婷婷五月天| 好好干Av| 91精产品自偷自偷综合| 欧美精品XXXXBBBB| 五月婷婷六月丁香玖玖玫瑰91| 26uuu欧美亚洲日韩| 亚洲区视频| 91免费试看| ..真实国产乱子伦对白在线_欧 | 色色激情五月| 久草婷| 大香网伊人久久综合| 91免费看片| 99热这里精品| 一本道综合网| 9er热在线精品视频| 肏屄色播伊人97婷婷| www.ywav| 日韩成人影片网站| 超碰av在线| 夜丁香综合| 欧美婷| 色国产五月| 色五月开心婷婷| 狠狠第四色| 久久综合色情网站| 激情婷婷丁香色五月| www.99热国产| 国产69久久久欧美黑人A片| 色丁香五月| 在线网黄| 强伦轩人妻一区二区电影| www五月天com| 婷婷五月中文字幕国产| 婷婷色五月久久| 色香五月天| 99在线观看精彩视频| 综合五月草| 9er热在线精品视频| www,五月天com| 99re热在线视频| 久久久WWW| 99久久久久| 亚洲乱码在线观看| 大香蕉婷婷色| 亚洲思思热久| 免费黄色片子| 欧美99| 丁香亭亭久久| 5月色亭亭视频| 欧美精品久久久久久视频观看| 激情小说五月丁香在线视频观看视频| www。五月天激情| 五月婷婷久久综合| 婷婷久久综合久| 色婷丁香| 91日本在线| 可以看的AV| 婷婷五月花| 婷婷丁香18| 91人妻九色大屁股| 人人操大| 182TV亚洲| AV五月丁香| 五月丁香爱婷婷深深| 干婷婷五月天| 26uuuavcom| site:ornaments52.com| 丁香涩涩爱| 丁香九月综合| 色五月综合网| 99性爱视频| 91怕怕网| 9久久久久久久久久久| 日韩999| 亚洲mm色| 综合网亚洲| 五月天成人综合| 亚洲欧洲另类| 香蕉久久五月| 欧美日韩成人在线观看| 超碰在线看| 天天撸夜夜爽| 五月丁香成人小说| 狠狠爱婷婷| 人妻少妇色综合| 久久精彩视频99| 99精品自拍| 美臀自射自家人妻| www.日日夜夜.com| 精品久热| 婷婷五月激情基地| 色五月人妻| AV在线不卡网站| 六月丁香婷婷色狠狠久久| 伊人丁香五月天丁香在线婷| 色婷婷情片| 精品婷婷五月视| 色五月天激情| 色色色色色色综合| 色碰碰| 日韩黄色影院| www.久久9| 狠狠草天天草| 九九無妻| 激情六月天| 亚洲成人无码片| 精品网站99| 狠狠干狠狠干| 日本欧美成人片AAAA| 玖玖精品婷婷| 五月天婷婷激情干干| 国产精品色婷婷99久久精品| 97福利视频| 日韩欧美一道四区中文字幕| 天天爽,天天操。| 欧美色99| 色欲AVV| 久久婷婷六月天| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 丁香婷婷色| 人操综合| 韩国19 主播内部福利vip免费播放| 婷婷丁香成人在线视频| 99九九在线精品热动漫| 人碰人人人玩91| 婷婷五月av| 亚洲综合色网| 丁香五月玖玖| 色婷婷婷综合五月天| 99在线热视频| 亚洲av电影网站| 亚洲天天免费| 欧美一级色| 超碰京东热av男人的天堂| 亚洲无aV在线中文字幕| 色婷婷精品视频在线播放| 亚洲欧美婷婷五月色综合| 欧美25p| 五月婷婷综合激情小说| 蜜臀av无码久久久久久久久| 天天爽天天| 婷婷五月天综合久久日美女| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 天天人人人人人人人人人人人| 久久久91精品| 婷婷五月天播| 久久婷五月天| 99碰碰视频| 丁香久月| WWW.五月com| 思思re视频在线| 202丰满熟女妇大| 丁香五月综合色婷婷| 久久婷婷综合网| 啪啪黄页网| 成人视频在线免费播放| 99精品女人天堂| 亚洲A色| 玖玖@三月天天丁香婷婷| 精品综合五月| 国产精品久久久爽爽爽麻豆色哟哟| 五月丁香香蕉| 婷婷精品| 99久久综合| 91久久久久久久久18| 9|无码久久久久久| 996er热| 97操在线视频| 久操热| 嫩草视频观看| 天天肏天天肏天天肏| 91要啪| 亚洲操b| 无码一区二区三区四区五区| 色婷婷五月综合|