欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

STM32官方Bootloader串口IAP升級(jí):原理、實(shí)操與避坑指南

STM32官方Bootloader串口IAP升級(jí):原理、實(shí)操與避坑指南 做嵌入式開發(fā)的朋友都應(yīng)該遇到過這種情況產(chǎn)品已經(jīng)在客戶那邊跑了大半年突然發(fā)現(xiàn)一個(gè)邏輯Bug或者客戶提了新需求要改功能。這時(shí)候最頭疼的不是改代碼本身而是怎么把手里的新固件刷到設(shè)備里去。拆機(jī)、接燒錄器、連線、下載一套流程下來費(fèi)時(shí)費(fèi)力不說遇到封裝比較小或者打了膠的板子簡(jiǎn)直想砸東西。我最早做STM32F103C8T6項(xiàng)目的時(shí)候也被這個(gè)問題卡了很久后來把官方bootloader配合串口做IAP升級(jí)這套玩法徹底摸透了才算是真正解脫出來。所謂官方bootloader就是STM32芯片出廠時(shí)在系統(tǒng)存儲(chǔ)器System Memory里固化的一段引導(dǎo)程序用戶既不能修改也不能擦除。它的作用很單純通過串口、CAN或USB等接口把用戶代碼直接寫入芯片內(nèi)部的Flash。對(duì)于STM32F103C8T6這顆芯片來說最常用的就是USART1串口下載方式。我們不需要額外寫任何引導(dǎo)代碼只需要把BOOT0引腳拉高讓芯片上電后從系統(tǒng)存儲(chǔ)器啟動(dòng)再用PC端的下載工具把編譯好的HEX文件通過串口發(fā)過去就能完成固件更新。對(duì)開發(fā)階段快速調(diào)板、小批量產(chǎn)線刷機(jī)、售后遠(yuǎn)程協(xié)助升級(jí)來說這套方案性價(jià)比極高硬件成本就是幾塊錢的USB轉(zhuǎn)TTL模塊軟件工具則完全免費(fèi)。這篇文章適合誰看如果你是剛接觸STM32的小白想搞明白怎么不借助ST-Link也能給板子燒程序或者你已經(jīng)在做產(chǎn)品正在糾結(jié)如何設(shè)計(jì)可靠的固件升級(jí)方案這篇文章都能提供一個(gè)直接可落地的參考。我會(huì)把原理、接線、工具配置、操作步驟、中斷向量表重映射這些關(guān)鍵細(xì)節(jié)一次講透也會(huì)把那些資料里很少寫、但實(shí)際開發(fā)中一定會(huì)踩的坑全部翻出來。1. 先搞懂原理為什么BOOT0拉高就能下載程序1.1 三種啟動(dòng)模式與官方bootloader的定位STM32F103系列芯片上電后CPU會(huì)從哪個(gè)地址開始取指是由BOOT0和BOOT1兩個(gè)引腳的電平狀態(tài)決定的。具體映射關(guān)系如下表所示BOOT0BOOT1啟動(dòng)區(qū)域說明0任意主Flash正常運(yùn)行用戶程序也就是我們平時(shí)的工作模式10系統(tǒng)存儲(chǔ)器運(yùn)行出廠固化的bootloader用于串口下載程序11SRAM調(diào)試用程序在RAM中運(yùn)行掉電即失很多人第一次看到這張表會(huì)有點(diǎn)懵其實(shí)理解起來很簡(jiǎn)單芯片上電后第一件事就是去讀取0x00000000地址處的初始棧指針以及0x00000004地址處的復(fù)位向量然后跳過去執(zhí)行代碼。這三種啟動(dòng)模式本質(zhì)上是把不同的物理存儲(chǔ)區(qū)域映射到了0x00000000這個(gè)地址上。當(dāng)BOOT01、BOOT10時(shí)0x00000000映射到System Memory也就是那一段出廠固化的指令區(qū)。注意這里有個(gè)關(guān)鍵細(xì)節(jié)STM32F103C8T6的引腳上那個(gè)BOOT1其實(shí)是PB2引腳在芯片內(nèi)部已經(jīng)下拉所以很多時(shí)候我們只控制BOOT0一個(gè)引腳就夠了。1.2 官方bootloader到底做了什么當(dāng)芯片從系統(tǒng)存儲(chǔ)器啟動(dòng)后CPU執(zhí)行的是ST出廠時(shí)寫好的引導(dǎo)程序。這段程序會(huì)初始化USART1PA9為TXPA10為RX等待PC端下載工具發(fā)送特定的命令幀。它以固定的通信協(xié)議接收數(shù)據(jù)將固件數(shù)據(jù)寫入用戶Flash區(qū)域并支持擦除、校驗(yàn)、讀保護(hù)設(shè)置等操作。整個(gè)過程完全由ROM里的代碼完成我們?cè)趹?yīng)用層不需要做任何干預(yù)。這里要順帶澄清一個(gè)概念。嚴(yán)格來說通過官方bootloader下載程序標(biāo)準(zhǔn)術(shù)語叫ISPIn-System Programming在系統(tǒng)編程而在應(yīng)用運(yùn)行時(shí)跳轉(zhuǎn)到自研bootloader再更新固件的做法才叫IAPIn-Application Programming在應(yīng)用編程。但國內(nèi)嵌入式圈子里大家交流時(shí)經(jīng)?;煊眠@兩個(gè)詞既然標(biāo)題用了“IAP升級(jí)”我后面就順著這個(gè)叫法但心里要清楚門道。真正的IAP方案需要自己寫bootloader我在文章最后會(huì)展開講。1.3 為什么選擇官方bootloader而不是自研引導(dǎo)程序STM32F103C8T6的官方bootloader方案最大的優(yōu)勢(shì)就是零代碼成本。芯片內(nèi)置的引導(dǎo)程序經(jīng)過ST官方長(zhǎng)期驗(yàn)證穩(wěn)定性有保障不需要占用用戶Flash空間來存放bootloader整個(gè)64KB Flash全部可以留給應(yīng)用程序支持HEX文件直接下載不需要額外的格式轉(zhuǎn)換配合FlyMcu或STM32CubeProgrammer這類工具操作非常直觀。它適合的場(chǎng)景包括產(chǎn)品開發(fā)階段頻繁更新固件、小批量產(chǎn)線燒錄、現(xiàn)場(chǎng)售后通過串口升級(jí)等等。而自研bootloader的優(yōu)勢(shì)在于可控性更強(qiáng)可以實(shí)現(xiàn)應(yīng)用內(nèi)升級(jí)、加密校驗(yàn)、回滾機(jī)制等高級(jí)功能但它會(huì)占用Flash空間而且一旦bootloader本身有Bug設(shè)備變磚的風(fēng)險(xiǎn)也比較大。官方bootloader方案作為第一步能讓我們用最少的成本跑通整個(gè)升級(jí)鏈路理解原理之后再去設(shè)計(jì)自研方案就有了一個(gè)非常扎實(shí)的基礎(chǔ)。2. 動(dòng)手前的準(zhǔn)備工作接線、跳線、工具鏈2.1 需要準(zhǔn)備哪些東西硬件方面最核心的就是一塊STM32F103C8T6最小系統(tǒng)板我試過市面上的Blue Pill開發(fā)板也可以用自己畫的板子。一個(gè)USB轉(zhuǎn)TTL模塊CH340或CP2102都可以注意模塊的IO電平必須是3.3V如果買到5V電平的模塊輕則通信異常重則燒芯片。還需要幾根杜邦線。軟件方面推薦準(zhǔn)備兩個(gè)工具FlyMcu和STM32CubeProgrammer。FlyMcu是國內(nèi)開發(fā)者做的老牌工具界面簡(jiǎn)潔一鍵下載的體驗(yàn)做得很順手STM32CubeProgrammer是ST官方出品的編程工具功能更全面支持HEX、BIN、ELF等多種格式后續(xù)做批量生產(chǎn)也用它。2.2 進(jìn)入系統(tǒng)存儲(chǔ)器模式的跳線設(shè)置拿最常見的Blue Pill開發(fā)板舉例板上有一個(gè)標(biāo)著BOOT0和BOOT1的跳線帽。要讓芯片進(jìn)入官方bootloader需要把BOOT0跳線撥到1位置高電平BOOT1跳線保持在0位置低電平。然后按一下復(fù)位鍵或者直接重新上電芯片就會(huì)運(yùn)行系統(tǒng)存儲(chǔ)器里的引導(dǎo)程序。這里有個(gè)經(jīng)驗(yàn)修改BOOT0跳線之后必須復(fù)位或者重新上電才會(huì)生效。如果你只是把跳線從0撥到1芯片仍然在跑舊程序很多新手就在這一步卡了很久。2.3 串口接線必須交叉連接官方bootloader使用USART1作為下載接口對(duì)應(yīng)引腳是PA9和PA10。USB轉(zhuǎn)TTL模塊和STM32之間需要交叉連接這一點(diǎn)極其重要電腦USB轉(zhuǎn)TTL模塊STM32F103C8T6TXDPA10USART1_RXRXDPA9USART1_TXGNDGND請(qǐng)注意GND必須共地否則通信波形不穩(wěn)定經(jīng)常會(huì)出現(xiàn)能識(shí)別芯片但是下載中途失敗的情況。3.3V電源線可以接也可以不接如果開發(fā)板使用獨(dú)立供電就只接TXD、RXD和GND三根線如果使用USB轉(zhuǎn)TTL模塊直接給板子供電則把3.3V也接上。但務(wù)必確認(rèn)模塊的輸出電壓是3.3V且供電電流足夠否則在擦寫Flash這種電流較大的操作時(shí)電壓跌落會(huì)導(dǎo)致整片F(xiàn)lash數(shù)據(jù)損壞。3. 核心實(shí)操用FlyMcu完成一次完整固件下載3.1 第一步讓Keil生成HEX文件在寫下載步驟之前先說一個(gè)前置條件。默認(rèn)情況下Keil MDK編譯STM32工程只會(huì)生成AXF文件需要額外勾選一個(gè)選項(xiàng)才會(huì)生成HEX文件。操作路徑是Options for Target → Output選項(xiàng)卡 → 勾選Create HEX File。這個(gè)選項(xiàng)勾上之后每次編譯成功工程目錄下的Objects或Listings文件夾里就會(huì)多出一個(gè).hex文件FlyMcu下載時(shí)選它即可。如果你希望把APP放到偏移地址并在Flash開頭放一個(gè)跳轉(zhuǎn)引導(dǎo)程序那么還需要在Target選項(xiàng)卡里設(shè)置IROM1的起始地址和大小。舉例來說如果Flash總共64KB引導(dǎo)程序占16KBAPP就從0x08004000開始那么IROM1的Start設(shè)為0x08004000Size設(shè)為0xC000。這個(gè)設(shè)置直接決定了鏈接器生成的代碼地址一旦搞錯(cuò)下載成功也會(huì)跑飛。3.2 第二步FlyMcu的連接參數(shù)配置把USB轉(zhuǎn)TTL模塊插到電腦上打開設(shè)備管理器確認(rèn)串口號(hào)。然后打開FlyMcu左側(cè)區(qū)域進(jìn)行如下配置選擇串口就是剛才記錄的COM號(hào)波特率默認(rèn)115200即可如果下載線質(zhì)量好、環(huán)境穩(wěn)定可以改到460800提高速度勾選“校驗(yàn)”勾選“編程后執(zhí)行”下拉框里選擇“STM32F10x Low-density/Med-density”或者自動(dòng)檢測(cè)FlyMcu會(huì)自動(dòng)識(shí)別芯片型號(hào)。這個(gè)工具已經(jīng)多年不更新但對(duì)付F103系列完全夠用。關(guān)于“編程后執(zhí)行”這個(gè)選項(xiàng)需要特別解釋一下。它表示下載完成后由bootloader跳轉(zhuǎn)到0x08000000處執(zhí)行用戶程序。如果你的APP鏈接地址就是0x08000000勾選上之后燒完就能直接運(yùn)行省去手動(dòng)復(fù)位的步驟。但如果你的APP放在偏移地址而0x08000000處沒有有效的引導(dǎo)程序那么勾選這個(gè)選項(xiàng)沒有任何效果甚至可能跑飛。3.3 第三步一鍵下載流程FlyMcu最方便的一點(diǎn)是支持通過串口的DTR和RTS信號(hào)線自動(dòng)控制復(fù)位引腳和BOOT0引腳實(shí)現(xiàn)一鍵下載免去手動(dòng)跳線的麻煩。前提是你的硬件電路上做了USB轉(zhuǎn)TTL模塊的DTR/RTS到NRST/BOOT0的連接很多開發(fā)板在設(shè)計(jì)時(shí)已經(jīng)內(nèi)置了這個(gè)電路。界面上對(duì)應(yīng)的是“DTR的低電平復(fù)位RTS高電平進(jìn)BootLoader”這個(gè)復(fù)選框如果板子上有一鍵下載電路就勾上沒有就保持不勾選手動(dòng)操作BOOT0跳線。操作步驟在FlyMcu中點(diǎn)擊“...”按鈕選擇編譯生成的HEX文件確認(rèn)串口、波特率等參數(shù)無誤如果手動(dòng)跳線方式先確保BOOT01復(fù)位板子點(diǎn)擊“開始編程”觀察日志輸出窗口正常流程會(huì)依次顯示連接成功、芯片識(shí)別、整片擦除、寫入Flash、校驗(yàn)成功看到校驗(yàn)成功后把BOOT0跳回0按一下復(fù)位鍵程序開始運(yùn)行整個(gè)過程大概十幾秒比接ST-Link還快。實(shí)測(cè)下來115200波特率最穩(wěn)定460800雖然快但在某些CH340模塊或長(zhǎng)線上容易出現(xiàn)偶發(fā)校驗(yàn)失敗。3.4 備用方案STM32CubeProgrammer下載步驟如果你更喜歡用ST官方工具流程也非常直觀打開STM32CubeProgrammer在右上角選擇UART模式Port選擇對(duì)應(yīng)串口波特率設(shè)為115200確保BOOT01并復(fù)位板子點(diǎn)擊Connect按鈕連接成功后在左側(cè)編程區(qū)點(diǎn)擊Open file選擇HEX文件點(diǎn)擊Download按鈕開始下載下載完成后點(diǎn)擊DisconnectBOOT0跳回0復(fù)位運(yùn)行CubeProgrammer的優(yōu)勢(shì)在于對(duì)ST芯片的支持最權(quán)威協(xié)議實(shí)現(xiàn)完全貼合官方bootloader幾乎不會(huì)出現(xiàn)兼容性問題。如果你用了FlyMcu怎么都連不上換個(gè)CubeProgrammer往往能解決問題。3.5 兩種部署方式全量覆蓋與分區(qū)引導(dǎo)使用官方bootloader下載時(shí)HEX文件里其實(shí)自帶了絕對(duì)地址信息。也就是說下載工具會(huì)按照HEX里記錄的目標(biāo)地址把數(shù)據(jù)寫到Flash的對(duì)應(yīng)位置。這就衍生出兩種不同的部署方式。第一種最簡(jiǎn)單APP鏈接地址就是0x08000000下載時(shí)直接覆蓋整個(gè)Flash。這種情況下不需要做中斷向量表重映射因?yàn)镃PU復(fù)位后從0x08000000取中斷向量本身就是APP自己的向量表完全匹配。對(duì)于不少Demo性項(xiàng)目、或者Flash只有64KB的小容量產(chǎn)品這種方式夠用。第二種是把Flash分成兩個(gè)區(qū)域0x08000000放一段跳轉(zhuǎn)引導(dǎo)程序偏移地址放真正的APP。兩次下載或者生成合并HEX就能讓設(shè)備啟動(dòng)時(shí)先執(zhí)行引導(dǎo)程序再由引導(dǎo)程序跳到APP。這種部署已經(jīng)接近真正的IAP架構(gòu)但牽扯到中斷向量表重映射的問題繞不開我單獨(dú)用一章講清楚。4. 繞不開的坑中斷向量表重映射4.1 APP偏移后為什么必須處理向量表Cortex-M3內(nèi)核的中斷機(jī)制決定了任何中斷響應(yīng)時(shí)CPU都會(huì)從一個(gè)固定的地址0x00000000讀取向量表。如果APP放在0x08008000這類偏移地址而0x00000000仍然映射到Flash首地址那么中斷來了以后CPU去0x08000000查向量表找到的是Flash開頭那一小段引導(dǎo)程序的數(shù)據(jù)根本不是APP的中斷服務(wù)函數(shù)地址自然就進(jìn)不了中斷函數(shù)表現(xiàn)就是程序一觸發(fā)中斷就死機(jī)、進(jìn)入HardFault或者干脆復(fù)位重啟。很多初學(xué)者把APP放到偏移地址后發(fā)現(xiàn)主循環(huán)跑得挺好一按按鍵或者一收串口數(shù)據(jù)就死機(jī)就是這個(gè)原因。4.2 一個(gè)關(guān)鍵知識(shí)點(diǎn)STM32F103沒有VTOR寄存器Cortex-M3內(nèi)核定義了向量表偏移寄存器VTOR用來重設(shè)中斷向量表的位置但這是一個(gè)可選實(shí)現(xiàn)。很遺憾STM32F1系列出于成本考慮沒有集成VTOR寄存器所以不能像F4、F3那樣直接寫一個(gè)SCB-VTOR APP_ADDR就完事。網(wǎng)上很多教程拿F4的例子來教F103屬于典型的藥不對(duì)癥。F103的正確做法有兩種一種是把整個(gè)APP的中斷向量表復(fù)制到SRAM開頭然后把SRAM重映射到0x00000000地址另一種是保留Flash開頭一段空間通過跳轉(zhuǎn)和查表實(shí)現(xiàn)軟重定向。實(shí)際產(chǎn)品中第一種更簡(jiǎn)單可靠。4.3 標(biāo)準(zhǔn)的向量表重映射代碼實(shí)現(xiàn)下面是經(jīng)過驗(yàn)證的重映射函數(shù)在APP的main函數(shù)第一行調(diào)用#define APP_BASE_ADDR 0x08008000u // 根據(jù)實(shí)際偏移修改 #define VECTOR_NUM 96u // F103C8T6實(shí)際中斷向量數(shù)量約48個(gè)取96足夠 static void VectorTableRemap(void) { uint32_t i; uint32_t src APP_BASE_ADDR; uint32_t dst 0x20000000; // 1. 將APP向量表從Flash復(fù)制到SRAM起始地址 for (i 0; i VECTOR_NUM; i) { *(__IO uint32_t *)(dst (i 2)) *(__IO uint32_t *)(src (i 2)); } // 2. 設(shè)置SYSCFG_CFGR1的MEM_MODE位將SRAM映射到0x00000000 __DMB(); SYSCFG-CFGR1 | SYSCFG_CFGR1_MEM_MODE_0; __DSB(); __ISB(); }使用時(shí)要檢查一下你的APP工程里棧頂SP初始值也就是0x08008000地址前4字節(jié)的內(nèi)容它會(huì)被復(fù)制到SRAM的0x20000000處。程序啟動(dòng)時(shí)CPU已經(jīng)通過Flash讀取過一次棧指針此時(shí)棧區(qū)已經(jīng)初始化完成所以覆蓋SRAM開頭這384字節(jié)96個(gè)向量乘以4字節(jié)不會(huì)影響正在運(yùn)行的程序只要鏈接腳本里設(shè)置的棧頂?shù)刂凡辉?x20000000到0x20000180之間即可。以F103C8T6的20KB SRAM為例把棧頂設(shè)置在0x20005000附近向量表就穩(wěn)穩(wěn)地和棧區(qū)隔開了。4.4 一個(gè)更省事的方案把引導(dǎo)程序也做進(jìn)Flash向量表重映射確實(shí)容易出問題那有沒有更省事的方法有一種做法是把跳轉(zhuǎn)引導(dǎo)段做得更聰明一點(diǎn)Flash開頭不放簡(jiǎn)單的跳轉(zhuǎn)指令而是放一個(gè)“影子向量表”每個(gè)中斷向量都對(duì)應(yīng)一個(gè)跳轉(zhuǎn)指令跳轉(zhuǎn)到真正的APP中斷服務(wù)函數(shù)。這種方案能避免SRAM的開銷但代碼復(fù)雜度高而且每加一個(gè)中斷都要同步維護(hù)兩個(gè)表我實(shí)際用過一次就不再用了。對(duì)于絕大多數(shù)產(chǎn)品向量表重映射配合SRAM重映射是最合適的。5. 實(shí)戰(zhàn)排雷我遇到的7個(gè)典型故障5.1 串口連接失敗FlyMcu報(bào)“無法連接”這是出現(xiàn)頻率最高的問題。排查思路按順序來先確認(rèn)BOOT0確實(shí)撥到1且芯片已復(fù)位再確認(rèn)TXD/RXD接線是否交叉然后用萬用表量一下USB轉(zhuǎn)TTL模塊的TXD引腳是否有電平跳變最后檢查串口號(hào)是否被其他軟件占用以及波特率是否太高。還有一個(gè)容易被忽略的點(diǎn)官方bootloader的USART配置是8位數(shù)據(jù)、偶校驗(yàn)、1個(gè)停止位即8E1而普通串口助手的默認(rèn)配置往往是8N1。FlyMcu和CubeProgrammer會(huì)自動(dòng)協(xié)商這部分一般不用手動(dòng)管但如果你拿自己的串口調(diào)試工具發(fā)命令就要注意這個(gè)區(qū)別。5.2 能識(shí)別芯片但擦除或?qū)懭霑r(shí)報(bào)錯(cuò)這種情況大多是供電問題或線材太長(zhǎng)。擦寫Flash時(shí)芯片電流需求會(huì)突然增大如果USB轉(zhuǎn)TTL模塊的3.3V輸出能力不足電壓跌落就會(huì)導(dǎo)致寫入失敗。解決方法是改用獨(dú)立穩(wěn)壓供電把USB轉(zhuǎn)TTL模塊和STM32之間線長(zhǎng)控制在15cm以內(nèi)。另外飛線時(shí)杜邦線接觸不良也會(huì)有同樣表現(xiàn)我建議接線后先輕輕晃一晃確認(rèn)接觸牢靠。5.3 燒寫成功但按下復(fù)位沒反應(yīng)程序沒有跑起來。一般原因有三個(gè)一是下載的是偏移地址的APP但Flash開頭的0x08000000沒有引導(dǎo)程序二是Boot0跳線沒有撥回0芯片還在系統(tǒng)存儲(chǔ)器模式自然跑不了用戶程序三是KEIL里沒有勾選Create HEX File實(shí)際下載的是舊文件。5.4 APP能運(yùn)行但一進(jìn)中斷就死機(jī)這就是上一章講的問題APP放在偏移地址但沒有做中斷向量表重映射。解決辦法就是調(diào)用重映射函數(shù)并注意在跳轉(zhuǎn)時(shí)進(jìn)入APP之前關(guān)閉全局中斷在APP里重新初始化外設(shè)。5.5 下載完成后自動(dòng)執(zhí)行會(huì)死機(jī)手動(dòng)復(fù)位就正常FlyMcu的“編程后執(zhí)行”功能是通過設(shè)置PC指針直接跳轉(zhuǎn)到0x08000000實(shí)現(xiàn)的。如果你的APP在偏移地址而0x08000000沒有有效代碼勾選這個(gè)選項(xiàng)就會(huì)死機(jī)。遇到這個(gè)情況取消勾選“編程后執(zhí)行”燒完后手動(dòng)復(fù)位即可。5.6 使用了國產(chǎn)替代芯片下載失敗現(xiàn)在很多項(xiàng)目用GD32F103、APM32F103等國產(chǎn)替代芯片。這些芯片的系統(tǒng)存儲(chǔ)器bootloader設(shè)計(jì)大體兼容ST但通信時(shí)序和Flash操作細(xì)節(jié)可能有差異。遇到下載失敗優(yōu)先換STM32CubeProgrammer試試如果仍然失敗需要查閱對(duì)應(yīng)芯片手冊(cè)確認(rèn)USART1在boot模式下是否有特殊配置。我試過GD32F103C8T6用FlyMcu的STMCU自動(dòng)檢測(cè)模式偶爾失敗選對(duì)型號(hào)后正常。5.7 板子被寫保護(hù)無法擦除之前調(diào)試時(shí)用ST-Link給芯片設(shè)置了讀保護(hù)或者下載工具設(shè)置了選項(xiàng)字節(jié)再想用串口下載就會(huì)失敗。解決辦法是用FlyMcu的“解除讀保護(hù)”功能或使用STM32CubeProgrammer在Option Bytes頁面吧Read Out Protection設(shè)置為AA并Apply。執(zhí)行完這個(gè)操作后Flash會(huì)被整片擦除注意提前備份數(shù)據(jù)?,F(xiàn)象可能原因解決方案無法連接BOOT0未拉高、接線交叉錯(cuò)誤、串口被占用檢查跳線和接線換串口號(hào)寫入報(bào)錯(cuò)供電不足、線材過長(zhǎng)、接觸不良獨(dú)立供電縮短線材重插杜邦線運(yùn)行無反應(yīng)Flash開頭無引導(dǎo)、BOOT0未復(fù)位、HEX未生成檢查鏈接地址BOOT0跳回0勾選HEX中斷死機(jī)向量表未重映射增加重映射函數(shù)自動(dòng)執(zhí)行死機(jī)勾選了“編程后執(zhí)行”且Flash開頭無有效代碼取消勾選手動(dòng)復(fù)位寫保護(hù)無法擦除選項(xiàng)字節(jié)設(shè)置了讀保護(hù)解除讀保護(hù)注意會(huì)格式化Flash6. 進(jìn)階思考官方方案之外如何設(shè)計(jì)真正的IAP升級(jí)6.1 官方bootloader方案的邊界在哪里官方bootloader方案的局限其實(shí)很明顯。第一每次升級(jí)都需要人手去撥BOOT0跳線或者配合一鍵下載電路無法做到“設(shè)備在應(yīng)用運(yùn)行中自行升級(jí)”。第二官方bootloader通過串口接收數(shù)據(jù)時(shí)沒有加密和校驗(yàn)機(jī)制關(guān)鍵產(chǎn)品直接暴露在不安全環(huán)境中會(huì)引入風(fēng)險(xiǎn)。第三它不具備覆蓋保護(hù)機(jī)制升級(jí)斷電容易變磚。這些局限決定了它更適合開發(fā)調(diào)試和小批量維護(hù)而不是一個(gè)需要遠(yuǎn)程升級(jí)、高可靠性的量產(chǎn)產(chǎn)品方案。6.2 自研bootloader的標(biāo)準(zhǔn)架構(gòu)如果要做真正意義上的IAP需要自己在Flash中實(shí)現(xiàn)一個(gè)輕量級(jí)引導(dǎo)程序并讓APP具備觸發(fā)跳轉(zhuǎn)的能力。標(biāo)準(zhǔn)分區(qū)方式如下0x08000000自研bootloader區(qū)存放串口/無線接收、Flash寫入、跳轉(zhuǎn)邏輯0x08008000APP區(qū)存放應(yīng)用功能代碼0x0800F000參數(shù)區(qū)存放升級(jí)標(biāo)志、版本號(hào)最后一次下載前校驗(yàn)成功后將升級(jí)標(biāo)志寫死APP啟動(dòng)后檢查是否需要跳轉(zhuǎn)bootloaderAPP接收完新固件后先校驗(yàn)固件完整性CRC或SHA256寫入升級(jí)標(biāo)志然后執(zhí)行系統(tǒng)復(fù)位。復(fù)位后bootloader檢查到升級(jí)標(biāo)志進(jìn)入固件接收模式接收完成后跳轉(zhuǎn)新APP。這樣整個(gè)升級(jí)觸發(fā)出自應(yīng)用本身操作流程變?yōu)樵O(shè)備端收到升級(jí)指令→APP下載固件→跳轉(zhuǎn)bootloader→bootloader校驗(yàn)后寫入Flash→運(yùn)行新APP。配合雙Bank方案還可以實(shí)現(xiàn)升級(jí)失敗自動(dòng)回滾可靠性遠(yuǎn)超官方方案。不過如果做遠(yuǎn)程升級(jí)串口方式就不夠用了需要給APP加網(wǎng)絡(luò)模塊或者無線透?jìng)髂K把固件數(shù)據(jù)通過網(wǎng)口/4G/WiFi接收下來這時(shí)候bootloader內(nèi)部的接收邏輯要改成通過共享內(nèi)存或串口從APP模塊獲取數(shù)據(jù)復(fù)雜度又上一個(gè)臺(tái)階。很多人把這套系統(tǒng)叫OTA升級(jí)本質(zhì)是IAP的傳輸通道擴(kuò)展。6.3 一些實(shí)際操作體會(huì)做自研bootloader時(shí)我踩過最深的坑是Flash扇區(qū)分配問題。STM32F103C8T6的每一個(gè)Flash扇區(qū)是1KB擦除必須按扇區(qū)來所以APP區(qū)起始地址必須對(duì)齊扇區(qū)邊界。如果APP區(qū)設(shè)為0x08008000這個(gè)地址除以0x400剛好是整數(shù)對(duì)齊沒問題如果設(shè)為0x08007000對(duì)齊就亂了寫擦除時(shí)很容易誤擦掉bootloader代碼直接變磚。有幾次我把bootloader的啟動(dòng)流程和Flash驅(qū)動(dòng)分開調(diào)試剛寫完驅(qū)動(dòng)測(cè)試時(shí)不小心把bootloader區(qū)也擦掉了只能上ST-Link救回來。另外一點(diǎn)固件傳輸協(xié)議設(shè)計(jì)要帶幀序號(hào)和ACK機(jī)制。一開始我把固件分包發(fā)送但沒做ACK數(shù)據(jù)稍大就丟包升級(jí)成功率慘不忍睹。后來改成每一包都要應(yīng)答超時(shí)重發(fā)對(duì)端校驗(yàn)通過才發(fā)下一包成功率一下就上去了實(shí)測(cè)一次幾萬字節(jié)的大型固件傳輸基本是一包都不丟。寫在最后的一個(gè)小技巧最后分享一個(gè)我常用的升級(jí)流程閉環(huán)。無論是官方bootloader還是自研方案升級(jí)完成后一定要做一次版本校驗(yàn)并記錄到Flash參數(shù)區(qū)。對(duì)于官方bootloader方案下載工具自帶的校驗(yàn)功能能保證寫入數(shù)據(jù)準(zhǔn)確性但保證不了寫入之后APP的邏輯是否完整所以建議在APP啟動(dòng)時(shí)讀一次自身Flash區(qū)域的版本號(hào)和固件CRC值寫到日志里。這樣現(xiàn)場(chǎng)一旦出問題第一件排查的事就是回看日志里的版本記錄能省下大量吹牛歸零的時(shí)間。我自己在正式產(chǎn)品中都保留了官方bootloader作為“最后一道門”即使自研bootloader寫崩了還能通過串口把官方bootloader調(diào)出來做強(qiáng)制恢復(fù)。這套組合用熟了之后再復(fù)雜的固件升級(jí)場(chǎng)景心里都有底。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情婷婷在线中文字幕| 熟女人妻一区二区三区免费看| 182无码| 91wwmm导航| 99精品偷自拍| 五月天婷婷黄色| 99在线精品观看99| 五月天啪啪啪| 永久地址 色| 五月婷婷综合影院| 真实熟女-91九色| 六月婷婷久久| 色亚洲欧洲| 香蕉狠狠爱视频| 国产美女无遮挡裸体毛片A片| 欧美日韩AAAA| 天天爽综合| 色婷天天| 婷婷五月天网址| AA片在线观看视频在线播放| 久久激情网| 玖玖在线视频福利| 婷婷五月天堂| 中文字幕综合| 日韩av在线免费观看| 国产一区二区三区影院| 久久丁香五月天| 激情五月婷婷开心网| 成人精品一区二区三区四区五区| 色 免费网站视频| 性爱在线播放av| 精品视频网| 丁香桃色网| 亚洲va欧洲va国产va不卡| 久久五月丁香婷婷| 国产色丁香| 91久久电影| 超碰成人黄色网| 天天干狠狠| 99热这里只有精品首页| 色香欲综合| 丁香五月综合图片在线观看| 五月丁香六月婷婷综合网| 婷婷久久久久| 欧美日韩91| 久久蜜臀婷婷| 狠狠情色| 人人摸人人操人人爽| 91精品国产综合久久蜜芽解析速度| 99在线免费观看| 中文字幕在线日亚州9| 99热6这里只有精品| 99性爱无码| 九九综合久久| 五月天婷婷六月| www.日本久久videos| 99草视频在线观看| 久久香蕉影院| 五月天婷婷色小说| 狠狠五月天| 五月色天情| 色五月丁香伊人五月| 激情五月视频| 月婷婷婷婷五月| 第一区久久网站| 五月婷婷与六月丁香图片激情| 97干视频| 狠狠色婷婷在线| 九九黄色网| www九九| 亚洲啪啪网| 狼人婷婷久久| 开心亚洲久久开心| 婷婷丁香人妻天天爽| 中文字幕婷婷五月天在线观看| 99爱最新免费视频在线观看| 五月丁香六月欧美综合网站| 99热网站| 99热传媒| 97在线视频人妻九色| 九色视频91| 91久久久久久| 丁香五月婷婷手机| 在线成人网站| 国产在线激情视频| 91人人澡人人爽人人看| 丁香五月六月婷婷自拍| 五月丁香六月激情综合| 欧美三级巜人妻互换| 色色欧美色色| 变态另类9| 综合婷婷六月| 停婷丁五月在线| www.超碰在线| 亚洲成人av在线观看 | 激情五月狠狠喔| 亚洲视频无| 91色综合网| 五月婷婷啪啪| 六月婷婷五月天| 国产免费AV在线| 欧美色色色| 最新无码专区| 精品婷婷五| 开心日韩丁香婷婷五月| 中文字幕AV在线播放| 久久作爱| 久久五月婷婷视频| 9这里只有精品| www.五月丁香| 免费91久久精品| 久青操| 狠狠干2007| 天天日天天干天天爽| 任你爽免费视频| 成人无码髙潮喷水A片| 97成人在线视频精品| 日日爱678| 五月成人网站| 国产欧美大香蕉一区| 这里只有精品日韩| 五月丁香性爱| 色九月婷婷丁香| 综合久久五月| 色婷婷成人做爰A片免费看网站| 久久 中文 日本| 亚洲色爽| 精品无码久久久久久久久| 五月婷天堂视频| 5月婷婷综合| 色五月激情| 婷婷婷婷婷婷婷婷婷婷丁香| 桃色激情婷婷伊人网| 色你久久| 在线观看av网站| 婷丁香五月天| 色综合天天| 日韩色色一区| 久色五月丁香视频| 六月丁香激情| 欧美性爱五月天| 青草青草视频2免费观看| 久久久8| 极品人妻videosss人妻| 五月激情综合网| 亚洲AV综合网| 婷婷天天色| 高清资源站日A美A欧亚…| 天天干,天天舔| 噜噜噜久久| 大鸡巴伊人网| 日本婷婷色日| 亚洲AV日韩AV永久无码网站| 丁香激情五月少妇| 六月丁香天堂| 天天天操天天天日| 97碰碰碰| 亚洲免费看片| 婷婷,五月天,丁香,第一| 九九热欧美| 成人在线视频一区| 碰超99| 色欲久久久久久综合网综合网| 99成人小视频| 97婷婷狠狠久久综合9色| 深爱激情网综合| 亚洲成人日韩无码精品| 停停五月丁香| 91精品婷婷国产综合 | 丁香五月天啪啪| 九九色人| 免费视频在线观看的网站| 色综合天天网| 色婷婷五月综合色婷婷| 棕合影院色色| 美女va| 男妓跪趴把舌头伸进我的嘴巴| www.激情在线| 美女被肏网站在线看| 久草xx性爱视频| 婷婷丁香大香蕉| 99热这里精品| 久久久久久xxxxx| 欧美大片免费播放器| 五月婷婷丁香大陆免费| 操操精品| 久久婷色| www,99热| 天天舔天天插天天爱| 国产人妻777人伦精品HD| m色激情网| www.9色色色| 99爱在线视频观看| 五月天婷婷綜合院| 国产毛片欧美毛片久久久| www.五月婷婷久久.com| 色噜噜狠狠色综合网| 激情床戏| 亚洲五月天婷婷在线| 日韩久综合| 色婷婷操逼| 六月婷婷av| 天天日天天摸| 99色在线观看视频| 婷婷天天综合| 婷婷伊人綜合中文字幕| 婷婷五月天综合久久日| 国产成人网| 99亚洲日韩| 五月婷激情影院| 婷婷激情五月| www.91九色| 在线综合婷婷| 99精品激情| 九九热内射| 五月婷婷中文| 亚州视频九九99| 久人人操| 色综合色色色色色色综合| 99re热在线视频观看| 噜综合| 极品少妇婷婷五月| 丁香网五月天| 久久视频在线视频| 99热免费| 午夜大香蕉| 天天激情站| 只有精品视频在线观看| 另类激情五月| 性天堂久久| 一本到不卡高清DVD| 99久久婷| 色色亚洲| 99色视频在线| 人人噜天天上| 天天日夜夜高潮| 婷婷激情五月视频| 国产中文字幕在线视频免费观看 | 丁香五月天在线| 狠狠大香婷婷爱| 疯狂做受XXXX高潮A片| 婷婷射综合| 伊人色综在线| 色欲AV导航| 伊人丁香婷婷东京| 激情五月综合色婷婷| 九九精品综合| 91色逼| 玖玖热99| 888久久久| 一级AV片| 综合激情四射一theav| 激情五月天。| 日韩美女羞羞网站在线观看| 色五月婷婷综合在线| 91婷婷在线观看| 久久99日本精品视频免费观看| 色色欧美色色色| 五月天激情婷婷| 日本色色网站| 九九99精品视频在线观看| 激情网婷婷五月天| AV成人在线播放| 婷婷五月综合网| 性天天中文网| 亚洲美女网Va| 日韩色久| 色综合色综合网| 天天影院色| 婷婷五月天成人| 女婷久久| 人妻AV中文系列| 亚洲人妻av伦理| 9久精品| 精品少妇人妻AV无码专区偷人| 日韩成人中文| 久久99久久99精品免观看粉| 九九家庭影院| 色婷婷狠狠18| 色五月成人| 99ER热精品视频| 久久五月热| 久久五月天网| 国产视频久色| 性色天| 91色久| 开心五月深爱五月| 五月婷婷六月丁香玖玖玫瑰91| 91久久综合亚洲噜噜成人在线| 综合色99| 丁香五月综合在线观看| 狠狠干狠狠色| 久久日曰| 五月婷婷综合网在线播放| 五月丁香AV、伊人业余、性色熟妇| 都市激情小说婷婷| 另类小说色婷婷| 婷婷五月丁香四射| 99热免费精品热久久66| 五月丁香色六月激情干大屄| 婷婷五月天成人网| av久热| 夜夜夜叫天天天做| 久久性爱视频| www.色情五月天.com| www.激情| 亚洲精品中文字幕成人片| 五月丁香六月婷婷啪啪| 色综合综合网| www.婷婷六月天| 热婷婷久| 天天爽天天透天天爱| 成人网在线视频| 国产又爽又猛又粗的视频A片| 大香蕉伊在| 热99精品视频观看| 五月开心久久| 激情综合亚洲| 丁香五月综合| 中文字幕,综合,91| WWW.桔色成人.COM| 超pen个人视频97| 五月丁香婷中文| 五月婷婷开心丁香| 97超碰,人人舔,人人操,人人摸 | 激情伊人网| 丁香桃色综合网| 色情久久久| 香蕉五月婷婷| 天天操天天操天天操天天操天天操天天操| 精品欧美性爱超级爽| 色丁香五月婷婷| 婷婷六月啪啪| 丁香五月色激情| 5月丁香婷婷| 91丨九色丨大屁股| 99色婷婷视频| 五月丁香大香蕉| 激情九色| 色婷婷a v| 久久婷婷成人综合色怡春院| 99久操视频| 九九视频这里是精品五月| 激情99| 天啪色| 99综合免费视频| 日日操夜夜擼| 激情五月天免费视频| 色五月婷婷中文字幕| 亚洲操人| 久久五月综合| 俺去也在线官网| 欧美日韩99| 五月婷婷六月天| 【乱子伦】黄色| 久99视频| 99er在线观看| 欧美,日韩成人在线| 深爱激情五月天婷婷网| 第四色色六月色综合| 伊人婷婷五月天av| 色情五月天导航| 爱婷婷都市激情| 日本婷婷在线| 天天干天天干天天| 甈你aaaaa| 成人丁香婷婷| 99热地址| 亚洲sesesese| 无码91中文字幕| 婷婷综合在线观看视频| 婷婷99丁香| A1片久久久| 999热在线视频| 99热都是精品| www国产亚洲色婷婷com| 夜色综合网| 亚洲1区| 久久婷婷成人视频| 色色网站日本91| 五月丁香六月婷婷网| 综合性爱网| 自拍偷窥99热| 深爱丁香激情| 五月丁香激情综合啪啪| 99热久久这里只有精品| 天堂草在线看www| 九九青草热| 熟女激情五月天| 色天天久婷婷| av线电影| 日本熟妇人妻在线| 日本97在线| 精品久久艹| 亚洲综合婷婷| 大香蕉综合在线| 婷婷97狠狠成人网站| 99热这里只有免费| www久久五月com| 91丨九色丨国产打屁股网站| 激情五月婷婷五月| 丁香五月欧美| 丁香六月毛片| 亚洲精品视频在线播放| 五月丁香狠狠爱婷婷综合| 96精品久久久久久久久| 丁香五月婷婷手机| 电影《战争与艾拉》免费观看| 色综合女人99| 色情婷婷| AV在线大香蕉| 开心五月婷婷婷美女| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 99热偷拍| 26uuu最新地址| 国产精品久久久99视频| 吊色AV男人的天堂| 91热久88| 欧美日韩精品人妻狠狠躁免费视频 | 综合五月激情| 爱99干99| 五月天激情网站| 先锋资源91| 婷婷综合网伊人| 超碰精品在线| 日本97在线视频| 五月丁香婷婷激情图片| 三十熟女| 色婷婷亚洲婷婷| 婷婷欧美综合| 91凹凸在线| 老司机伊人| 密臀久久| 插插插丁香五月婷婷| 99ri精品在线| 九九久久五月天| 思思热久久爱| 久久久区区一久久久久久| 97香蕉碰碰人妻国产欧美| 久久一操| 欧美婷婷丁香五月| 综合九九久久| 大香婷婷| 十区AV| 五月婷婷 自拍| 色综合视频在线| 中文字幕网伦射乱中文| 五月天激情四射| 99精品自拍| 狠狠干在线| 橾逼网| 人妻VideOssS人妻高清| 在线可以看的av网址| 婷婷五月丁香色情| 狠狠操狠狠做| 色久天| 99热在线成人网站| 五月天成人小说| 五月成人天| 五月天另类小说| 99爱无码| 色播五月综合网| 欧美成人精品A片免费一区99| 婷婷色爱| 五月99久久| 色哟哟www| 大香蕉五月婷婷| 色五月综合| 亚洲综合激情五月久久| 精品夜夜澡人妻无码AV| 久久婷婷免费| 色婷婷色综合激情91| 99狠狠操一| 激情丁香九九五月综合网| 亚洲成人AV在线播放| 热久久91| 天天插夜夜爽| 色婷婷www| 五月丁香婷婷深深爱| 婷婷色操| 国产99热| 国产黄色av| 五月天另类图片区99| 色域五月婷婷丁香| 狠狠另类视频| 人人草开心五月天| 久99久视频| 99热这里只有精| 一区二区三区四日本| 免费观看高清无码| 超碰chaompinm| 久久亚洲色导航| 丁香熟女乱| www.色婷婷.com| 大香蕉久久伊人婷婷五月丁香| 99热99思午夜精品| 五月丁香婷婷成人网| 五月丁香久| 中文字幕网伦射乱中文| 久久影视婷婷五月| 狠狠香婷婷五月| 色婷婷五月综合网| 色欲婷婷五月天| 国产伦亲子伦亲子视频观看| 亚洲婷婷五月| RenRenSe在线视频网站| 久热黄色| 大香蕉视频婷婷| 激情另类综合| 婷婷五月花西瓜| www.色婷婷| 99视频综合| 五月丁香久久综合| 五月婷婷激情综合网| 色99网| 久久久久97| 精品思思久久| 五月天激情小说| 国产精产国品一二三在观看| 人伦30P| 开心五月色婷| 九九视频在线| 色综合丁香婷婷| 高清无码中文字幕aVDV| 丁香五月电影| 无码动漫av| 丁香五月天激情小说| AV在线观看网站| 狠狠噪| www.粉嫩av.com| 日本天天色| 精品人妻久久久| 黄色三级日本| 色婷另类| 五月丁香六月婷婷激情视频在线观看免费 | 色玖玖综合网| 91丨九色丨老农村| 夜夜躁爽日| 亚洲无AV在线中文字幕| 亚洲激情综合| 成人在线不卡| 99热综合在线| 午夜亚洲国产精品av一区二区| 丁香五月熟女| 激情五婷网| 97干干干丁香| 涩涩五| 99久视频| 丁香婷婷综合五月天| 久热 91| 综合激情专区| 98色花堂98t.R| 久热re在线视频| 婷婷激情丁香六月| 婷婷五月激情小说| 99精品大片| www.金莲av| 激情狠狠丁香月| 九九视频在线观看视频6 | 久久98| av在线资源| 九九精品自拍| 色婷婷小说网| 婷婷五月天无码视频| www.夜夜| www。五月天。com| 综合狠久久| 久久九九蜜| 狠狠狠狠狠狠草| 六月丁香婷婷五月| 五月天久久激情| 99热免费在线| 六月激情婷婷| 99热成人| 久久丁香婷婷色情综合| 天天插天天插天天插天天插| 久久婷中文字幕| 色色色色色色色色色色色色色97| 色婷婷亚洲| 开心激情网在线| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 人人干AV| 超级97碰碰| 五月丁香激情综合啪啪| 99热综合| 久久激丁香| 久久免费婷婷视频| 色婷婷88| 婷婷五月丁香五月| 激情五婷网| 99精品在线观看视频| 天天插综合| www.五月婷婷久久.com| 九九热99久久99| AV在线免费网站| 国产五月丁香在线| 五月丁香狠狠爱婷婷综合| 这里只有精品久久| 五月总合激情网| 日韩精品一区二区三区,四区,五区视频| 五月婷婷无码专区| 9久热在线视频精品| 伊人久久艹| av性爱在线| 91人人网| 丁香六月成人| 97在线精品| 国产高清RV综合aVa| 日韩一级网站| 日本不卡一区二区三区| www.色九月| 婷婷激情五月天7| www.婷婷激情网.com| 97人人干人人操| 欧美激情2025| 妇激情基地| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 97碰| 亚洲第一精品成人999久久精品| 99riAv1国产在线观看| 成人无码髙潮喷水A片| 噜噜吧天天爱| 激情综合激情五月| 欧美在线操| 五月天大香焦| 婷婷中文字幕| 婷婷九月丁香| 色综合伊人网| 九九热视频免费的| 五月丁香婷婷福利| 日韩一级A片黄色| 狠狠爱婷婷五月天| 亚洲精品白浆高清久久久久久| 九九热大香蕉| 终合激情网| 啪啪啪啪五月天| 欧美六月| 9l视频自拍9l九色9l成人| 亚洲深喉AV| 99色| 日韩视频99| 国产亚洲精品久久一区二区三区| 五月丁香无码| 国产精品国产VA片国产| 丁香五月天激情婷婷丁香六月| 超碰无码318604| 国产高潮白浆一区二区| 婷婷色色综合| 激情AV网| 极骚大香蕉伊人| 丁香五月成人| 91啪啪视频| 婷婷九月色| 婷婷97碰碰| 停婷丁五月在线| 亚洲天堂玖玖| 青青操日本摸摸看看| 在线视频区| 丰满少妇猛烈A片免费看观看| 99热这里只有精品66| 丁香激情网| 六月丁香色色| 91超级碰在线视频| 91操熟女| 99精彩视频| A久久| 开心深爱激情网| www99热| 夜夜操天天干| 六月丁香啪啪| 成人.在线日韩| 91av传媒高清在线视频网| 国产又黄又爽又色的免费| 成人无码精品1区2区3区免费看| 另类激情综合| 国产日韩精品SUV| 强辱丰满人妻HD中文字幕| 国产精品美女久久久久AV超清 | 亚洲啪啪视频| 色无码| 免费无码毛片一区二区A片| 五月天综合网| 天天色凹凸| 久久久人人操A V| 9久久精品视频| 九九色色色| 丁香色五月 97干| 五月亭亭六月色| 五月丁香999| 亚洲经典小视频| 色婷婷久久综合中文久久一本| 欧洲色| 啪啪啪大香蕉| AV中文网| AV成人在线播放| 久操人妻| 这里只有精品久| 五月婷婷五月| 99久久久久| 久久久91精品| 人人操插| 蜜臀九九九九| 色噜噜五月天| 99网| 14色综合婷婷| 亚洲日韩乱码一区二区三区四区| 国产三级在线播放| 伊人五月天综合网| 成人综合伍月天| 亚洲综合99| 国产乱子轮XXX农村| 成人人操| 五月婷婷丁香伦理网| 五月婷婷,六月丁香| 午夜免费试看| 91精品91久久久久77777| 综合色吧| 青青草婷婷综合五月| www.91婷婷| www.色五月| 99热主页日本| www.av骚货| 小视频久久久aaa| 婷婷综合久久综合| 五月天色婷婷激情综合| 婷婷五月天福利| 少妇人妻人伦A片| 丁香五月激情综合婷综| 久热最新视频| 激情久久久| 婷婷日本色| 五月婷婷六月丁香综合视频在线| 五月天激情网站| 国产五月视频| 天天弄天天爽| 99福利导航| 五月天社区婷婷| 激情丁香婷婷六月天| 日本欧美成人片AAAA| 亚洲精品a成人在线播放| 91偷拍视频| 色色AV色色色东莞| 丁香六月婷婷色XXXX| 国产日产成人亚洲欧美国产VA| 日欧大屏操| 综合六月久久| 操人妻90p| 婷婷色网站| 无码九九九九| 激情五月天色婷婷| 变态 另类 在线 | 99色看这里只有精品| 99精品热视频| 热久69| 五月丁香六月香综合激情| 国产午夜精品AV一区二区麻豆| 天天操无码| 99婷婷国产最新视频| 亚洲a片免费观看| 五月婷婷九| 噼里啪啦完整版中文在线观看 | 99re久热只有精品6在线直播| 国产免费AV在线| pom538精品视频| ...婷婷五月综合不卡,国产在线手机| 五月婷婷五月天亚洲无码| 色五月婷婷五月天| 日本的α片xxxwww| 婷婷午夜| www.狠狠操.com| 色色色综合| 五月婷婷六月丁香综合视频在线| www久| 欧美成人无码高清一区二区三区| 亚洲色婷婷五月天| 激情网五夜婷婷| 99日韩| 婷婷色五月激情| 99操逼| 五月丁香怕啪啪| 丁香六月天| 亚洲综合丁香婷婷六月天| 天天干天天干天天干| ji'qing'luan'ren'lun| 国产成人精品一区二区三区视频| 婷婷丁香五月天小说| 青青草大香| 午夜激情五月天| xxxx五月天色色| 99色热视频在线| 大香蕉婷婷五月| 久久大香蕉| 五月丁香五月丁香| 操老逼综合网| 色播播五月| 五月天久久www| 色综合伊人网| 天天天添天天操| 色婷婷丁香AV综合| 色婷婷天堂| 色婷婷视频| 夜精品无码A片一区二区蜜桃| 五月天成人手机在线视频| 拍色综合| 色综合色五月| 天天摸,天天爽| 国产jd1024基地手机看国产| 婷婷五月激情图片| 人妻人人操| 久久精品一区二区三区四区| www天天爽| 久久五月网| 国色天香成人网| 色婷婷久久综合久色综| 97久久超碰| 思思re最新视频| 丁香综合婷婷五月天| 婷婷五月在线免费| 亚洲精品一二三| 97极品在线| 五月婷婷久久开心网| 久久婷五月影院| 久久久18| 色五月综合婷婷| 97碰免费视频在线| 26uuu国产精品| 99人人操人人操人人精| 色色热| 六月婷婷色综合| 夜夜操夜夜爽| 一操久久| www.97视频| 色综合网址| 色5月婷婷| 久久性爱视频| 变态另类色图| 大香蕉九九| 亚洲激情综合| 九九九午夜影院成人| 99riAV国产精品视频| 刘玥av在线| 日韩视频99| 九九这里都是精品| 激情五月无码| 久久六月天| 五月婷av| 国产午夜精品一区二区三区四区| 五月综合激情| 国产玖玖资源| 丁五月激情视频免费| 五月亭亭六月激情| 久99久在线观看| 26uuu另类| 婷婷久久婷婷色五月| 欧美天天搞| 美女被操一区二区| 激情婷婷丁香| 91久操| 婷婷五月天综合网| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 五月丁香六月婷婷精品| 色婷婷综合影院| 婷婷五月丁香第四色超碰在线| 久久婷婷影院| 久操激情| 亚洲午夜一区二区| 婷婷五月天高清无码| 久久这里有精品99| 亚洲久久视频| 激情五月深爱五月| 91超级碰碰| 97色97干| 九九色大香蕉| 美欧成人视频| 丁香五月婷婷亚洲激情四射| 97操碰人免费| 久久婷婷五月丁香蜜桃网| 精品一区二区三区四区五区六区| 99九色视频在线观看| 久久新地此| www.AV在线| 日韩精品99久久| 亚洲国产黄色电影| 日噜噜色| Www.Av网9| 五月天婷婷激情四射综合| 五月天丁香婷婷视频网址| 国产在线网| 久久久天堂国产精品女人| 亚洲深喉aV| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 久久艹99| 4399亚洲视频| 激情丁香婷婷| 婷婷大香蕉| 99久久久久| 五月婷婷综合激情| 国产成人精品一区二三区熟女在线| 精品色色| Av狠狠色丁香婷| 亚洲区在线| 五月婷婷性爱视频| 六月丁香婷婷色狠狠久久| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 婷婷色五月亚洲| 俺五月| 五月丁香黄色| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 婷婷久久久| 六月丁香成人| 亚洲日韩26uuu| 欧美综合激情五月天| 五月婷婷六月丁香在线视频| 开心五月深爱五月| 综激情网| 国产精品99久久久久久久女警| 国产精品成人AV在线观看春天| 综合色七七| 激情婷婷网| 日本69日人视频| 丁香五月婷婷六月婷| 开心五月婷| 狠狠狠狠狠狠| www婷婷| 黄色网址五月婷婷| 99人妻碰碰碰久久久久视| 九九激情综合| 久久996re热这里只有精品无码| 狠色色狠网| 欧洲亚洲免费视频9| 99国产精品久久久久久久久久久| 婷婷五月精品| 婷婷99中文字幕| 色必久悠悠影院| 激情五月天无人视频在线| 久操大| 久久精品国产精品| 免费看成人747474九号视频在线观看| 99久久婷婷| 天天干天天爽天天爽| 天天肏在线观看| www.9操| 啪啪丁香五月| 6080av| 综合久久影院| 日韩成人影片网站| 7777激情基地| 亚洲色情在线| 色综合天天| 天啪色| 欧美成人热| 91久久九久久九久久九久久九久久| 五月天激情婷婷| 五月亭亭欧美女人| 另类综合激情| 欧洲亚洲免费视频9| 91久女| 五月天婷婷xxx| 丁香五月六月综合欧美| www.五月天| 色娸娸综合网| 夜夜做夜夜愛| 99热精品在线观看| 色播婷婷大香蕉| 9久9久9久女女女九九九一九| 激情五月,色五月| 99热这里都是精品| 久久44| 色色啊| 激情综合啪啪| 伊人久久综合| 五月天婷网| 日日干日日| 丁香五月性| 丁香六月婷婷综合| 激情婷婷护士激情| 五月丁香在线国产| 五月丁香五月综合欧美| 六月丁香停| 久久视频在线| 91性交在线播放| 色之综合网| 超碰久热| 大香蕉天堂| 日韩综合久| 无码一级片| 激情五月深爱婷婷| 在线中文AV| 成人小说 五月天 婷婷| 婷婷丁香十月| 超碰在线成人| 激情九月综合| 成年人夜夜喷水| 思思热在线观看| 久久99精品久久久久久青青AR| 天天综合网亚洲综合网| 亚洲精品国产A久久久久久| 99这里是99在线视频| 色色色五月婷婷| 大香蕉天堂| 99九九综合久久九九| 91丨九色丨国产在线| 99热这里只有精品16| 亚洲人成网站999综合| 亭亭五月天黑人2014| 色五月丁香五| 丁香五月天啪啪激情综和网| 人人妖人人97| 好好干av| 婷婷五月天丁香综合网| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 色色自拍视频网站| 99精品在线观看视频| 久久无码激情视频| 99熟女| 综合网激情五月天| 日逼影音先锋男人AV资源站| 五月丁香狠狠地噜噜噜噜| 激婷网| 人草人人| 小色小蛇伊人婷婷色香五月| 91丁香五月| 91丨九色丨东北熟女| 五月婷综合| 天天色综合色色色色色。| 国产日韩欧美| 五月婷婷六月奇米网丁香| 日韩二区搞逼插逼毛片| 国产成人99久久亚洲综合精品| 九九激情视频| 美女网黄| 日韩黄黄| 大香蕉久久伊人网| 天天综合色| 激情五月婷婷综合| 色婷婷亚洲婷婷| 天天爽综合网| 手机在线日韩视频中文字幕| 综合色播| 精品怡红九九九| 91色干| 欧美婷婷综合| 久久99久久99精品免观看软件| 色播激情婷婷| 五月婷中文字幕| 婷婷的五月天另类视频| 婷婷色综合中心站| 嫩草视频在线观看| 六月丁香婷婷亚洲中文玖玖| 四色五月婷婷| 久久久久久久97| 午夜青草资源| 婷婷五月,偷窥偷拍网| 岛国av网站| 五月天六月婷| 欧美日韩一a.无| 男人的天堂婷婷色五月| 99色在线观看视频| 婷婷五月综合欧美在线播放| 97成人在线视频| 丁香六月婷婷开心| WWW.开心五月天.COM| 色婷婷天堂| 国产古装妇女野外A片| 色婷久| 五月综合在线婷婷图片| 丁香婷婷五月综合| 亚洲日本韩国| 大香蕉中文| 色99综合视频| 超碰在线国产| 久草婷妨| 色色综合网站| 停停五月色宗合| 国产五月婷| 九九综合九九| 久久久噜噜噜操操操| 激情五月婷婷视频一区二区三区| 色五月婷婷内射| 色婷五月婷婷| 丁香五月婷婷欧美激情-中文天堂最新版在线观看| 六月丁丁香| 能看的av| 亚洲久久天堂| 亚洲天堂热| 性生活视频98791| 久久这里只有精品视频1| 99久久66| 91黄址| 涩五月丝袜婷婷| 97在线观视频免费观看 | www一起操| 婷婷五月丁香综合瑟瑟| 大香蕉手机视频| 九九色99| 丁香五月婷婷AV在线| 国产精品婷婷午夜在线观看| 丁香五月天信号| 精品成人久久久久久久_一二三四视| 中文字幕人妻一区二区| 国产精品99久久久久久久女警| 久久婷婷网站| 激情深爱五月天| 午夜婷婷六月天| 五月婷丁香久久久| 丁香五月花婷婷开心| 91九色丨国产丨爆乳| www91久久| 狠爱婷色| 丁香色情五月综合激情| 91婷婷视频| 亚洲精品V天堂中文字幕| 欧洲色| 亚洲热久久| AV五月丁香| 伊人玖玖精品| 99re热在线观看| 丁香婷婷五月天在线视频| 婷婷激情五月色综合| 九九热视频免费| 99爱免费在线视频| 五月综合亚洲婷婷| 三级成人网站| 日日干干天天干| 日韩无码人妻一区二区三区综合| 久久五月天激情婷婷| 日日爱678| 性色欲情 网站| 99五月丁香丁| 激情六月丁香综合| 九九成人高清视频| 天天爱天天做天天舔| 婷婷亚洲五月丁香综合在线| 色情五月丁香婷婷网| 激情综合网络插| 久久er+| 五月婷婷 六月丁香| 亚洲六月婷| 五月天激情社区| 五月丁香婷婷激情视频| 丰满熟女人妻一区二区三| 日日夜夜狠狠| 久久作爱| 成人在线视频网| 天天色情站| 天天日天天肏天天奸| 五月激情婷婷偷拍| 丁香五月婷婷婷桃花影院| 啪啪东京热| 五月丁香婷中文| 五月婷婷新网站| 亚洲色婷婷99一9|| 婷婷五月综合视频| 99精品热| 亚洲综合九九| 激情又色又爽又黄的A片| 亚洲99热| 五月婷综合激情| 久草天堂| 激情综合五月色在线| 丁香五月欧美色综合| 色综合色色色| 任我肏| 亚洲熟妇AV乱码在线观看| 丁香五月婷婷色综合| 婷婷六月色情| 热99国产精品| 综合色综合| 日本99色| 99视频内射三四| 色色97丁香婷婷五月天| www.玖玖九| 日日插日日干| 色色色婷婷五月| 五月丁香六月| 日本三级片片| 久久之人妻| 99久久精品视频女神1| 激情六月色| 99视频| 欧美槡BBBB槡BBB少妇| 99色.com| 久热这里这里有精品| 深情五月天| 婷婷狠狠操| 97操碰免费视频| 99久久九九| 思思热99在线视频| 婷婷丁香五月亚洲| 天天久久九九| 婷婷激情小说网| 99热在线观看精品免费| 99亚洲天堂| 一本到不卡高清DVD| www.色99| www,26uuu,c0m,色情| 99精品视频免费观看| xxxx五月天色色| 99热99日…..| 天天射影院| 思思re最新视频| 久操人妻| 久久久久丁香婷婷五月天| 狠狠干综合| 婷婷操久久| 日日狠夜夜狠| 婷婷视频网| 欧洲S级在线观看| 色射婷婷五月天| 丁香婷婷激情| 丁乡久久| 日本熟女内射| 国产 码在线成人网站| 色99色| 情婷婷五月天| 国产日韩欧美| 97九色| 亭亭玉月丁香| 久久综合五月情| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 97人妻碰碰碰久| 亚洲综合五月天婷婷| 激情婷婷丁香五月| 久久视这里只有精品| 丁香六月婷婷色播| 五月婷婷激情在线| www.日韩艹| 丁香六月欧美| 最新色色五月天| 影音先锋91资源站| 婷婷国产五月天17c| 五月丁香婷婷成人伊人网| 天天操天天曰| 久久婷婷五月综合伊人| 五月天激情视频| 另类图片五月激情| 天天操,夜夜骑| 午夜天天精品视频| 婷婷激情五月天色| 91丨九色丨东北熟女| 激情深爱五月婷婷| 色9999日韩国产| 91色综合网| 激情婷婷丁香五月天| 亭亭五月基地在线| 深爱五月婷婷| 天天射色五月天| 婷婷五月六月| 色色色9 9 9| 夜夜操狠狠操| www.99日本| 婷婷操超碰| 色综合久久44| 丁香六月综合激情| 色综合久| 丁香色婷婷| 天天综合久久| 色婷婷丁香五月| 深爱激情网婷婷| 内射人妻视频国内| 婷婷激情欧美| 激情婷婷五月在线合集| 自拍盗摄 另类| 97人人看一| 97精品自拍| 五月丁香六月色婷|