色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

嵌入式固件進階:啟動流程拆解與OTA升級工程化實戰(zhàn)

嵌入式固件進階:啟動流程拆解與OTA升級工程化實戰(zhàn) 1. 從一條實際故障說起為什么芯片“跑起來”了系統(tǒng)卻不工作前陣子處理一個量產階段的現(xiàn)場問題現(xiàn)象很典型設備上電后指示燈反復重啟串口只能抓到零散的引導日志。幾個剛入行的同事第一反應是“看門狗復位了”于是反復查喂狗代碼查了一個下午沒結果。后來我把啟動日志和復位狀態(tài)寄存器拉出來對比發(fā)現(xiàn)復位原因不是獨立看門狗而是上電復位后固件跳轉到了未初始化完成的RAM區(qū)取指異常直接觸發(fā)了硬件錯誤。這件事對我觸動挺大的。很多嵌入式工程師把“啟動流程”當成芯片手冊里最簡單的章節(jié)覺得無非是從復位向量開始、初始化時鐘、設置堆棧、跳轉main但這恰恰是量產階段最容易出幺蛾子的環(huán)節(jié)。尤其是現(xiàn)在芯片越來越復雜MCU和SoC的啟動路徑差異、NOR Flash的XIP映射、安全啟動的鏡像校驗、多級BootLoader的跳轉條件任何一環(huán)沒吃透出了問題都很難定位。所以我把嵌入式固件進階里最核心的這部分內容整理成專欄連載本期聚焦三塊啟動流程的深度拆解、故障定位的方法論、OTA升級的工程化實戰(zhàn)最后附上篇思考題的解析。整個專欄面向的是已經有基礎開發(fā)經驗、想往中高階走的嵌入式工程師或者正在做量產維護、被現(xiàn)場問題折騰得焦頭爛額的朋友。文章里講到的思路和代碼級細節(jié)都是我在實際項目中驗證過的不是教科書式的流程復述。2. 啟動流程不是“從復位到main”這么簡單2.1 從”上電瞬間“到”第一條指令“中間發(fā)生了什么很多人會說芯片上電后第一條指令從復位向量取出來然后就開始執(zhí)行了。這個說法在ARM Cortex-M處理器上勉強成立但在更復雜的場景下已經不夠用了。嚴格來說從Power On到CPU真正執(zhí)行用戶代碼中間要經過好幾層路徑每一層都有它自己的“啟動過程”。以Cortex-M為例芯片上電后硬件會自動從地址0x00000000讀取初始堆棧指針MSP從地址0x00000004讀取復位向量然后跳轉執(zhí)行。這是硬件固定的行為但問題在于“地址0x00000000”在芯片內部映射到了哪里。很多帶內部Flash的MCU比如STM32會把Flash映射到0x08000000而0x00000000只是這個區(qū)域的別名如果芯片支持從System Memory也就是BootROM啟動那0x00000000又映射到了BootROM。這時候啟動引腳BOOT0、BOOT1的選擇就直接決定了第一條指令從哪里來。對于更復雜的應用處理器SoC級別比如全志、瑞芯微、NXP i.MX系列上電后的第一段代碼通常是固化在芯片內部的BootROM它負責初始化最基礎的時鐘、DDR控制器有些芯片這一步在SPL階段然后根據啟動引腳或燒寫在OTP一次性可編程存儲器里的啟動源配置從SD卡、eMMC、NOR Flash或SPI NAND中加載下一級鏡像。這個過程通常叫BROM啟動或啟動設備選擇。這里要特別提醒一點不要只看“最終跳轉到APP”這個結果要把啟動過程拆成“芯片級啟動”和“應用級啟動”兩層。芯片級的啟動代碼用戶改不了但它的行為決定了鏡像加載順序、校驗方式、FUSE硬件熔絲狀態(tài)應用級的啟動代碼比如早期的匯編初始化、SystemInit()、main之前的__main才是用戶真正能干預的部分。很多啟動問題的根因就出在兩層之間的銜接處——比如BootROM已經把外置DDR初始化好了但因配置位錯誤跳轉到SPL后又重新初始化了一遍DDR導致時序錯亂。2.2 MCU和SoC啟動流程的典型差異對比我在給團隊做內訓的時候經常拿一張表來梳理MCU和SoC啟動流程的差異。這張表來自多個項目的實操經驗不同廠商芯片細節(jié)不同但框架一致。對比維度典型MCU如STM32系列典型SoC如i.MX6ULL、全志V3s第一條代碼來源片內Flash/System Memory/BootROM片內BootROM固化代碼啟動介質選擇啟動引腳電平組合啟動引腳或OTP熔絲配置讀eFuse決定是否需要初始化DDR一般不需要無外部DDR或由應用初始化BootROM/SPL階段必須初始化DDR鏡像加載方式Flash映射XIP直接執(zhí)行從介質拷貝到RAM/DDR再執(zhí)行也可XIP安全啟動支持部分型號支持TrustZone, Secure Boot普遍支持且有獨立的安全硬件和密鑰管理多級BootLoader通常單級IAP方式除外常見BootROM SPL U-Boot Kernel的多級結構把這個差異理清楚你就能理解為什么MCU項目里“直接跳APP”的寫法很常見而SoC項目里U-Boot的bootcmd和bootargs會涉及大量的地址搬運和校驗。一個典型的失誤是在SoC平臺做MCU式的思維把整份固件編譯成一個bin設置好鏈接地址后直接燒寫進NOR Flash結果發(fā)現(xiàn)BootROM不識別——因為BootROM期望的鏡像是帶特定頭部信息的格式比如i.MX的IVT頭部或是全志的TOC0格式它需要知道鏡像長度、加載地址、校驗和甚至簽名信息。這不是Flash里有沒有代碼的問題是格式不匹配的問題。2.3 向量表重映射和應用鏡像分級加載的底層邏輯ARM處理器的向量表是個容易被忽視但極其關鍵的結構。默認情況下Cortex-M的向量表放在0x00000000但應用代碼運行時中斷響應要正確就必須讓硬件能找到異常向量表。常見的辦法是把向量表放到Flash的實際起始地址比如0x08000000然后通過VTOR寄存器告訴CPU“向量表換地方了”。如果你在做OTA或者多分區(qū)BootLoader向量表重映射幾乎是必答題。比如BootLoader放在0x08000000APP放在0x08020000APP啟動前必須設置SCB-VTOR 0x08020000。這一步漏了APP跑起來看似沒問題但任何一個中斷來了CPU都會跑到錯誤的地址去取向量輕則中斷不響應重則直接HardFault。這種問題在調試器下很難復現(xiàn)因為調試器連接時可能默認做了處理但斷開調試器獨立運行時問題就暴露了。更工程化的做法是分四個層次設計鏡像加載鏡像頭部Image Header包含魔數、版本號、鏡像長度、CRC32校驗值、簽名信息、目標加載地址等。OTA升級時BootLoader先解析頭部校驗通過才放行。BootLoader主體負責硬件初始化、跳轉條件判斷、固件校驗、升級流程調度、備份恢復。APP1/APP2雙鏡像區(qū)OTA方案中常見的A/B分區(qū)布局BootLoader根據啟動標志位選擇啟動哪個區(qū)。獨立存儲區(qū)如EEPROM/Flash末尾保存啟動計數、升級狀態(tài)、回滾計數等運行時信息。這個分級加載的好處在于任何一級出現(xiàn)問題都能定向排查。頭部解析失敗優(yōu)先查固件生成工具BootLoader跳不過去查啟動標志位和地址映射APP運行異常查向量表和運行時環(huán)境。系統(tǒng)性方法遠勝于拿到板子就瞎猜。3. 故障定位方法論用“分層抽絲”代替“四處亂試”3.1 一個被我反復安利的定位框架NBOOT四步法我給團隊定的故障定位框架叫NBOOT不是某個專利方法而是從實際排障中總結出來的一套習慣。四個字母分別對應Noting記錄現(xiàn)象、Breaking拆分層次、Observing觀測數據、Testing驗證假設。這套方法在啟動問題、偶發(fā)復位、OTA失敗等場景中都很管用。做嵌入式故障定位最容易犯的毛病是拿到板子就改代碼。改了一行試試不行再改一行再試。運氣好碰對了就收工運氣不好一天下來代碼改得面目全非問題還在。NBOOT的初衷是讓你先建立一個“事實清單”再去動代碼。以我接手的一個實際案例為例某設備低溫環(huán)境下偶發(fā)啟動失敗大約二十臺里有三臺會出現(xiàn)。故障現(xiàn)象是“上電后電源指示燈亮但串口無輸出LED狀態(tài)燈不進入工作模式”。如果不做記錄直接上手很可能會懷疑電源模塊、懷疑時鐘芯片、懷疑Flash虛焊改來改去沒有結論。按NBOOT走一遍Noting記錄故障板卡批次、故障溫度點、供電電壓測量值、復位引腳波形、串口完整數據流。結果發(fā)現(xiàn)低溫時3.3V電源正常但復位釋放時間比正常板卡慢約280ms且串口完全沒有引導打印。Breaking把啟動過程拆成電源域建立、時鐘穩(wěn)定、復位釋放、BootROM執(zhí)行、鏡像加載、APP初始化六個環(huán)節(jié)逐一判斷哪個環(huán)節(jié)現(xiàn)象缺失。Observing用示波器抓取Flash片選和時鐘信號發(fā)現(xiàn)復位釋放后約5msFlash CS有動作但持續(xù)時間極短疑似讀取了錯誤的地址區(qū)域。Testing將故障板卡的固件手動重燒確認CRC一致后重新上電問題偶發(fā)依舊。最終定位到外部復位看門狗芯片在低溫下復位延遲參數漂移與啟動時序沖突。這個案例說明一個問題邊界不清晰的故障硬擼代碼是無效的。記錄現(xiàn)象、拆分層次、觀測數據、驗證假設這四步反復循環(huán)每一步都會縮小排查范圍。3.2 啟動日志設計決定你排查效率的隱形投資很多裸機項目沒有日志系統(tǒng)出了問題只能用調試器打斷點這在開發(fā)階段可能夠用一旦到了量產和現(xiàn)場維護階段就非常痛苦。我對啟動日志的要求是“四有原則”有層次、有時間、有結論、有上下文。有層次的意思是日志要分級別至少要分ERROR、WARN、INFO、DEBUG。啟動階段的關鍵節(jié)點用INFO記錄比如[I] RAM size check passed, size128KB [I] Flash magic word check OK (0xAA55AA55) [I] Image CRC32 verify OK, len0x1F400 [I] Jumping to APP at 0x08020000, VTOR setting done有時間的含義是日志要帶時間戳哪怕是最簡易的計數器遞增序號也行。當你要把兩份日志對齊分析時沒有時間戳是災難。很多RTOS項目啟動階段還沒創(chuàng)建系統(tǒng)節(jié)拍可以用一個遞增的32位計數器模擬順序時間。有結論指的是日志要輸出“我成功做了什么”或“我在哪一步失敗了”而不是只輸出“Im here”。比如// bad UART_Print(Init 1 done); UART_Print(Init 2 done); // good UART_Print(W25Q64 ID read 0xEF4018, detection OK); UART_Print(LVGL framebuffer addr0x30020000, size310KB, alignment OK);有上下文的意思是關鍵錯誤打印時要把現(xiàn)場數據一并輸出。比如CRC校驗失敗光一句“CRC Fail”是沒用的要輸出當前分區(qū)、期望CRC、實際CRC、讀取的Flash地址范圍這樣才方便分析是數據被篡改還是讀取邏輯出錯。提示啟動日志要設計成“雙通道輸出”。串口打印輔助人工調試同時寫入一塊獨立的日志分區(qū)或RAM環(huán)形緩沖區(qū)配合崩潰轉儲機制可追溯最后一段現(xiàn)場狀態(tài)。這是工業(yè)級產品很常見的做法。3.3 崩潰現(xiàn)場的信息存檔從HardFault到問題閉環(huán)故障定位的高階階段是不要等故障發(fā)生后再去“現(xiàn)場看”——而是在崩潰瞬間把所有關鍵狀態(tài)記錄下來下次啟動時上報。這個思路在汽車電子里叫故障快照在通用嵌入式里可以做得輕量很多。Cortex-M的HardFault處理程序里有幾個關鍵寄存器BFAR總線錯誤地址寄存器、MMFAR存儲器管理錯誤地址寄存器、以及壓棧到當前棧幀里的PC和LR。正確的做法是在fault handler的最開始把這些值保存到靜態(tài)變量里然后嘗試寫到備份寄存器或Flash末尾的日志區(qū)然后軟復位。復位后的啟動日志階段把上次崩潰信息打印出來。我在專欄的課里給過一個精簡但可用的架構void HardFault_Handler(void) { uint32_t pc __get_PSP(); // or MSP // 解析壓棧幀提取PC/LR保存到備份區(qū) // 寫入復位原因寄存器快照 // 觸發(fā)系統(tǒng)軟復位 }這里有個容易忽略的細節(jié)HardFault_Handler里的另一個CPU模式可能已經切換到線程模式也可能還在處理器模式。如果異常發(fā)生在線程模式且使用了PSP需要按PSP去解棧如果發(fā)生在MSP則從MSP解棧。很多新手踩過這個坑解析出的PC完全是垃圾值。在專欄第3講“崩潰轉儲機制設計”中我做了一個完整的示例將PC、LR、PSP、MSP、BFAR、MMFAR、以及出錯前后的32字節(jié)內存快照寫入外部Flash的專用區(qū)域啟動時通過串口協(xié)議CRASH_DUMP:PC0x08001234,LR0x08001100輸出。這個過程一拿到現(xiàn)場日志直接就能還原95%以上的崩潰現(xiàn)場不必再復現(xiàn)故障。4. OTA升級工程化穩(wěn)定回滾比順利升級更重要4.1 OTA整體架構從“能用”到“好用”的幾個關鍵設計很多人做OTA的第一版是“能升級就行”BootLoader檢測到標志位把新固件寫入APP區(qū)跳轉。但量產之后就會發(fā)現(xiàn)最危險的不是升級失敗而是升級失敗的后果不可控設備變磚、無法回滾、長期離線。工程化的OTA架構至少要包含以下要素升級包格式設計包含頭部魔數、版本、目標地址、長度、CRC、固件數據、尾部填充、可選簽名信息。雙區(qū)A/B或者雙備份APP Recovery的存儲布局。BootLoader驗簽和校驗邏輯升級后才能跳轉。升級狀態(tài)機和斷點續(xù)傳機制如果走網絡傳輸?;貪L策略和失敗恢復路徑。升級過程中的防斷電設計數據先寫緩沖區(qū)校驗后再整塊寫入。我見過很多團隊一開始就上復雜的A/B系統(tǒng)車規(guī)級方案全套照搬結果開發(fā)周期拖長還因為存儲空間不夠頻繁調整分區(qū)。更好的策略是先判斷產品形態(tài)如果是物聯(lián)網設備有網絡傳輸條件一定要做A/B分區(qū)哪怕是A/B其中一個是壓縮鏡像如果是U盤或本地工具升級空間緊張時可以做單區(qū)域備份恢復區(qū)方案。一個實用的折中方案是APP區(qū) Recovery區(qū)。Recovery區(qū)放一個極簡的、功能完整的固件支持最基本的網絡通信和重新升級能力。APP區(qū)崩潰或校驗不過時BootLoader跳RecoveryRecovery嘗試聯(lián)網拉取最新固件。這個方案比A/B省空間又比“裸奔”可靠得多。4.2 雙A/B鏡像與“寫失敗即回滾”的代碼級實現(xiàn)很多同事一聽到A/B升級就怕覺得復雜度高。實際上A/B的思路很樸素系統(tǒng)有兩個可用的應用槽位一個叫slot A一個叫slot B。BootLoader永遠有一個“當前活動槽”的概念。升級時把新固件寫到非活動槽寫完校驗通過后通過修改啟動標志位切換活動槽。如果新固件啟動失敗比如多次重啟都沒成功BootLoader自動回滾到另一個槽位。關鍵實現(xiàn)點有三個。第一分區(qū)表如何定義。以STM32H750為例內部Flash雖然標稱2MB但實際有效可用空間可能有坑外擴Flash更常見。我的做法是把Flash劃分為| BootLoader (64KB) | slot A (512KB) | slot B (512KB) | AppInfo/標志區(qū) (4KB) |AppInfo區(qū)存儲三個關鍵變量boot_attempts啟動嘗試次數、active_slot當前活動槽、upgrade_pending是否有待完成升級。第二BootLoader的啟動決策邏輯可以精簡為if (is_valid(active_slot)) { if (boot_attempts MAX_ATTEMPTS) { active_slot other_slot(active_slot); boot_attempts 0; } jump_to(active_slot); } else { rollback_to(other_slot()); }這里MAX_ATTEMPTS通常設為3或5。每次啟動時boot_attempts加一App正常工作后比如運行超過5分鐘清零。如果新固件有問題導致頻繁復位boot_attempts會持續(xù)增加到閾值就觸發(fā)回滾。第三App側的“運行成功確認”邏輯。這個比BootLoader側更隱蔽。很多團隊的App在main函數一開始就清標志位但這等于告訴BootLoader“我成功了”——實際上模組串口都不一定初始化完。我的建議是清標志位放在一個“應用就緒檢查點”例如網絡連接成功、文件系統(tǒng)掛載成功、自檢通過之后寧可多等幾秒再清也別過早確認。void app_main(void) { hardware_init(); // ... 關鍵外設自檢 if (all_self_tests_passed()) { ota_mark_boot_successful(); // 清 boot_attempts } // 繼續(xù)運行 }4.3 加簽驗簽汽車嵌入式軟件OTA的底線防線標題里有“汽車嵌入式軟件ota加簽驗簽”這個熱搜詞確實反映了行業(yè)趨勢。以前MCU固件不怎么關心簽名因為物理接觸燒錄器就能刷。但OTA普及后固件包在網絡傳輸若沒有簽名機制中間人攻擊或者惡意固件植入就成了真實威脅。簽名方案不是加一個函數就完事。硬件存儲條件、密鑰管理、升級包格式都要配套設計。我常用的方案是固件發(fā)布時用私鑰對固件哈希做簽名比如ECDSA或RSA-PSS簽名和固件一起打包。芯片內部或外部安全芯片預置公鑰固件。BootLoader在驗簽時先計算固件的SHA-256哈希再用公鑰驗證簽名。驗簽通過后才繼續(xù)做CRC校驗和跳轉。在實際代碼里簽名驗證的耗時是個需要重視的工程問題。一個512KB的固件在Cortex-M7 400MHz下算SHA-256大概幾百毫秒到1秒加上RSA驗簽本身幾十到幾百毫秒不等如果升級包還做了AES加密解密總時間可能達到數秒。這塊時間在升級流程總時間里的占比要提前評估否則用戶會以為設備卡死了。另外簽名的密鑰管理比算法本身更容易翻車。私鑰一旦泄露整個產品線的信任鏈就垮了。我在專欄里專門講過分級密鑰體系開發(fā)密鑰、測試密鑰、生產密鑰分離生產密鑰存HSM硬件安全模塊編譯服務器和開發(fā)機用不同的簽名工具鏈。這聽起來“過度設計”但做過汽車電子或智能門鎖類產品的朋友一定明白密鑰泄露帶來的返廠維護成本有多恐怖。4.4 斷點續(xù)傳、斷電保護和異常分支OTA失敗的六個隱藏坑總結一下我做過和踩過的OTA相關坑很多坑不是功能不跑而是跑到一半出幺蛾子。這里列六個發(fā)生率最高的第一個是斷電寫Flash。升級過程中如果突然斷電Flash正在擦寫的那一個扇區(qū)很可能損壞?;謴筒呗允恰皩懬皞浞菖f固件”或“升級過程先寫副本完成后再切換”。如果存儲空間不允許做副本至少要在擦除扇區(qū)前把舊數據備份到另一個介質外擴Flash、SD卡否則斷電即變磚。第二個是網絡下載的“斷點續(xù)傳”沒有做完整。很多人只在傳輸層做了續(xù)傳比如HTTP Range但沒考慮Flash層的續(xù)寫如果下載了一半斷電Flash里已經寫入了部分新固件下次重新升級時要先擦除再從頭寫。而如果沒做版本號管理重啟后BootLoader可能誤以為該分區(qū)已經有了完整固件直接跳過去。第三個是升級完成后的校驗位置不對。有些團隊只在下載完成后校驗一次但忽略了解壓、解密的校驗。OTA包經過壓縮或加密后實際寫入Flash的內容和傳輸包內容不一致必須對“最終寫入的鏡像”再算一次哈希。第四個是升級狀態(tài)標志位存儲介質選錯。比如放在主Flash的某個地址這個地址在BootLoader升級時恰好被擦除或者放在沒有電源掉電保護的EEPROM里。正確做法是獨立分區(qū)冗余存儲寫兩份互為備份啟動時多數據源仲裁。第五個是升級過程被用戶的“正常操作”打斷。比如用戶升級到90%時手動斷電了系統(tǒng)沒有足夠快的恢復機制導致BootLoader無法判斷“這次升級是否完成”。解決思路是每個分區(qū)頭部增加狀態(tài)機字段IDLE、DOWNLOADING、READY、并配合超時機制BootLoader在每次啟動時做狀態(tài)清整。第六個是“升級成功的確認標準”定義不清晰。是代碼跳轉成功就算成功還是外設全部初始化完畢、業(yè)務跑通才算成功如果只要跳轉就確認成功新固件業(yè)務邏輯錯誤導致反復重啟你也無法自動回滾。所以行業(yè)共識是“業(yè)務級成功確認”即新固件跑起來后主動上報一個心跳或業(yè)務就緒標志給BootLoader或云端。5. 上篇課后思考題完整解析一道啟動流程題的四種解法5.1 題目回顧與常見錯誤上篇專欄我在文末留了一道思考題“某基于Cortex-M4的物聯(lián)網終端BootLoader位于0x08000000用戶APP鏈接地址為0x08020000。系統(tǒng)上電后從BootLoader跳轉APP發(fā)現(xiàn)所有串口中斷都能正常觸發(fā)但SysTick定時器中斷不工作。已知代碼中已設置SCB-VTOR 0x08020000。請分析可能原因并給出最少兩步排查方案?!边@道題很多人第一反應是“VTOR設置不對”或“中斷優(yōu)先級沒配”但從題目給的條件看VTOR已經設置了中斷也能觸發(fā)優(yōu)先級問題不至于只影響SysTick。這道題真正想考察的是“中斷向量表正常運行需要的完整前置條件”。來分析常見錯誤回答“NVIC沒使能SysTick中斷”的邏輯上不確切。SysTick中斷由SysTick控制器自身控制和NVIC的使能位不是一個概念。回答“時鐘沒配置”的方向沾邊但不能解釋為什么串口中斷正常。如果SysTick的時鐘源有問題SysTick確實跑不了但題目沒給出配置細節(jié)?;卮稹癝ysTick優(yōu)先級配低了被其他中斷打斷”的這個有可能但題目說“中斷不工作”通常是完全不觸發(fā)而不是觸發(fā)被延遲。5.2 關鍵原理SysTick的時鐘源與向量表偏移的關系要徹底解釋這個問題需要回到SysTick的工作機制。在Cortex-M4上SysTick定時器的時鐘源可以選處理器時鐘HCLK或者外部參考時鐘如HCLK/8。這部分配置在SYST_CSR寄存器的CLKSOURCE位。如果你代碼里初始化SysTick時依賴了某個時鐘源而這個時鐘源在APP區(qū)鏈接地址下沒有被正確初始化那么SysTick就會失效。但這道題更想考察的其實是一個隱蔽點如果應用代碼使用了__enable_irq()或NVIC_EnableIRQ(SysTick_IRQn)來開啟SysTick中斷其實往NVIC里寫的是中斷使能這沒有問題。然而向量表重映射后中斷服務函數里SysTick_Handler的地址必須出現(xiàn)在新的向量表地址處。如果你的鏈接腳本或中斷處理函數定義有誤比如中斷函數被編譯器優(yōu)化掉了、或者使用了弱符號覆蓋即使向量表地址正確中斷來了也找不到處理函數。另一種可能是SysTick的異常優(yōu)先級和FAULTMASK/PRIOMASK沒有理清。Cortex-M處理器在執(zhí)行某些臨界區(qū)保護代碼時會暫時屏蔽中斷如果SysTick_Handler里正好有這類操作比如用__disable_irq做互斥保護忘了恢復也會出現(xiàn)“中斷進不去”的現(xiàn)象。但這類問題通常是代碼邏輯層面的偶發(fā)不是一上電就完全不工作。5.3 最少兩步排查方案從復現(xiàn)到定位這道題我給出參考答案的思路是“先用最小系統(tǒng)復現(xiàn)再對比差異”。第一步寫一個最小SysTick測試函數不依賴任何外設和RTOS直接初始化SysTick并開中斷回調里翻轉一個GPIO。如果這個最小系統(tǒng)能跑證明向量表、SysTick時鐘源、中斷使能鏈路都沒問題。如果還是不能跑就要懷疑向量表本身或鏈接腳本的符號分配。第二步在SysTick_Handler的第一行設置一個軟件斷點或打印比較跳轉前與跳轉后、調試模式下與獨立運行下SysTick是否一致。關鍵觀察點是如果調試模式下OK獨立運行不OK大概率是啟動代碼中某個外設或時鐘初始化順序問題如果兩個模式都不OK回到第一步逐層確認。實際操作中我還會加一個驗證手段反向測試。用一個已知能正常運行SysTick的官方示例工程把APP地址從0x08000000改到0x08020000用同一個BootLoader跳轉觀察是否能運行。如果官方示例能運行說明問題在自己的工程鏈接或初始化代碼里如果也不能運行則要懷疑BootLoader跳轉時的處理器狀態(tài)沒有完全準備好。5.4 從思考題擴展三種“邊界情況”在實際項目里的對應思考題不止是考試我把它的考察點對應到實際項目里三種高頻邊界情況方便大家“連點成線”。第一種是“跳轉前外設狀態(tài)未清理”。BootLoader用過UART、DMA、Flash控制器跳轉前必須把這些外設復位到默認狀態(tài)否則APP初始化時會基于臟狀態(tài)工作。比如BootLoader開啟了DMA并啟用了緩存跳轉后APP如果沒重新初始化可能會出現(xiàn)“數據錯亂但寄存器看起來正?!钡脑幃惉F(xiàn)象。解決辦法是在跳轉函數里執(zhí)行SystemReset()之前先復位外設并關閉全局中斷。第二種是“編譯器和鏈接腳本的段布局問題”。APP鏈接地址改了但中斷向量表所在段可能被鏈接器安排到了別的位置0x08020000處一開始并不是向量表。這種情況下即使設置了VTORCPU也會從錯誤的內存位置去取向量表導致中斷行為異常。排查方法查看Map文件確認__Vectors符號的實際地址是否等于0x08020000。第三種是“啟動代碼里的全局變量初始化依賴外部條件”。比如有些啟動代碼在__main階段會執(zhí)行C庫的初始化這個過程可能依賴某個外設地址的訪問如果BootLoader階段把該地址寄存器鎖死了或設置成不同的模式則會造成啟動失敗。處理思路是區(qū)分“啟動代碼所需最小外設集合”和“應用外設集合”在BootLoader中避免碰觸后者。6. 寫在后面一套適合多數項目的啟動與OTA自檢清單專欄連載的時間線拉得挺長最后這期我想把前面幾講的核心結論濃縮成一份可以直接拿來自檢的清單。這份清單并不是放了生產環(huán)境就萬事大吉而是用來在項目設計階段、代碼評審階段、以及量產問題排查階段快速對表找差異。啟動流程相關確認復位向量和初始SP地址存在于Flash映射的正確地址鏈接腳本符合芯片內存布局。確認BOOT引腳或啟動源配置與預期啟動介質一致特別是多介質切換的項目。CPU上電后最先執(zhí)行的是BootROM/芯片固件還是應用代碼各自的職責邊界是否清晰。向量表重映射和SCB-VTOR設置是否在對外設進行任何中斷操作之前完成。全局變量初始化、堆棧設置、C庫初始化是否不依賴未初始化外設。啟動日志有層次、有時間戳能回答“跑了幾步、卡在哪一步”。HardFault現(xiàn)場能保存PC/LR/SP/異常狀態(tài)并能在下一次啟動時上報。故障定位方法論相關拿到的每一塊異常板卡都有唯一編號和故障現(xiàn)象記錄。排查時遵循“先記錄現(xiàn)場、再分析代碼”的順序不要上來就改代碼。能畫出啟動階段狀態(tài)機明確每一步的“成功條件”和“失敗出口”。日志和崩潰信息有統(tǒng)一的輸出協(xié)議方便自動化解析。OTA升級相關升級包格式里包含版本號、CRC32、目標地址、長度、簽名信息。BootLoader具備校驗失敗不跳轉、多次啟動失敗自動回滾的邏輯。App側“啟動成功標志”在業(yè)務就緒后才清而不是一進main就清。分區(qū)表里有獨立的狀態(tài)區(qū)斷電不會破壞狀態(tài)字段的完整性。升級流程中每一步都有超時和失敗分支不會被“卡死”在半路。私鑰由專人管理開發(fā)、測試、生產環(huán)境隔離簽名工具鏈獨立。做個簡單的統(tǒng)計就能發(fā)現(xiàn)產品在現(xiàn)場出的啟動類和OTA類問題絕大多數屬于“設計時沒有考慮異常路徑”或者“日志信息不足以支撐定位”。這些不是硬件缺陷也不是編譯器的鍋而是工程化經驗的沉淀。我在專欄里反復強調的一個觀點是嵌入式固件不能只追求“功能正確”要追求“可觀測、可維護、可回退”。功能正確是及格線后面這三個才是真正的進階方向。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
夜夜操夜夜高潮夜夜爽国产精品区| 99热导航| 欧美性高潮| 国产v片在线免费观看| 97碰在线视频| 97se亚洲| 男人的天堂一区三区| 青青伊人加勒比海| 人妻偷拍一区二区三区| 91麻豆天美国产| 精品久久久久综合无码| 91天天日| 天天躁日日躁狠狠躁| 六月激情婷婷| 精品福利| 欧美日韩国产中文精品字幕自在自线, | 天天躁日日躁AAA片李宗瑞| AV天天综合| 99国产女人| 99亚洲天堂| 久久久久成人网| AA丁香综合激情| 大香交| 国产免费永久精品无码| 97在线观看视频| 大色综合网| 成人综合视频久久| 综合激情一一91| 日本黄色天堂| 国产精品无码AV网站| 伊人一区二区三区| 欧美一二三级精品在线| 影音先锋一区二区在线资源| 精品成人亚洲午夜电影| 好爽要喷了| 亚洲成?V人片在线观看福利| 大茄子熟女AV导航| 久7色| 欧美人妻另类在线| 亚洲丝袜综合| 国产18精品亚洲精品| 亚洲欧美激情小说| 变态综合色| 99精品网| 夜夜操夜夜高潮夜夜爽国产精品区| 粉嫩绯色AV一区二区在线| 免费观看的黄色的网站| 蜜桃精品视频一区二区三区| 91精品91久久久中77777| 丰满熟妇大乳做爰| 老鸭窝亚洲毛片| 国产在线能看的你懂的| wuyechaopeng| 在线啊啊啊啊| 日韩国产乱子伦App| 亚洲一区中文字幕| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 性爱视频啪啪啪啪| 2017,超碰| 性色乱AV一区二区| 日韩性爱小视频在线观看| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 亚洲高潮影院| 日韩精品操少妇| 无码 有码 国产18p| 天天欧美| 97在线播放| 久久在肏| 校园春色第一页| 国产免费大片| 人人看人人摸人人色| 国产精品九九九| 91男同| 天天综合网站| 五月丁香社区婷婷日韩欧美精品影院 | 后入式免费视频| 亚洲成人妻日韩在线| 国产激情综合| 日本国产欧美高清在线| 毛片一区二区| 超碰4A| 欧美 日韩 婷婷 五月| www.色婷婷| 97在线视频观看网站| 超碰色大香蕉| 九七毛片九九毛片| 岛国人妻少妇av在线观看| 亚洲第一无码播放立川理惠| 成人影院永久免费观看网址| 亚洲91色| 中文字幕视频在线观看| 97视频新免费| 亚洲综合图色在线| 97日视频| 国产视频第二页| 国产精品乱码久久久久久| 9Ⅰ老熟女| 97人人操人人摸人人爱| 天天摸天天操视频| 久热这里| 五月丁香成人网| 中文字幕,人妻,日韩| 国产乱码久久久| 60秒免费视频| 91丝袜在线视频| 亚洲不卡不卡中文字幕不卡| 少妇二级| 伊人亚洲国产一成人久久精品,久久| 亚洲国产精品9999在线观看| 国内精品嫩模A∨私拍小视频| 久久一区二区三区入口| 伊人网一本| 久久人爽| 国产日韩欧美| 蜜臀久久99精品久久久久久无删减 | 日韩成人性日韩成人性爱视频在线免费观看| 天天干天天日天天射黄色大片 | 色www精品视频在线观看| 快播电影网日韩新片| 插穴性爱视频在线观看| 婷婷激情四射| 久久久久久久9| 少妇500双飞99| 人人爽夜夜操| 东京热熟女亚洲视频网站| 天天综合网91入口| 99热导航| 超碰久在线天天做| 操老熟女AV| 四虎884| 99少妇内射| 超碰色97| 麻豆国产精品午夜视频| 成人av影院在线观看| 欧美一级美片在线观看免费| 欧美在线l亚洲| 伊人久久蜜月| 综合五月天| 久久啊啊| yaouchengrenav| 国产欧美成人第一页在线观看| 国产成人欧美一区二区三区的国产| 日韩性爱1级片视频| 欧美强奸乱能| 丰满人妻-区二区三区免费| 爱射综合| 中国熟女91| 一本色道久久综合亚洲二区三区| 欧美91在线| 一级日本牲交大片好爽在线看| 国产熟女乱论| 欧美大香蕉97| 国产午夜福利合集| se吧提供91精品国产91久久久久久 | 天天射天天操天天干天天吃2018 | 国产亚洲99久久精品熟| 亚洲成熟国产精品美女| 久热久一区二区三区| 日韩懂色网| 美女十八禁| 青娱乐淫乱1314| 18啪啪手机免费性爱| 国产激情av女片自拍| 精品妇女一区二区三区| 97欧美色综合| 日韩在线地址一| WWW黄片COM| 一区二区精品更新提醒| 亚洲综合色图欧美| 五月丁香拍拍激情综合三级| 4141514逼喷水三级片| 精品一区99999| 久久久少妇| 插日本熟女视频| 久久久久久夜夜夜夜夜| 亚洲做性| 国产一区二区视频在线播放| 欧美韩国你懂得在线| 东京热双插| 人人操人人大香蕉| 农村妇女精品一区二区| 精品福利| 99在线免费视频| 夜夜操一区二区| 91在线视频国产网站| 久久久久久精品免费看A级| 亚洲激情AV| 久湿久久| 丰满人妻一区二区三区四区| 色哟哟-国产专区| 人人澡人人干| 日本在线视频导航| 麻豆一区二区AV天美| 精品少妇人妻av久久免费| 激激五月| 夜夜爽夜夜高潮夜夜爽| 精品视频久久久久九九九九9999 | 婷婷亚洲色| 久久人妻一区二区三区高清| www.色婷婷色综合| 久草线上视频免费看| 午夜啪啪片| 久久大线蕉一区| 亚洲情色综合| 天美国产精品| 久久久一区二区三区麻豆| 色就色综合| 无码99| 免费试看60秒| 美性中文综合网| 淫荡熟女乱伦网| 欧亚成人在线视频| 2019久久久久久久久福利| 97色97好| 久久直播国产| 91插B网站| 人人操人人叉人人插人人| 亚洲区限制级| 婷婷AV一区二区三区| 久草老司机| 亚洲图片欧洲图片aⅴ| 五月天亚洲网| 五月天综合网| 少妇一级婬片免费放一级a性色.| 夜夜操中文字幕| 日本高清_区二区三区| 国产AV人人夜夜澡人人爽麻豆| 天天摸夜夜添无码小视频| 天美传媒AV国产在线| 在线综合 亚洲 欧美中文字幕| 免费网站观看www在线观| 被男人添B超爽视频| 亭亭在线资源| 久久婷婷精品| 性饥渴少妇av无码毛片| 国产外初女出血视频| 你懂得91| 黄片免费视频2019| 本道在线| 欧美综合自拍成人自拍第二十页| 视频国产成人精品日本亚洲18| 精品国产91久久久久久一区黄无| 国产乱人伦AVA麻豆软件.| 青青久日| 欧洲精品在线播放| 欧美亚洲日韩人妻在线观看| 国产在线综合网| 青青三级视频| 五月天黄色av| 国产小视频91| 乱伦一二三区| 国产福利合集| 青青草在线视频美女| 东京太热久久久| 日本天天操| 天天干人人乐| 97热视频在线观看| 精品91摸| www超碰| 26uuu久久| 亚洲骚男同com| 口爆综合网| 天堂а√在线最新版在线| 97美日韩视频| 香蕉国产97| 欧美日韩国第一区| 欧美天天干| 成人欧美日超碰| 欧美极品女人的天堂| 天天色天天干天天射| 免费视频一二三区| 久久国产999| 校园春色制服丝袜中文字亚洲 | 98精品国产乱码久久久久久| 麻豆久久视频在线地址| 色五月婷婷中文字幕| 人人操人人舒服| 亚洲色图欧美色18直播在线| 亚洲久久天堂| 天天综合麻豆视频| 综合97亚洲| 久久久精品日本一道| 亚洲无码AV九九九| 人人操人人操人人人操| 午夜小电影在线插入淫高潮| 91国产丝袜白虎| 亚洲成人妻日韩在线| 日本一二区免费| 91 刺激在线| 日韩黄色电影网站| 欧美黑人精品一区二区| a一区二区三区乱码在线| 超碰在线一区二区三区| 婷婷人妻激情| 日本欧美不卡| 超碰97久| 大逼色网站| 日本高清一本二本免费不卡| 天天影视91看看| 欧美人人天天网| 欧美色图下一页| 97色爱| 91超碰人人| 曰韩欧美国产传媒麻豆第一区| 国产小u女在线观看| 性色av网站| 激情五月天插| 亚洲无码一区二区三区三州| 大屁股xxxxx| 日韩性爱高清免费视频| 99久久99久久综合| 久热69九色熟妇97| 亚洲熟妇熟在线电影视频| 国产精品久久久久绯色| 人人妻人人操人人乐| 六月婷激情福利天堂69| 日韩AV一区二区三区三州三州| 91人人爽人人爽| 9/A片| oumeisetu综合| 久久久爆乳翘臀一线天伦理视频| 黄色工厂这里只有精品| 天天看天天日天天操| 亚洲一区日韩精品| 日本中文字幕在线视频| 99爱精品| 欧美变态激情网| 91爆操视频| 夜夜爽妓女| 人人综合| 婷婷性网| 最新日产中文在线麻豆| 欧美国产精品久久九九| 亚洲色欲一区二区三区| 日韩欧亚中文在线| 尤物AV免费网站| 玖玖爱视频网站| 91色色网站| 丰满岳乱妇一区二区三区| 日韩人妻免费精品| 深夜激情无码| 欧美日韩免费性爱| 亚洲国产美女久久久久| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 四月丁香婷婷| 呻吟 欧美 日本 中出| 久久精品电影在线| 久久久久久久久久久免费精品 | 中国AAAAAA黄色片| 国产高清成人传媒影视| 韩日男人的天堂| 亚洲综合色在线| 婷婷激情四射| 人人干人人操人人..com| 九九九九九九九精品视频| 99啪啪视频| 999色欧美中文字幕| 强被迫伦姧在线观看无码网站| 亚洲国产成人福利在线观看| 亚洲少妇喷视频看| 99热日| 国内伊人久久久久久网站视频| 超碰无码加勒比| 亚洲男人天堂2019| 一区二区不卡免费| 精品人妻1区| 91精品国产麻豆国产自产在| 久久欧洲| 超碰97中文| 欧美激情中文字幕另类小说| 少妇被玩视频二三区| 97超碰伊人| 国内精品a| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 国产精品麻豆免费视频| 亚洲官网在线| 成人五月天丁香激情综合| 手机看片1024你懂的国产| 熟妇人妻一区二区| 狠狠爱综合网| 中文字暮97| 秘书高跟黑色丝袜国产91在线| 久草免费福利在线播放| 亚洲熟女乱综合一区二区三区 | 婷婷成人五月天| 日韩av情韩国爱禁区av一区二区| 国产精品高清2021在线| 色狠狠综合噜一二三区| 美女诱惑久久| 99re视频在线观看这里只有精品| 99热精品国产| 亚洲色宗合| 国产又操| 欲香欲色天天天综合和网| 亚洲精品久久久久久久蜜桃臀| 婷婷久久网| 日韩av电影网站| 无码黑人精品一区二区三区三| 国产久久一区二区三区野外在线| 9丨亚洲一区二区在线| 超碰国产情侣自拍网| 亚洲色狠| 五月婷婷hd| 精品一级毛片在线观看| 色婷婷综合久久中文字幕雪峰| 亚洲欧美高清| 国内精品不卡无毒99999| 亚洲加勒比| 96AV精品| 色色色日本| 丝袜狠狠草尤物人妻av91| 久久大| 人妻夜夜爽天天爽麻豆三区网站| 国产老太乱伦一区| 熟女天天干| 中文字幕一区二区日韩网| 日本欧美色| 久久av成人无码免费| 啊啊啊在线看| 五月丁香啪| 日本阿v天堂在线观看| 91neishe| 九九综合久久中文字幕| 精品二区三四区五电影| 九九九九九九九精品视频| 色欲久久99国产精品久久久久久| 久久9精品视频| 97视频在线播放| 色妹子A V| 日夜伊人网| 天天干,夜夜爽| 日本一区二区不卡| 欧洲中文字幕| 黑人无码一区二区| 偷拍色图| 人人性爱视频免费| 无码男人天堂| 欧美丝袜美女电影一二三四区| 免费久久一级毛片大黄| 国产蜜臀精品一区二区尤物| 亚洲中文字幕乱码无码一区二区 | 久久內射| 色婷婷五月天| 亚洲色图欧美色图日韩色图| 欧成人精品一区二区三区| 伊人大香蕉在线| 亚洲国产精品成人无码久久久| 男人的天堂VA| 天美精品一区二区三区四区在线观看| 久99视频| 国产欧美精选自拍一区| 亚洲高清自拍| 国产精品久久久久久9999| 久久精品一区二区三区不卡| 中文字幕91页| 91视频综合| 亚洲图片偷拍欧美| 九草在线大香蕉| 丁香五月影院| 爽 好舒服 无码刺激久久| 26uuu久久| 怡红院久久老司机| 丝袜综合| 七久久久| 狠色婷婷久久一区二区三区_| 2023天天操夜夜操| 综合亚洲网| 亚洲日韩XXX| 欧美日韩222| 久久天堂婷婷网| 免费在线黄片视频| 国产探花日韩援交| 午夜国产综合视频在线观看| 老熟女91视频| 亚洲古典另类欧美在线| 丝袜美腿射精91| 美女啊啊啊啊pc| 久久老子无码午夜伦不卡| 人妻啪| 97爱爱| 国产一区在线播放| 9999久久久| 国产后入式在线观看| 免费亚洲国产精品久久一区| 欧美78| 日本一二三高清| 91N五十路| 精品精品精品| 在线观看AV不卡| 日韩久久三区| 欧美色棕合| 久久侵犯人妻爽爽爽| 亚洲第一综合| 婷婷色在线| 激情综合婷婷| 大香蕉久久| 婷婷99狠狠| 亚洲综合激情五月久久| 91五月天| 久久国产精品91| 97九色人妻| 97日本超碰综合| 亚洲图片欧美91N| 亚洲色吧网| 99色骚| 亚洲一区制服诱惑| 欧州一区二区三区四区| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 白嫩妹子国产骚| oumeizonghese,www| 熟女丝袜视频| 日韩国产十八禁| 干B视频伊人网| 最新欧洲欧美日本激情网站| 国产成人+综合亚洲+天堂| 99热这里都是精品| 久久久久久性爱视频| 校园春色 男人天堂| 激情av| 激情色色| 日本色色色视频| 色九九九综合| xxxx网站亚洲精品| 91天堂| 综精品久久久aaaa| 黄色性爱网网| 夂久色| 一个人在线看的黄色电影网站| 蜜臀AV成人精品蜜臀AV久久| 曰韩少妇无码| 欧美高清第一页| 亚洲码在线中文在线观看| 香蕉久久AⅤ...| 成人性爱电影网| 成人精品电影| 人人摸人人舔一区二区| 亚洲天堂男人天堂网| aV中文麻| 欧美第五页| 五月天亚洲网| 超碰免费97| 懂色天天爱天天日天天射天天澡| 日韩高潮一区| 亚洲欧洲无码一区夜| 欧美 色 亚洲| 久久精品欧美一区二区三区不卡| 99欧美| 高潮综合网| 中文 人妻 制服| av在线不卡一区二区三区| 欧美日韩99| 婷婷15月天青娱乐| 亚洲 欧美 精品专区 极品| 欧亚性爱啪啪| 欧美精品偷拍| 美女黄网| 超碰人人在线| 欧美色日| 黄色片一区二区三区四区五区 | 99日免费视频中文字幕| 尤物网站91| 人人扣人人操| 日韩一级二级三级免费看完整版国语版| 肥佬影院91| 92午夜免费福利视频| 91亚州欧美| 欧美一级二级三级| www.av在线观看| 欧美激情色婷婷花野真衣一区二区| 热热色中文无码| 久久性爱城| 欧美青青草视频| 啊啊啊啊,啊啊好多水| 2020中文字幕| 欧色网址| 久久男女激情视频网站| 亚洲精品一卡二卡三卡福利视频网站| 老司机午夜精品视频| 五月激情天| 東南亚性呦成人伦理资源在线视频| 久久精品国产亚洲AV嘿嘿| 青青草吊丝| 黄骗免费网站| 亚洲有薄码区日本系列中文字幕| 大色网久久| 在线观看中文av字幕| 欧美超碰人妻97| 成人小说视频在线精品欧美| 色999偷自拍拍| 精品无码久久久久久久杏吧| 久久久久13| 久久一区二区蜜桃| 伊人亚洲国产一成人久久精品,久久| 亚春色色| 色婷婷五月天| 国产色图乱伦| 欧美永久激情一区二区| 成人一道本免费视频| 亚洲影院小综合| 色哟哟AⅤ| 和协影院中文字幕三区| 亚洲va有码在线天堂| 亚洲综合图片在线| 男人的天堂一区三区| 超碰 国产熟女精品一区| 综合久久六月久久婷婷| 天天综合网~91| 欧美操逼一二三区| 97在线观看| 蜜臀人妻少妇久久在线观看| 久久免费少妇| 欧美综合制服在线| 婷婷五月天激情网| 哈哈操电影| 麻豆久久久久久久久丝袜 | laoshunv91| 亚洲精品啪视频| 大粗鳼巴久久久久| 国产一区二区三区不卡手机在线| 欧美国产精品久久九九| 中文字幕-区二区三区四区视频中国 | 超碰97久久国| 激情五月综合| 1769一区| 青青草狠狠撸| 天天日天天插| 日韩高清黄片| 黑丝制服中文字幕 | 无色无码| 91人妻人人澡人人爽人人精品| 老熟女91av| 探花在线免费观看视频国产一区| 色区97| 丝袜综合| 天天天天操| 色在线综合| 99热婷婷一区二区三| 精产国品一区二三产品| 国产情侣自拍在线播放| 一级性爱视频免费观看| 极品一区二区三区免费| 麻豆久久久久久久久丝袜 | 91色亚洲| 超碰在线974| 国产精品自在线发布| 日韩啪啪视频| 久久久久久久9最新免费视频观看| 婷婷综合网| 天天色天天干天天射| 亚洲AV无码乱码| 欧美一品道| 色老汉色| 99性爱视频| 人妻系列无码专区中文有码| 久久永久无码人妻视频| 天天综合网~91| 伊人991| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 91n处女在线观看| 999综合色| 中文字幕二区日韩天堂| 亚洲Av无码成人精品国产| 日韩无码视频黄色| 欧美精品97| 欧美欧美少妇| 91美女视频电影| 国产欧美日韩臀| 日韩无码嘿咻黑热久| 97综合在线| 唐山老熟妇露脸啪啪叫| 无码 黑人一区二区三区| 欧美色宗合| 98超碰欧美| 性高潮久久久| 久久久久久久综合,国产| 高跟伊人julia ann| 久热色情精品| 欧插网站| 欧美制服网站美腿丝袜| 天天日少妇逼AV| 精品-91人妻子系列| 日本高清_区二区三区| 26uuu性| 人人做天天爱| 欧美日韩大黄片| 99久久久久久亚洲精品不卡| 秋霞网无码| 91精品国产91久久青草| 凹凸精品熟女在线观看| 香蕉99秘 一区精品蜜桃臀| 91美女精品| 亚洲精品熟妇1区2区3区。| 99热99re6国产在线播放| 是还免费视频1727我| 久日综合网| 亚洲国产青青| 香蕉大久久久| 竹菊一区二区三区AV线| 人妻熟女一区二区在线视频| 亚洲色图欧美色18直播在线| 四虎在线视频| 91肉丝| 精品性爱| 芊芊操逼视频无码| 欧美日本一区二区a人| 久久AV无码网址| 99亚洲天堂| 国语人妻精彩刺激| 9999伦理视频| AV99热18这里只有精品| 本道在线| 97亚洲在线| 免费操逼视频下载| 丰满人妻-区二区三区免费看| 久久久久久久久女黄| 97美日韩视频| 囯产精品久久久久久久久久梁医生 | 天天做天天爽| 熟妇人妻一区二区 | 国产精品无码久久久久2028| 日韩激情中文字幕有码| 亚洲色综合| 免费看污网站| 精吧天堂| 91另类| 色色色色日本| 日日操天天操| 久操 高清| 久草线上视频免费看| 熟妇人妻精品一区二区| 欧美18 在线观看| 一区二区影院| 99热亚洲天堂| 五月天欧美色图| 国内三级自拍小视频在线观看| 色婷婷香蕉| 夜夜高潮夜夜爽高清视频一| 少妇99| 香蕉视频欧美一卡二卡| 日韩操逼HD| 开心激情婷婷| 91丨精品丨国产丨丝袜| 日本性爱少妇| 三级精品三级在线观看| 99久久久er直播网址| 情侣开房子拍 日韩无码 女的很漂亮| 最新精品久久蜜桃 | 920日本午夜免费| 日本天天干天天搞一区| 上特色A在线| 极品美女福利在线观看| 91丝袜美腿网站| 极品美女嘿咻| 黄页视频网站野外| 欧美亚综合色图| 桃色人妻在线视频| 日韩免费a级毛片无码a∨| 久久香蕉国产线看观看猫咪av| 婷婷色色五月| 人澡逼| 最新日日夜夜天天干干| 亚洲精品男人的天堂| 五月开心久久AV官网| 9色国产精品一区粉嫩| 日本一级黄色电影| 久草精品一区 | 亚洲国产精品乱码在线观看| 美女被艹尤物视频| 欧美婷婷久久| 亚洲色图欧美一区二区不卡| 五月丁香综合激情| 人妻少妇久久| 国产又粗又长的视频| 成人av在线播放| 97色色色| 丁香色狠狠色综合久久小说| 国产超碰在线| 伊人久久亚洲中文字幕不卡| 少妇熟女一区二区三区| 7777奇米影视久久| 91伊人影视综合| 中文字幕一区二区视频在线观看 | 好吊色综合| 久久女婷| 亚洲综合在线91| 欧美刺激色黄片免费看| 久久久精品视频欧州站| 国产 热久久久久国产精品| 久久爽爽精品| 成人性爱AV在线免费观看| 欧美日韩222| 欧美日韩国产成人高清| 美女露胸露屁股| 少妇被c 黄 免费观看| 骚货| 色综合av综合久久| 日日干日日操五月天伦理视频| 麻豆精品一区二区三区四区免费观看| 欧美熟女操屄| 天综合网欧美| 99久久e免费热视| 亚洲精品一卡二卡三卡福利视频网站| 2023天天操夜夜操| 丁香五月成人| 色综91| 江都AV在线| 亚洲欧美国产中文视频| 久久超碰免费的| 十八禁av无码免费网站APP| 91网站视频在线观看| 在线国产福利网址导航| 精品中文一区二区| 91麻豆va国产精品| 校园激情狠狠四射| 九九热免费国产视频婷婷伊人五月 | 日欧毛片久久| 思思热影视| 丝袜美腿操av| 曰韩欧美国产传媒麻豆第一区| 九九九九热| 久久精品视频28| 五月天丁香婷婷综合网站| 性生活性生大爱77AV国产| 亚洲人人操| 综合伊人网12色| 欧美天堂亚洲电影院一区在线播放| 黄片无码在线制服| 亚洲国产熟妇综合色专区| 欧亚不卡| 国产三级电影免费观看| 狠狠躁日日躁夜夜躁A| 97舔舔| 校园春色宗合网| 91少妇人妻| 国产成人无码啪| 淫妻综合网| 亚洲瓯美色图| 97视频在线观看高清资源| 一本大道久| AV天堂电影网| 人妻精品一区二区在线| 欧美啪啪色吧在线| 国产噜噜噜噜噜久久久久久久久| 美女黄频a美女大全免费皮| 男人的天堂va在线| 加勒比海成人视频网 | 久久久久久91香蕉国产| 5278欧美一区二区三区| 欲香欲色| 蜜臀久久精品久久久久视频| 色色色色网站| 亚洲欧洲av影音| 免费男人的天堂| 99re这里只有精品中心播放| 精品九九九九九九九九九| 乱伦图一区| 99久久99久久免费精品蜜臀| 亚洲素人网| 91在线免费观看处女| 色色色色网站| 操婢日韩| 国产强奸乱伦第1页| 日韩成人人妻网站| 国产青视频| 夜夜一区二区| 国产伦乱91| wwwxxx日本爽| 白丝一区| 欧美宗合网| 欧美一品道| 国模不卡一本二本三电影| 涩五月婷婷| 国产操逼逼网| 91成人高清在线观看| 中文字幕乱妇免费视频| 国产人妻精品一区二区三区秋霞 | 国产强上视频在线观看| 欲香欲色| 蜜臀99久久精品| 999九九精品| 2019AV天堂| 神马久久久久眼| 成功精品影院| av一区二区三区 中文| 精品少妇人妻av久久免费| 中英熟女操女| 综合网欧美| 日本综合色图| 密臀在线一区尤物| 欧洲亚洲人妻无码久久三区四区| 999熟女精品| 精品无码人妻一区二区免费蜜桃| 亚洲欧美日韩有码| 德国一二三不卡| 蜜臀精品1区2区| 99久久久无码| 福利风月五月天影院| 丁香五月天堂网| 国产激情久久| 五月丁香啪| 日韩三级一区 | 亚洲国产成人精品女人久久久| 色九久| 亚洲高清自拍| 亚洲视频中文一区| 亚洲最新Av| 午夜操逼不卡| 国产曰批免费观看久久久| 逼操网站| 欧美成熟性爱精品| 国产传媒午夜理伦精品| 亚洲无线码欧洲精品区别| 久综合国内精品自在自线| 久草视频观看视频在线| 色综合久久88色综合久久天天| 国产操偷| 久久香蕉综合一本到3atv| wwwcaobibi| 青娱乐国产盛宴视频| 亚洲成人久久一区二区| 久久AV无码网址| 国产67194| 人人天天欧洲| 男人的天堂色偷偷青青草视频婷婷网| 91久久午夜无码鲁丝片久久人妻| 久久蜜色情在线视频xxx免费观看| 久久夜嗨| 国产女主播视频在线观看| 美女性91| 99re视频在线播放青草| 欧美激情内射| 富女玩鸭子一级毛片| 青椒国产97在线熟女| 中文自拍欧美影视| 99精品在线| 亚洲一区二区麻豆影院| av三级电影在线播放| 日韩欧美中文字亚洲慕| 久久久日本电影| AV乱伦国产| 激情综合二| 丁香五月AV| 日韩91网| 97超碰欧美手机| 综合色欧美| 日韩操逼性鲍| 亚洲精品三| 久久麻豆一区二区| 日本三级小说中文字幕| 色97综合中文字幕| 思思热一热婷婷热一热| 亚洲精品蜜桃久久久| 亚州综合色| 天天躁日日躁xxxxx| 一二三区在线| 无码人妻丰满熟妇奶水区毛片| 制服诱惑亚洲一区二区三区在线观看| 午夜欧美精品久久久| 高清在线不卡一区二区 视频| 8050无码八戒| 婷婷色色网| 少妇与黑人高潮在线| 久久精品成人| 高清无码一区二区三区| 国产精点久久久成人| 日韩成人综合网| 久久色一区二区| 久久区| 人人摸人人添人人操| 欧美在线官网| 91日产桃蜜| 乱伦图av| 亚洲色图加勒比| 蜜屁av| 午夜120视频在线观看| 嗯啊不要在线观看嗯啊| 91网站18+| 久久无码一区二区二三区性色| 久草色悠悠在线视频| 国产人妻精品一区二区三区秋霞| 高清无码91| 亚欧毛片基地国产毛片基地| 五月亭亭六月丁香| 少妇一区二区三区| 97在线观| 国产真实野战在线视频| 天天天乱色综合全| 日韩九九九| 草草影院最新网址| 有码人妻系列| 天天综合-91入口| 丁香啪啪| 久9综合在线| 久久东京伊人一本到鬼色| 91老熟女逼| 欧美极品| 欧美日不卡| 人人妻人人爽人人精品| 日本操BAV| 美女干逼2| 久久亚洲AV无码白度| 国产92麻豆天美精品色欲5| 精品国产国产AV| 国产精品成久久久久午夜午夜| 深夜啪啪啪视频免费| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 日韩欧美大力操| 大香蕉手机在线视频| 夜夜騷av、一區二區| 中文字幕99999| 日韩高潮一区| 少妇蹲下露出大唇5| 99热这里都是精品| 亚洲色鬼| 伊人专区一区二区三区| 欧美 亚洲 另类 综合| 开心激情站| 操逼网站视频漫画国产| 精品九九| 精品人妻一区二区三区免费视频| 精品无人区麻豆乱码久久久| 九九热免费国产视频婷婷伊人| 欲香欲色综合天天伊人| 九九久久首页| 色婷婷亚洲婷婷| 久一区久久蜜桃| 久久久久久亚洲精品不卡人乳| 亚洲情欲| 色婷婷激情| 天天做天天爱| 亚洲一二三四区机械| 豆花视频操逼网址 | 日韩免费中文字幕视频| 激激五月| 99久久精品国产系列| 亚洲一二三四区机械| 另类TS人妖一区二区三区 | 九九这里只有精品| 国产色图乱伦| 久久夜嗨| 亚洲砖码砖专无区2023| 91美女视频。| 久久精彩视频9| 久久精品久久九九精品| 国产乱不卡| 91大胆欧美| 在线观看无码三级少妇| 国产热av| 看看小穴| 日本免费一级AAA大片器| 欧美成人精品一区二区男人蜜臀| 高清无码网址| 亚洲国产精品99久久久| 九九九九九九九| 久操不卡视频| 男啪女色黄无遮挡免费观看| 午夜呻吟欧美| 免费簧片在线观看| 国产精品久久久久久久久久久久久久| 国产无遮挡| 五月综合婷婷久久网站| 久久精品黄色| 中文字幕综合人妻| 天天干干天天干干| 九九九九精品一区| 九七超碰| 国产亚洲色婷婷久久99精品91葵花宝典 | 男人的天堂不卡一区二区| 国产久久视频| 无码 黑人一区二区三区| 狠狠躁天天躁日日躁| 亚洲中文日韩欧美大香蕉视频| 人妻91少妇| 蜜桃一区二区三区| 久热这里| 思思热免费在线视频| 欧美激情视频一区二区| 欧美中字二区| 91在线欧色| 日韩三级天堂在线观看| 日本爽爽爽爽爽爽免费视频| 中文字幕欧洲有码| 美性中文综合网| 精品久久久久,69国产成人精| 免费日韩黄片| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 绑缚麻绳人妻寝取完整版| 天美国产三级传媒| 色玖玖| 中国国国产一级特黄毛片| 91被操| 老妇女91| 青草伊人网| 91色堂| 香港日本韩国人妇99www.wccm20| 欧美亚洲综合色| 乱老女人一区二区视频| 69精品| 国产欧洲精品亚洲午夜拍精品| 精品久久久久黄少妇| 深爱激情五月天| 欧美性爱五月天| 殴美在线AⅤ| 福利社区午夜一区二区| 日韩精品在线视频,日韩精品……| 91欧美www| 日韩图区| 麻豆久久视频在线地址| 五月婷婷久久综合| 日日夜夜精品| 精品日韩人妻精品一二三区| 日本道不卡| 九九九精品美女| 超碰97.com| 日日AAvv| 超碰97人人乐| 综合天天网| 自拍六区| 涩涩久久精品| 久久视频,这里只有精品| 我爱搞逼综合网| 精品一区二区2| 日韩精品亚洲一二三| 加勒比综合88| 欧美中出| 伊人一区二区在线播放| 人妻 丝袜美腿 中文字幕| 超碰成人最新最好看| 国产综合操逼高清| 五月天伊人| 青苹果影院男人的天堂| 撸撸成人在线视频| 久久久精品中文字幕麻豆| 欧美日韩国产精品久久色婷婷| 91精品丝袜久久久久久| 神马久久久久久| 亚洲成aⅴ人片不卡无码| 久操网线| 成人日韩欧美| 超碰97网址| 91网站在线播放| 偷拍盗拍亚洲色图图片 | 日韩av电影网站| 欧美成人精品欧美一级乱黄一区二…| 麻豆天美91| 国产A v无码专区| 激情综合五月| 亚洲免费日韩在线一区二区| 精品久久艹| 免费视频一二三区| 2020中文在线一区二区三区| 国产97色在线| 曰本精品久久久| 欧美96交| 色哟哟 日韩精品| 强奸乱伦麻豆| 欧美不卡在线美女| 试看60秒| 欧美999| aⅴ日韩成人电影av在线免费看av大全 |