欧美成人午夜精品久久久,国产?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
返回資訊列表
色了色综合| 婷婷五月丁香啪啪| 色色色五月婷婷| 中文字幕无码人妻少妇免费视频| 综合色影院| 亚洲日本激情| 日本婷久久| 成人做爰高潮A片免费视频| 天天肏视频| 婷婷五月天堂| 五月天激情无码专区| 玖玖色资源| 国产67194| 丁香五月在线观看完整版| 91精产品自偷自偷综合| www:99热视频| 国内精品99| 九九青草热| 丁香婷停五月激情综合深爱| 婷婷五月成人| 日日噜噜夜夜狠狠久久丁香六月| 丁香五月大香蕉AV| 久草婷婷网| 色色色99| 色婷婷狠狠| 婷婷丁香五月综合激情视频| 九九九九无码| 亚洲亚洲人成综合网络| 色综合久久久久| 五月婷婷激情综合| 天天五月天综合网址| 狠狠色噜噜狠狠狠狠综合| 国产黄色在线观看| 久久精品国产AV一区二区三区 | 丁香五月婷婷丫| 噜噜操操| www.99婷婷| 午夜]香婷婷深深爱| 99精品视频在线观看| 色~性~乱~伦~噜| 深爱激情五月婷婷| 涩五月色婷婷| 狠狠做婷婷| 丁香五月天欧美| 丁香五月激情综合婷综| 高清成人综合| 伊人色综合影院视频| 一区二区传媒视频| www.综合久久| 人人操人人干AV| 婷婷五月综合基地| 欧美啪啪网| 五月综合激情网| 亚洲欧美日韩VIP| www久久99| 91精品婷婷国产综合久久| 婷婷丁香色五月| 色婷五月丁香久亚洲| 99er6| 丁香五月自拍| 激情久久五月网| 欧日韩AV| 五月天激情婷婷小说| 色国产五月| 五月婷婷,六月激情| 亚洲综合成人网| 婷婷婷婷婷婷婷五月丁香| 精品久久9| 九月激情综合| 五月丁香亭亭| 日韩免费视频| 狠狠色噜噜狠狠狠狠狠色综合久久| 丰满少妇猛烈A片免费看观看 | 婷婷性色| 97久久久久| 免费亚洲婷婷中文字幕| 色婷婷小说网| 男人大jjc女人免费视频| 亚洲精品V天堂中文字幕| 五月天婷婷激情| 狠狠操狠狠| 99国产精品久久久久久久久久久| 91丨九色丨国产打屁股网站| 天天射天天干天插色综合| 五月丁香啪综合| 丁香五月影视| 色婷婷伦理| 严洲天天插| 久狠日av| 97综合在线| 亚洲九区| www色综合亚洲92| 人妻激情在线| 五月丁香AV、伊人业余、性色熟妇| 欧美熟女乱又伦| 99热在线观看免费| 九九久久综合| 99精品综合在线| 亚洲在线成人| 久久国产性爱A V| 99热这里只有精品69| 26uuu另类亚洲欧美日本一| 五月婷婷丁香五月 | 七月丁香五月婷婷在线| 中文字幕AV网址| 亚洲经典三级| 91久久五月天| 久香草视频在线观看| 久久婷婷五月| 性按摩玩人妻HD中文字幕| 色婷婷五月天av在线| 99在线播放| 91viP在线看| 欧美性色五月天| 婷婷综合视频| 99国产99| 六月丁香五月激情亚洲AV| 欧洲综合色| 日本女人久久| 以及AA大片看看| 999久久久国产精品| 国产xxxxx在线观看| 五月婷在线色视频| 五月婷婷综合激情| 亚洲国产网站| 五月丁香六月停停| 亚洲无码色| 九97免费视频| 丁香五月老师| 欧洲综合视频| 999九九九久久久99HD| 九九精品在线视频观看| 天天天天天天操| 欧美婷婷综合| 99色在线| 少妇水多A片太爽了| 五月天婷婷色色首页| 综合五月草| 看片视频在线免费日产在线看| www.zbzhongsen.com| 欧美日韩成人在线网站| 久久免片| 伊人丁香五月婷婷潮吹| 婷婷五月噜噜| 久久人妻超碰一区| 色视五月天婷婷| 激情综合婷婷| 日本久久超碰| 五月天天综合| 99热插| www.狠狠干com| 丁香五月婷婷基地| 亚洲色久| 中文字幕在线资源| 國語久久婷| 亚洲视频伍月婷婷| 99视频在线看| 久久久久人妻网址| 婷婷基地成人五月天| 中文不卡一二三区| 99热国品| 丁香五月天激情小说| 操91| 五月天日日操夜夜操 | 亚洲无AV在线中文字幕| 男人天堂亚洲综合| 久久99热这里只有精品| 婷婷色亚洲| h亚洲| 久久六月综合| 人人爱人人草| 99热精品99| 久久久久丁香婷婷五月天| 99视频| 日本综合久| 伦乱天堂| 六月丁香啪| 婷婷五月综合激情| 狠狠色婷婷7| 色婷婷视频在线| 久久激情视频| 九九久久99| 丁香五月性爱| 欧美99| 日木狠狠干| 中文字幕 码精品视频网站| 在线观看av网站| 人妻aV在线| 色综合久久88色综合天天看| 五月婷在线观看| 97性视频| 99热91| 亚洲第一色网站| 久99久视频| 色五月婷婷久久爱| 五月婷狠狠| 久久人妻伊人| 91色操| 99热在线观看精品| 五月天丁香啪啪综合| 99人妻碰碰碰久久久久禁片| 开心深爱五月天| 极品少妇高潮啪啪AV无码| 性爱在线播放av| 激情久久久| 亚洲九九99精品视频在线播放| 激情综合色五月丁香| 婷婷五月天另类网站| 丁香啪啪中文字幕| 91色婷婷综合久久中文字幕二区| 久久ER视频com| 极品人妻VIDEOSSS人妻| 丁香五月六月综合欧美| 久久久久久欧美精品se一二三四| 九九99久久精品| 婷婷五月天亚洲综合网| 9精品视频在线| 成人在线精品| 另类小说五月天综合网| 色色五月婷婷久久| 日日夜夜狠狠| 国产VA亚洲VA96| 激情九色| 久热婷婷综合| 五月婷婷激情久久| 热99re| 色青五月天| 日韩成人网址| 色五月丁香六月欧美综合| 精典久久| 99惹 精品在线| 亚洲天堂啪啪| 久久人妻系列| 六月激情婷婷| 男女激情久久| 激情综合五| 婷婷色五月天在线| 五月丁香 久久久| 日韩日比视频在线| 亚洲综合五月天婷婷丁香| 婷婷五月天色综合| 色婷婷手机在线| 99久久婷婷国产综合精品| www.99热在线| 人妻精品久久久久久| 婷婷操久久| 蜜桃成语时李时珍 免费| 六月丁香六月婷婷欧美| 五月四色婷婷| 秋霞午夜理论| 色欲色天天香综合| 五月丁香婷婷激情爱爱| 99色视频| 五月丁香综合激情网| 天天色天天爱天天舔| 99久操| www.91五月| 91se在线观看| 九九99视频| 中文字幕在线观看视频www| 九九久99免费视频| 9久热精品在线视频| 青青草轻轻操| www.com五月天| 日本的α片xxxwww| 4438成人电影| 男女啪啪做爰高潮无遮挡 | 五月丁香另类网| 五月天激情国产综合婷婷| 天天插综合| 亚洲视频色色| 香蕉国产2013| 99伊人性爱在线影院| 五月婷婷涩涩爱| 色婷婷AAA| 99热这里只有精品3| 六月五月久久丁香| 久久网日本| 久久久婷婷色五月资源网| 婷婷丁香社区| 少妇AB又爽又紧无码网站| 五月天婷婷色色| 色丁香五月婷婷| 欧美视频在线观看噜噜| 色在线五月天免费| 丁香久久AV| 五月丁香婷婷啪啪| 五月丁香六月婷婷综合| 亚州综合色| 色色六月| 97久久超视频| www,超碰| 久久久99婷婷久久久久久| 亚州精品成人片| 亚洲午夜在线视频| a性生活久久无| 亚洲无AV在线中文字幕| 被强行糟蹋的女人A片| 亚洲色网址| 五月丁香婷婷在线| 天天做天天爱| 99无码| 亚洲综合另类| 99在线精品免费视频| 日日操夜夜爽| 99re6在线视频精品免费| 开心激情婷婷| 成人无码精品1区2区3区免费看| 人人爱操| 91窝窝| 激情丁香五月激情婷婷| 99re思思热这里| 午夜精品777| 啪啪啪五月天| 99精品视频免费| 久草五月天| 激情五月天婷婷五月天| 高清不卡一区| 色婷网| 天天做天天爽| www.com久久久久久久久久久久久久久久久| 亚洲AV成人精品日韩在线播放| 五月色网| 伊人无码高清| 亚洲99一级无嗎特制在线| 色五月大香蕉婷婷| 五月色网| 夜夜夜夜操| 激情婷婷五月色| 深爱五月日韩| 五月婷婷激情| 亚洲日日日| 亚洲黄色影视| 婷婷色狠狠| 五月天婷婷激情网| 伊人久久婷婷| 天天日婷婷| 天天日天天干天天爽| 丁香久久久| 91性高潮久久久久久久久| 直接看的av| 九九色色| 伊人玖玖综合| 激情五月伊人婷婷| 五月天亭亭俺也| 色婷婷久久久| www,婷婷,com| 日韩啪| 亚洲AV人人操| 五月婷婷丁香五月婷婷| 成人av在线网站| 婷婷久草| 色哟哟性爱av| 丁香五月日本| 生活片五区| 欧美性生交XXXXX无码小说| 9色操| 99精品热视频| 99热精品少| 婷婷五月精品在线| 日本久热| 肏日网在线看| 99爱这里只有精品| 久久999久久999久久999久久| 99热这里只有精品16| 国产激情视频在线观看| 丁香五月天激情四射网| 开心日韩丁香婷婷五月| 婷婷久久五月| 五月天婷婷丁香人人操91| 五月婷婷激情久久| 这里只有精品视频在线看| 日本三久久| 亚洲三级无码| 99小视频| 中文AV在线观看| 中国丰满熟女A片免费观| 伊人玖玖网| 热99久久这里只有精品| 99久热这里只有精品| 91a片爽| 色五月综合网| 色色五月天婷婷丁香| 欧美大片免费播放器| 黄色片精品| 五月婷导航| 91九色欧美| 性爱视频久久| 大香蕉五月天| 怕怕av| 99热天堂| 久久人操-久草婷婷-成人AV| 狠狠干思思热| 日本一级黄色片。| 天干天天干天天天天天| 五月婷网| 亚洲一区国产传媒| 婷婷丁香五月综合免费视频百花| 九九精品9| 亚洲小视频免费看| 五月丁香| 91碰碰碰| 欧美色婷婷| 丁香五月激情网| 五月天成人在线播放丁香| 日日噜噜夜夜狠狠久久丁香六月| 爱射综合| 夜夜骑夜夜撸| 99久久婷婷国产综合精品草原| 五月天四色房丁香亭亭| 强奸幻女毛片| 九九免费视频| 先锋男人91资源| 婷婷深爱五月丁香网| 亚洲第一综合| 国产综合激情五月久久| 丰满人妻妇伦又伦精品国产| 2023天天日夜夜爽| 久久久婷婷婷| 婷婷激情五月天在线视频| 亚洲AV成人在线| 91久久综合亚洲噜噜成人在线| 天天做天天摸| 五月丁香趴趴| 久久婷婷五月综合色奶水99啪| 啪啪日热| 99精品免费欧美小视频| 另类图片五月激情| 成人短视频在线免费观看| 丁香五月婷综合| 丁香六月婷婷综合欧美| 九色地址91视频| 可以直接看的av| 97超碰欧美中文字幕| 婷婷五月天精品| 色色色五月| 国产精品色色色色| 天天操天天插天天射| 成人五月天。COM| 五月亭亭激情综合| 婷婷五月天亚洲综合网| 天天爽天天日| 综合色色网| 久久九九色| 亚洲激情免费久久| 六月色丁香婷婷| 婷婷五月天堂一本在线| 婷婷五月天情色| 另类综合激情| 婷婷五月激情基地| 色婷婷小视频| 大香蕉久久久| 五月开心六月婷婷在线播放网站| 99久99久| 亚洲六月色婷婷| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 天天插综合| 日本欧美成人片AAAA| 狠狠久久婷五月综合色| 91九九热| 日韩无码成人电影| 天天爱天天日| 99亚洲精品综合在线| 五月丁香婷婷俺| 秋霞AV美国| 99久久久免费| 亚洲婷婷在线播放十月| 一级内射毛片| 久久婷五月| 婷婷五月丁香激情色情| 激情宗合 激情宗合| 99无码| 激情五月激情综合俺也去婷婷小说| 国产亚洲精品久久久久苍井松| 五月丁香六月婷婷网站| 婷婷五月天堂| 97碰碰叉| 超碰在线91| 激情美女五月天激情在线| 丁香五月天婷婷91| 久久机热/这里只有精品| 青草视频在线观看视频| 98色花堂98t.R| 天天噜天天爱| 中文字幕成人版| 色婷婷19| 日本色婷婷久久99精品91| 色播色丁香五月| 天天操综合网| 99色色最新视频| 久久Xx| 无码激情AAAAA片-区区| 99热精品免费| 色婷婷五月综合网| 五月婷婷丁香啪啪| 亚洲超级碰| 在线理论片| 色婷婷综合久久久久| www,五月天激情| 五月婷亚洲精品AV天堂| 专区无日本视频高清8| 26.uuu丁香五月婷婷| 五月丁香在线精品| 九月婷婷| 日韩精品一品二区三区的使用体验 | 情五月亚洲婷婷| 98永久精品| 性爱网五月婷婷| 五月婷婷天堂| 五月网网站| 日日夜夜狠狠婷婷色| 涩涩婷婷五月| 欧美日韩成人h| 91一起操| 成人短视频在线| 精品五月天| 婷婷深爱五月亚洲综合| 国产精品久久99| 丁香五月婷婷偷拍| 色色网91| 欧美性色A片免费免费观看的| 婷婷五月亚洲综合| 婷婷久久免费| 五月天综合在线观看视频| 色综合性视频| 99 频99热国里只有精品| 国产性爱色| 婷婷六月激情综合| http://www.com久久久精品一区| 中文字幕欧美日韩VA免费视频| www99精品| 亚洲无码99| 五月激情久久| 色五月丁香婷婷在线观看| 五月丁香色狠狠干大屄| 午夜色色色极品视频| 婷婷精品免费久久| Av大香蕉| 开心五月六月婷婷| 中文字幕成人| 国产激情久久| 永久无码色| 99久.| 亚洲乱码在线观看| 狠狠人妻色综合| 91精品国产99久久久久久天美| 99久久精彩视频| 99玖玖人人| 国产探花一片区| 久热精品9999| 91综合视频在线| 日韩成人无码片| 91在线精品一区二区| 五月激情影院| 中文字幕无码人妻少妇免费视频| 韩国真做片在线观看| 欧洲色色| 男人操女人高潮91视频| 亚洲无码影片| 日韩成人电影Av| 综合九九久久| 婷婷性爱网| 97色女人在线| 丁香五月婷婷色| 丁香五月中文字幕| 婷婷五月精品中文| 中文字幕综合网| site:hcxsz888.com| 丁香五月天激情五月天激情五月天激情网| 超碰97久久| 人人97碰| 五月情综合| 激情亚洲色图片丁香综合| 天天爽夜夜爽| 婷婷五月天福利| 五月丁香六月婷综合成人综合| 丁香五月婷婷影院| 亚洲V国产V欧美V久久久久久| 亚洲字幕AV一区二区三区四区 | 伊人在线视频| 丁香五月先锋| 99精品热| 91操在线| 伊人99热| 天天色综合综合| 狠狠穞A片一區二區三區| 中文字幕视频在线播放| 少妇做爰免费视看片| 99久操视频| 日本久草福利| mmm1717.6dbm人人爱人人操| 黄色激情五月天| 啪到高潮激情丁香五月| 高清不卡一区| 成人中文网| 九九偷拍网| 99综合一区| 久久综合伊人综合在线| 另类五月激情| 五月天伊人网| 久久色大香蕉| 大香蕉五月天婷婷| 五月婷婷啪啪网| 亚洲 视频 导航 一区| 激情婷婷五月天| 久久久九九视频精品18| 九九综合视频在线观看| 99热这里只有精品16| 站长推荐无码播放| 婷婷丁香熟女| 九九伊人网| 久久色五月天综合网| 综合色图区| 99亚洲精品综合在线| 久久五月网| 婷婷五月六月丁香综合| 深爱激情五月网| 婷婷五月在线| 日日色五月天| 激情深爱婷婷网| 99精品亚洲| 五月天成人免费视频| www.com.色色| 丁香婷婷五月六月天| 六月丁香久久| 国产古装妇女野外A片| 91丨九色丨老熟女激情| 欧美日韩成人一区二区| va亚洲中文在线| 六月婷婷激情| 日本美女上人| 狠狠色噜噜狠狠狠888| 草了bav视频在线观看| 99久热在线精品| 天天做天天爱天天做| 天天日天天色| 人妻中文在线| 色五月婷婷91| 色天堂操| 六月丁香五月天| 99国产在线精品视频| 久久久18| 91人人网| 丁香六月婷婷综合啪啪| 婷婷五月天开心激情网| 三级黄色大片视频| 激情综合网,婷婷| 国产无套精品一区二区| 97干视频在线| 色色com| 免费日本aⅴ中文字幕| 成人五月天在线视频在线观看| 91日本在线| 色九九九综合| 五月深爱激情网| 久久久99精品免费观看| 成人色站,在线视频,看片-SS1AV| 五月天伊人日日噜影片AV| 欧美色色色色色| 97操视频| 亚洲综合在线视频| 婷婷九月色| 国产 亚洲 在线| 午夜九九九九九九九九九九九九九| 激情五月婷婷伊人| 高潮毛片又色又爽免费| 欧美另类五月激情| 婷婷五月丁香亚洲| 婷婷五月六月激情| 9久9久9久女女女九九九一九| 五月天激情站| 五月婷在线| 亚洲性爱99| 操操啪| 色五月色五天色情网| 99综合| 色婷婷很很丝袜| 俺去也在线www色官网| 精品欧美性爱超级爽| 婷婷娱乐丁香综合网| 九九九激情网| 深爱婷婷网| 亚洲操B视频| 久久在线大香蕉| 亚洲视频操| 99热亚洲| 丁香六月婷婷开心婷婷网| EEUSS鲁片一区二区三区| 婷婷伊人75| 欧美精品999| 人人草成人视频| 夜精品无码A片一区二区蜜桃| 久久综合伊人综合在线| 丁香网站| 久久精品视频9| 99热99在线精品| 99热在线观看| 人妻久久久久久久久妻久久久久久久久 | 婷婷五月另类网站| 五月丁香婷草| 五月婷婷激情综合| 日本少妇AA一级特黄大片| 开心婷婷中文字幕| 久久天天天| 超碰成人黄色网| www.五月婷婷久久.com| 精品动漫 无码av| 超碰人人超碰| 日日爽日日操| 五月丁香六月婷婷综合| 99无码精品| 亚洲色精彩| 综合久久十三| 99精品爱| 日本久久性| 99爱在线视频| www.婷婷五月| 丁香五月在线视频| 欧美婷婷九月| 久久曰曰| 这里只有精品视频免费在线观看| 狠色综合网| 黄色AAAA韩国guochansanji| 99热精品无码| 激情婷婷综合| 五月天久久网站| 亚洲视频在线观看| 日本爆乳片手机在线播放| 停停六月 综合| 97久久超碰| 婷婷五月亚洲一本在线丁香| 婷婷色五月婷婷姐妹| 婷婷丁香五月天色色| 99A片| 青青草a在线| 9久久网| 99国产精品久久久久久久久久久| www夜夜操| 婷婷丁香五月天色区| 色九月婷婷丁香| 亚洲九N| 色五月色五天色情网| 天天做天天爱天天玩夜夜爽| 夜夜操夜夜操| 久久人妻久久| 狠狠狠人妻| 五月天综合久久| 日本天堂网站99| 狠狠干综合| 色色色在线观看| 五月婷六月丁香| 色欲婷婷五月天| 另类图片五月天婷婷| 99热只有| 婷婷五月深深爱| 天天婷婷天天| 草综合网| 色欲天天综合| 九九色天堂| wwwav大香蕉| 五月天综合网| 丁香五月婷婷影院| 五月婷婷六月丁香激情| 狠狠干狠狠干狠狠干狠狠干| 久99热在线观看| 亚洲天堂AV综合网| 丁香五月婷婷综合啪啪| 91操碰| 99综合| 激情床戏| 日本婷婷在线| 噜一噜在线| 丁香五月六月婷婷自拍| 国产99美少妇| 天天爽人人综合免费7799| 激情综合婷婷久久| 中文字幕成人日韩| 色九九中文字幕| 可以免费观看的av| 狠狠色综合网| 五月婷婷激情综合| 丁香五月91| 婷婷九月亚洲| 夜夜大香蕉婷婷丁香| 天天做天天爱| 播五月开心婷婷欧美综合| 可以直接看的AV| 久久免费婷婷视频| 无月播播激情在线观看视频| 99热这里只有的精品视| 五月停停丁香| 五月六月激情| 天天干天天射综合网| 色综合开心五月深爱五月| 色青青视频| 99久久99热| 丁香六月婷婷五月天| 色色五月天丁香| 五月丁香啪啪啪啪| 99久久99九九99九九九| 屁股翘好撅高迎合跪趴| 老妇六区| 欧美A A A A A| 激情玖玖综合网| 人人97操| 五月婷婷综合社区| 婷婷五月天Av| 五月天亚洲图片婷婷| 激情五月婷黄版| va婷婷在线| 色五月五月丁香| www.夜夜.com| 色婷婷五月天综合网| 五月丁香婷爱在线| 色性五月天| 五月婷视屏在线观看| www.99热| 五月婷婷激情网| 丁香五月天视频| 嫩草AV久久伊人妇女超级A| 中日韩美欧成人一区二区精品在线| 毛片九九九九九九九九18| 中文字幕高清av| 另类激情码| 99综合色色色| 思思99re这里只有| 婷婷久久五月天亚洲欧美国产日韩在线观看| 性婷婷| 亚洲亚洲永久无码777777| 色五月婷婷九月| www.色综合| 精品一二三区久久AAA片 | 色欲日日躁| 九九色综合视频| 丁香五月色五月| 99精品免费| 五月成人丁香av91| 91热视频色网站| 人人草成人视频| 综合综合网| 91狠狠色色丁香婷婷综合久久| 天堂网啪啪| 色人久久| 久久久噜噜噜www成人| 97婷婷狠狠久久综合9色| www.99视频| 久久人妻系列| 亚洲婷婷丁香| 全部老头和老太XXXXX| 日韩成人电影av| 国产韩日亚洲美州欧亚综合在线| Www.婷婷五月| 久久久久久综合88| 国产精品18久久久| 操人久久| 色综合久久天天综合网 | 99热99ai| 九九sese| 欧美日韩成人在线网| 精品人妻伦九区久久AAA片| 免费观看2018www黄色操逼网站| 香蕉综合网| 激情小说五月欧美亚洲丁香| 综合色99| 综合亚洲AV| 五月激情偷拍婷婷| 五月婷婷六月丁香| 激情网色五月| 亚洲六月婷婷| 久久99精品久久只有精品| 丁香五月成人| 亚洲视频二区| 色婷婷五月天视频在线| 九九RE视频在线精品| 五月婷婷九| 色香五月天| 婷婷五月天在线视频网站| 成人国产欧美大片一区| 欧美啪啪9| 色婷婷九月| 99久久婷婷| 99人人干人人| 欧美人人草| 日本猛少妇色XXXXX猛叫| 天天操精品| 国熟女视频| 丁香色婷婷| 超碰在线超碰| 亚洲激情综合免费| 久久婷婷婷| 五月天色婷婷小说| 中文字幕无码人妻少妇免费视频 | 亚洲AV第二区国产精品| 欧美影院| 伊人玖玖婷婷| 成人网站免费在线播放| 狠狠夜夜五月丁香| 91丁香色五月| 亚洲操b| 天天操夜夜爱| 日本操碰碰| 日本精品人妻无码77777| 五月婷婷亚洲色视频| VA日本视频| 久久全色| 狠狠色综合网| 欧美这里只有精品| 五月天六月天| 亚洲影院婷婷色| 激情五月婷婷五月| 99热在这里只有精品| www久久99com| 久草婷妨| www.夜夜| 亚洲第一综合| 五月婷婷综合色拍| 日本三级日本三级三级人妇四虎| 黄急一级视频| 亚洲精品国产setv| 丁香婷婷五月六月天| 亚洲最大视频| 少妇久久诱惑视频| 色色五月天网站| 亚洲乱码日产精品BD| 5月丁香六月婷婷| 亚洲熟女色| 1024人妻无码中文字幕| 超碰成人免费| 欧美婷婷精品激情| 琪琪理论片| 五月婷在线观看| 黄色AAAAAAA| 99精彩视频网站在线| 97资源碰碰| 五月丁香激情综合网官网| 五月婷婷色播| 丰滿爆乳一区二区三区| 丁香五月香蕉| 26uuu成人网| 亚洲国产精品成人va在线观看| 久久综合九九| A级毛片高清免费不卡播放谢谢谢谢| 亚洲黄色网址| 日本三级日本三级99| 99操免费视频| 婷婷五月18永久免费视频| 99这里的视频都是精品| 欧美成人日韩| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 欧美精品A片一区在线观看| 精品香蕉99久久久久网站 | 超碰日韩人妻在线| 99色视频| 激情久久久| 中文字幕av在线| 色婷婷五月综合| 国产六月婷婷| 乱女乱妇熟女熟妇综合网站| 97热视频| www99精品| 五月丁香色婷基地综合久久| 丁香狠狠操| 婷婷影视久久| 大陆极品少妇内射AAAAAA| 99操碰| 色综合久久88色综合天天99| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 日韩AV色色色| 狠色狠色狠色狠色狠色网| 丁香五月婷婷性爱| 操碰99| 久久婷婷五月天蜜桃| 亚洲免费av观看| 超碰免费人人肏| 超碰免费人人肏| 九月婷婷在线视频| 色九四色| 天堂在线伊久| 色婷婷激情| 中字幕视频在线永久在线观看免费| 99在线精品观看99| 极品少妇XXXX精品少妇偷拍| 激情影院丁香五月| 色婷婷狠狠| 人妻22p| 大香蕉伊人久久| 国产精产国品一二三在观看| 97色在线| 怎么样可以看免费的一级av| 超碰狠狠干99| 国自产拍偷拍精品啪啪一区二区| 色婷婷丁香五月| 国产欧美精品AAAAAA片| 大战熟女丰满人妻AV| 久久大香蕉丁香| 九九精品免费视频99| 亚洲乱码精品久久久久..| 白人荫道BBWBBB大荫道| 99燥99日| 日本97人人| 亚洲国产另类av| 丁香婷婷性久久| 97综合色片| 丁香五月婷婷亚洲另类| 久久五月天视频| 99热都是精品| 99热精在线九九久久保| 提提热五月天婷婷| 日日操,夜夜撸| 婷婷激情小说| 久久久久久久久99精品| 欧洲亚洲精品| 精品一二三区久久AAA片| 国产精品第一国产精品| 婷婷五月综合免费在线| 久久jiuwww| 热久久91| 中文无码精品一区二区三区| 五月天激情综合10p| 天天干天天色综合| 婷婷99热| 丁香五月天啪啪| 伊人高清无码| 国产精品电| 天天网曰日曰夜夜综合永久免费| 久久精品五月天| 夜夜操夜夜爽| 日本熟女一区二区| 婷婷五月天情色| 99爱视频免费| 夜夜嗨一区二区三区直播内容| 丁香六月色| 91在线日| 午夜无码精品色综合久久| 丁香婷婷深情五月亚洲| 五月天色色色| 国产露脸150部国语对白| 一区二区三区四区牛| 色色色国产| 久99| 天天xxxxxx天天日| 熟女网站久久| 国产偷人爽久久久久久老妇APP| 婷婷五月精品| 久久综合性| 五月婷综合性中心| 久9视频免费播放| 五月色综合| 亚洲无码你懂的| 26uuu欧美日韩| 99精品大片| 99欧美| 五月丁香啪啪啪| www色综合亚洲92| 五月婷婷黄色| 色色色色色色色色网站| 色色色免费视频| 九九久久久综合| 超碰精品在线| 热热久久99| 精品久久久人妻| 996黄色片| 九九国产精视频| 亚洲国产精品VA在线看黑人| 天天色粽合合合合合合合| 区啪精品| 天天天操天天天爰| 九九视屏| 97精品人人A片免费看| 国产操逼网站| 另类五月婷婷| 亚州性爱99| 欧美日韩91| 99热久97| 五月婷六月天| 香蕉综合网| 97人妻碰碰碰碰碰久久久久久| 色婷婷丁香网| 久久香蕉丁香| 久久婷婷六月综合国际| 99热福利| 五月丁香色六月激情干大屄| 欧美成人一区二区三区在线视频| 激情性爱五月| 九九99视频| 欧美肉大捧一进一出免费视频| aaa久久| 丁香五月开心五月激情| 激情综合五月婷婷| www.日本91| 思思国产99| 成人精品视频99在线观看免费| 亚洲成人AV在线观看| 国产亚洲精久久久久| 国自产拍偷拍精品啪啪一区二区| 色婷婷六月天| 五月天国产| 七月婷婷色香综合网| 色欲操| 婷婷99中文字幕| 久久宗合影| 五月丁香六月花| 婷婷综合精品| 在线99色| 99久久er| 日本久久人| 日韩人人操| 久久9久| 思思热在线| 日本44久久在线| 五月婷婷色丁香| 五月丁香啪啪| 大香蕉五月天婷婷| 夜夜干夜夜操| 在线sebiav精品视频| 天天干天天日天天插 | 99热99| 综合色五月| 97色干在线观看| 99综合婷婷五月| 久色视频| 超碰99在线| 夜夜资源站| 欧美日本黄色| 可以直接看的AV网站| 久久婷婷九月国产精品| 成人五月天综合网| 亚州操人在线视频| 香蕉大综综综合久久| 成人va视频| AA片在线观看视频在线播放| 开心四月婷婷在线色播播| 玖玖婷婷五月天| 天堂A∨在线| 婷婷五月色色| 九九九九九九毛片| 色播五月天激情| 99色免费| 激情五月婷婷| 亚洲成人网站在线| WWW,五月| 久色激情| 色三级色三级| 五月婷啪啪| 婷婷五月天综合网| 婷婷在线综合| 超碰在线国产| 99色色网| 婷婷中文字幕| 亚洲日本激情| 国产亚洲精品AAAAAAA片| 99热 免费| 极品人妻VIDEOSSS人妻| 婷婷六月丁香激情综合| 激情内射人妻1区2区3区| 丁香婷婷六月婷婷六月婷婷六月婷婷| 人人操AV| 99这里是99在线视频| 激情四射五月天| 五月色导航| 色.五月综合网| 另类综合婷婷五月天欧美视频| 丁香婷婷六月| 九九热在线观看视频| 人人搡人人| 91操熟女| 五月天激情综合在线| 202丰满熟女妇大| 五月婷婷干| 91九色无码内射| AV操操操| 99玖玖在线视频| 99久视频| 狠狠狠激情网| 91久久18| 婷婷九月在线| 久久久久久久丁香五月天婷婷| 久热91| 日本激情五月天‘| www狠狠爱com| A1片久久久| 五月六月丁香激情视频| 熟女人妻一区二区三区免费看| 激情婷婷五月天日本系列| 99日视频在线| 色五月网址| 狠狠干2007| 熟女国产在线一区二区三区四区| 色婷婷色婷婷五月| 久久99久久99精品免观看粉嫩| 色婷婷电影网| 色五月婷婷久久大| 五月天激情网址| 97操碰| 性色99| 97人妻碰碰碰久久| 丁香六月综合激情| 色五月婷婷、老熟女| 91在线看片| 激情综合婷婷| 婷婷色5月天在线。| 六月婷在线| 伊人啪啪网| 五月丁香AV在线| xxxx五月天色色| 热99这就是精品视频| 五月婷婷婷婷婷| 操日视频| 丰满少妇乱A片无码| 激情五月天在线视频| 激情久久久| 六月色丁香婷婷| 97视频久久| 五月天激情日色在线| 嫩草视频观看| 免费无码毛片一区二区A片| 成年人看Va免费视频| 中海油常州环保涂料有限公司| 嫩草AV久久伊人妇女超级A| 激情无码网| 天天射综合网天天插| 97五月天婷婷综合激情网| 超碰99在线| 99久在线精品99re8| 色五月丁香五月五月婷婷| 爱狠射| 久久天天| 久久丁香综合| 色情丁香五月天| 丁香色成人| 久久久婷婷| 五月婷婷亚洲| 欧美激情Va| 91综合在线视频| 伊人丁香在线| 九九99精品| 99热最新| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 日本啪啪天堂| 超碰免费人人肏| 久久久久9| 婷婷久久免费| 白天AV月月| 91操碰| 久久码久久无清| 精品欧美一区二区三区久久久| 五月伊人网| 五月之婷婷| 五月激情丁香五月宗合| 国产avapp 网| www.cao.com久久| 99精品无码| 五月丁香啪啪婷婷| 久久人妻伦理| 性小说五月天| 另类天堂| 综合久久高清| 亚洲天堂制| 99热99艹在线观看| 9久热| 在线中文亚洲| 五月丁香777| 婷婷激情五月天亚洲综合| 天天 青草 制服丝袜 在线 | 97超碰人人操| 欧美婷婷丁香五月|