久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

嵌入式固件啟動故障定位實戰(zhàn):從復位源到main()前的五級穿透法

嵌入式固件啟動故障定位實戰(zhàn):從復位源到main()前的五級穿透法 1. 這不是“講啟動流程”的課是嵌入式固件工程師的現(xiàn)場作戰(zhàn)手冊你手里的開發(fā)板突然卡在串口打印第一行就停住log里只有一串0x20000000地址的非法訪問OTA升級后設備反復重啟但bootloader日志顯示“image valid”校驗和也對得上客戶現(xiàn)場反饋某批次固件在特定溫度下冷機啟動失敗復現(xiàn)率37%而實驗室100%通過——這些不是考試題是凌晨兩點你被電話叫醒時的真實戰(zhàn)場。這篇專欄要解決的從來不是“ARM芯片上電后PC從哪取指令”這種教科書定義而是當你面對一塊貼著“已燒錄固件”的黑色PCB、一臺正在報錯的產(chǎn)線測試儀、或一封寫著“請48小時內(nèi)定位根因”的郵件時真正能讓你快速拆解、精準定位、穩(wěn)住局面的工程化方法論。核心關(guān)鍵詞嵌入式、固件、啟動流程、OTA、ARM每一個都對應著真實產(chǎn)線里摔過的跟頭、改過的寄存器、抓過的波形。我?guī)н^的團隊里新人常把“看懂startup.s”當成啟動流程終點老手卻知道真正的難點在startup.s執(zhí)行完之后——那幾毫秒內(nèi)發(fā)生的內(nèi)存映射切換、時鐘樹配置沖突、外設初始化時序錯位才是讓90%故障藏身的灰色地帶。本系列不講抽象理論所有內(nèi)容都來自我們?yōu)榘卜罃z像頭、工業(yè)PLC、車載T-Box做固件交付時的真實案例比如用示波器抓取reset引腳與uart tx引腳的時序差定位bootloader跳轉(zhuǎn)失敗用JTAG trace buffer回溯到第7條指令的SP異常把OTA鏡像拆成bin段逐字節(jié)比對發(fā)現(xiàn)flash控制器DMA burst長度配置錯誤。上篇課后思考題不是為了考你而是還原我們當年在客戶現(xiàn)場白板上畫出的故障樹——答案本身不重要重要的是你能否沿著“現(xiàn)象→寄存器狀態(tài)→硬件信號→電源軌紋波”這條鏈路一環(huán)扣一環(huán)地推演。適合誰剛畢業(yè)想避開“只會點燈”的嵌入式新人做了三年驅(qū)動但遇到啟動問題仍要靠“重燒試試”的中級工程師以及需要向客戶出具《啟動異常根因分析報告》的固件架構(gòu)師。2. 啟動流程深度拆解從復位向量到main()前的七層地獄2.1 真正的啟動起點復位源與向量表基址的博弈很多工程師認為啟動始于CPU執(zhí)行第一條指令這是危險的誤解。真正的起點是復位源觸發(fā)的硬件狀態(tài)重置。以Cortex-M系列為例當POR上電復位發(fā)生時CPU并非直接跳轉(zhuǎn)到0x00000000而是根據(jù)BOOT引腳電平、eFUSE配置、甚至OTP中存儲的啟動模式寄存器值決定向量表基址VTOR的初始值。我在調(diào)試一款全志H3芯片時客戶產(chǎn)線出現(xiàn)15%的啟動失敗最終發(fā)現(xiàn)是eMMC boot mode下SOC內(nèi)部ROM bootloader會先讀取eMMC第一個扇區(qū)的MBR再根據(jù)MBR中的分區(qū)表跳轉(zhuǎn)到boot0分區(qū)加載u-boot而該批次eMMC的MBR寫入時CRC校驗位被擦除工具意外清零導致ROM bootloader誤判為無效鏡像直接fallback到SPI flash啟動——但SPI flash里只有舊版bootloader其不支持新SOC的DDR初始化時序于是卡死在SDRAM初始化階段。這個案例說明所謂“啟動流程”必須從硬件復位源的物理特性開始梳理。ARM架構(gòu)下常見的復位源包括POR、NRST、WDOG reset、SYSRESETREQ等每種復位源觸發(fā)后CPU內(nèi)核、總線矩陣、外設模塊的寄存器復位值并不完全相同。例如WDOG reset通常不會復位RTC寄存器而POR會清空所有寄存器。實操中我習慣在startup.s最開頭插入一段匯編讀取SCB-AIRCR寄存器的VECTCLRACTIVE位和SYSRESETREQ位結(jié)合NVIC-IABR寄存器判斷當前復位類型并通過GPIO輸出不同波形用示波器直接觀測復位源——這比看串口log快3秒且100%準確。2.2 向量表不只是中斷入口更是內(nèi)存布局的憲法向量表Vector Table常被簡化為“中斷函數(shù)地址數(shù)組”但它實際是整個固件內(nèi)存布局的憲法性文件。標準ARM Cortex-M向量表前16項為系統(tǒng)異常Reset、NMI、HardFault等后接用戶中斷。但關(guān)鍵在于向量表位置決定了整個代碼段的鏈接基址。當使用分散加載scatter loading時向量表可能被鏈接到0x08000000主flash也可能被重定向到0x20000000SRAM用于調(diào)試。我在調(diào)試RT-Thread系統(tǒng)時遇到過經(jīng)典問題將vector table放在SRAM后reset handler能正常執(zhí)行但HardFault發(fā)生時PC指向0xFFFFFFFE——查證發(fā)現(xiàn)是SCB-VTOR寄存器未在reset handler中顯式設置導致CPU仍從默認0x00000000讀取向量表而該地址此時是未初始化的SRAM內(nèi)容全0故HardFault向量為0x00000000PC被加載為0x0000000040x00000004再加偏移變成0xFFFFFFFE。解決方案不是改鏈接腳本而是在startup.s的reset handler第一行插入ldr r0, 0x20000000msr VTOR, r0。更隱蔽的問題出現(xiàn)在多bank flash場景某款STM32H7芯片有兩塊獨立flash bankbank1: 0x08000000, bank2: 0x08100000客戶要求OTA升級時新固件燒錄到bank2啟動時由bootloader切換VTOR到bank2向量表。但實測發(fā)現(xiàn)切換后USB中斷無法觸發(fā)根源是USB PHY的時鐘使能寄存器RCC-APB1ENR在切換VTOR后未重新配置——因為該寄存器初始化代碼位于bank1的startup.s中bank2的向量表雖指向bank2的reset handler但handler內(nèi)部調(diào)用的clock_init函數(shù)地址仍在bank1而bank1此時已被remap禁用。最終方案是將clock_init及所有依賴的底層驅(qū)動函數(shù)全部復制到bank2并在鏈接腳本中用KEEP(*(.text.clock_init))強制保留。2.3 初始化三部曲堆棧、時鐘、內(nèi)存缺一不可的死亡鏈從reset handler跳轉(zhuǎn)到C環(huán)境前必須完成堆棧、時鐘、內(nèi)存三大初始化任一環(huán)節(jié)失敗都會導致不可預測行為。這里沒有“標準流程”只有針對具體SOC的精確操作序列。堆棧初始化Cortex-M內(nèi)核有兩個堆棧指針MSPMain Stack和PSPProcess Stack。Reset后CPU使用MSP因此startup.s中__initial_sp必須指向合法RAM區(qū)域。常見陷阱是stack size設置過小某次為智能電表設計固件stack size設為0x200測試時一切正常量產(chǎn)時客戶增加DLMS協(xié)議棧函數(shù)調(diào)用深度超過256字節(jié)導致MSP溢出覆蓋相鄰全局變量設備在抄表時隨機死機。解決方案是用arm-none-eabi-gcc的-fstack-usage選項生成每個函數(shù)的stack usage報告取最大值30%安全余量。時鐘樹配置這是啟動失敗的最高發(fā)區(qū)域。以NXP i.MX RT1052為例其時鐘樹包含PLL、SYS PLL、AUDIO PLL等12個時鐘源reset后默認使用24MHz晶振經(jīng)分頻得到的12MHz作為core clock。但若在未配置SYS PLL前就調(diào)用SystemCoreClockUpdate()該函數(shù)會讀取CCM_ANALOG_PLL_SYS_CTRL寄存器獲取當前PLL倍頻系數(shù)而該寄存器reset值為0導致計算出的SystemCoreClock為0后續(xù)所有基于此的delay函數(shù)失效。更致命的是某些外設如FlexSPI的時鐘源必須在core clock穩(wěn)定后才能配置否則寄存器寫入無效。我的做法是在clock_init函數(shù)中先用匯編指令dsb syisb確保流水線清空再讀取PLL lock status bit如CCM_ANALOG_PLL_SYS_CTRL[12]循環(huán)等待直到bit1最后才調(diào)用SystemCoreClockUpdate()。內(nèi)存初始化重點是SRAM和外設RAM。某次調(diào)試GD32F450發(fā)現(xiàn)DMA傳輸數(shù)據(jù)錯亂最終定位到startup.s中未初始化DTCM RAMData Tightly Coupled Memory。DTCM是Cortex-M7特有的高速RAM地址范圍0x20000000-0x2001FFFFreset后內(nèi)容隨機若DMA descriptor table放在DTCM但未清零descriptor中的next pointer可能指向非法地址導致DMA鏈表斷裂。解決方案是在reset handler中添加movs r0, #0movs r1, #0movs r2, #0movs r3, #0循環(huán)清零DTCM區(qū)域而非依賴C庫的__iar_data_init3該函數(shù)僅初始化.data/.bss不處理DTCM。2.4 main()之前的暗流C運行時環(huán)境與全局對象構(gòu)造當startup.s執(zhí)行bl main時你以為進入了安全區(qū)不C運行時環(huán)境CRT的初始化才剛剛開始。這部分由編譯器自動生成但細節(jié)決定成敗。.data段復制鏈接腳本中定義.data位于flashLOAD_REGION但運行時需復制到RAMRUN_REGION。復制過程由__iar_data_init3IAR或__libc_init_arrayGCC執(zhí)行。陷阱在于若flash讀取速度慢于RAM寫入速度且未啟用cache復制過程可能超時。某次在ESP32-S3上.data段大小達128KB使用QSPI flash80MHz復制時因flash controller的read latency設置不當導致復制耗時超過watchdog timeout設備在main()前被復位。解決方案是修改鏈接腳本在.data段前插入.fast_datasection將高頻訪問的全局變量如DMA buffer指針顯式放入該section并用__attribute__((section(.fast_data)))標記確保其位于內(nèi)部RAM而非QSPI映射區(qū)。全局對象構(gòu)造C項目中全局對象的constructor在main()前執(zhí)行。某次為車載T-Box開發(fā)一個全局CAN driver對象在constructor中調(diào)用CAN_Init()而該函數(shù)依賴RCC_EnableClock()但clock init尚未完成——因為clock init在main()中而global object constructor在main()前。IAR編譯器默認按聲明順序執(zhí)行constructor但GCC使用__init_array_start數(shù)組順序不可控。最終方案是放棄全局對象改用單例模式在main()中首次調(diào)用時初始化或使用__attribute__((constructor))顯式指定執(zhí)行順序。堆初始化malloc()依賴heap region。鏈接腳本中_heap_start和_heap_end定義不當會導致malloc返回NULL。某次在RT-Thread項目中heap size設為0x10000但實際可用RAM因DTCM占用只剩0x8000malloc分配大buffer時失敗。更隱蔽的是heap與stack碰撞當遞歸過深或局部數(shù)組過大stack向下增長撞上heap向上增長導致內(nèi)存破壞。我習慣在startup.s中添加stack guard在stack底部預留0x100字節(jié)寫入magic number如0xDEADBEEF在main()開頭檢查該值是否被修改若被改寫則說明stack overflow。3. 故障定位方法論從現(xiàn)象到根因的五級穿透法3.1 第一級現(xiàn)象分類學——拒絕模糊描述故障定位的第一步不是抓log而是對現(xiàn)象進行原子化分類。我建立了一套現(xiàn)象分類矩陣橫軸為可觀測維度串口log、LED狀態(tài)、JTAG連接性、外設響應縱軸為時間特征上電瞬間、啟動過程中、運行穩(wěn)定后、特定操作觸發(fā)。例如“設備上電后LED常亮不閃爍”屬于“LED狀態(tài)上電瞬間”而“運行2小時后UART無響應”屬于“外設響應運行穩(wěn)定后”。這種分類能立即排除80%的誤判。曾有個案例客戶報“設備無法啟動”現(xiàn)場看到串口無任何輸出。按矩陣分類屬于“串口log上電瞬間”。我首先用萬用表測UART_TX引腳電壓——正常應為3.3V高阻態(tài)實測為0V說明MCU未輸出問題在MCU本身或供電若為3.3V則可能是電平轉(zhuǎn)換芯片損壞。結(jié)果測得TX為0V進一步測VDDA為1.2V應為3.3V發(fā)現(xiàn)LDO輸出電容虛焊導致模擬電源域未建立ADC和內(nèi)部RC振蕩器失效MCU無法退出復位。若不分類直接換MCU會浪費3天。3.2 第二級寄存器快照——讓硬件開口說話當現(xiàn)象指向特定模塊如UART無輸出必須獲取該模塊關(guān)鍵寄存器的實時快照。不要依賴loglog可能因時鐘未啟而無法打印。我使用JTAG debugger的memory dump功能在reset后立即halt CPU讀取相關(guān)寄存器。以UART為例關(guān)鍵寄存器包括UARTx_CR發(fā)送/接收使能位UARTx_FRbusy、txfe、rxfe等狀態(tài)位UARTx_IBRD/UARTx_FBRD波特率分頻值UARTx_LCR_H數(shù)據(jù)位、停止位、parity配置某次調(diào)試Nordic nRF52840UART無輸出UARTx_FR[txfe]為1發(fā)送FIFO空但UARTx_CR[txe]為0發(fā)送使能關(guān)閉。追蹤發(fā)現(xiàn)UARTx_CR寫入操作被編譯器優(yōu)化掉——因為寫入后未讀取確認gcc認為該操作無副作用。解決方案是添加__DSB()內(nèi)存屏障并用volatile修飾寄存器指針。更深層的問題是UARTx_CR[txe]寫1后需等待UARTx_FR[busy]從1變0才表示使能生效而我們的代碼未等待直接寫數(shù)據(jù)導致數(shù)據(jù)丟失。因此寄存器快照不僅要讀值更要驗證狀態(tài)轉(zhuǎn)換邏輯。3.3 第三級信號層捕獲——示波器是固件工程師的聽診器當寄存器值正常但功能異常必須下沉到電氣信號層。我標配一個2通道示波器帶邏輯分析功能探頭直連關(guān)鍵信號線。典型場景復位信號完整性用10x探頭測NRST引腳觀察復位脈沖寬度和邊沿。某次設備偶發(fā)啟動失敗示波器顯示NRST脈沖寬度僅80ns要求100ns原因是復位電路中RC時間常數(shù)過小且PCB走線存在反射。解決方案是增大R值至10kΩ并在NRST引腳就近加0.1μF去耦電容。時鐘信號質(zhì)量測HSE高速外部晶振輸出觀察波形是否正弦、有無過沖。某款STM32F767HSE頻率偏差達±500ppm導致USB通信失敗。示波器顯示波形頂部削頂說明驅(qū)動能力過強更換晶振負載電容從12pF為18pF后解決??偩€事務時序用邏輯分析儀抓SPI bus驗證CS、CLK、MOSI時序是否符合器件spec。某次調(diào)試SPI flash讀取ID返回0xFF抓波形發(fā)現(xiàn)CS低電平時間不足flash未進入command mode。修改SPI controller的CS setup/hold time寄存器解決。3.4 第四級電源軌紋波——被忽視的終極殺手90%的間歇性故障源于電源。我用示波器AC耦合模式測各電源軌VDD、VDDA、VDDIO紋波帶寬設為20MHz。關(guān)鍵指標VDD紋波峰峰值 50mV數(shù)字電源VDDA紋波峰峰值 10mV模擬電源某次車載設備在引擎啟動時重啟示波器顯示VDD紋波達200mV原因是DC-DC converter的輸入電容ESR過高引擎啟動時電池電壓跌落converter瞬態(tài)響應不足。解決方案是并聯(lián)一個低ESR固態(tài)電容100μF/6.3V。更隱蔽的是地彈ground bounce當多個GPIO同時翻轉(zhuǎn)瞬態(tài)電流通過地線電感產(chǎn)生壓降導致MCU內(nèi)部邏輯誤判。某次調(diào)試LED矩陣驅(qū)動部分LED隨機熄滅測GND引腳對大地電壓波動達300mV最終在MCU GND引腳就近增加0.01μF陶瓷電容濾除高頻噪聲。3.5 第五級交叉驗證——用另一套系統(tǒng)證明你的結(jié)論當以上四步仍無法定位啟動交叉驗證。核心原則用完全獨立的技術(shù)路徑驗證同一假設。例如懷疑flash讀取錯誤不只看讀取數(shù)據(jù)還應用JTAG讀取flash內(nèi)容與bin文件md5比對用邏輯分析儀抓取SPI flash transaction驗證發(fā)送的read command和address是否正確將flash芯片取下用編程器讀取對比數(shù)據(jù)某次為安防攝像頭定位啟動失敗前四步均正常交叉驗證時發(fā)現(xiàn)用JTAG讀取flash前16KB數(shù)據(jù)正確但從0x4000開始全為0xFF。但編程器讀取同一flash數(shù)據(jù)完整。結(jié)論是MCU的QSPI controller配置錯誤未正確設置memory mapping。最終查到QSPI_ACR寄存器中LATENCY位設置為0應為3導致讀取時序不匹配。4. OTA升級工程化實戰(zhàn)從“能升級”到“可信賴”的七道防線4.1 鏡像格式設計不止是拼接是可信鏈的起點OTA鏡像不是簡單的app.bin bootloader.bin拼接而是構(gòu)建可信鏈的載體。我采用分層簽名結(jié)構(gòu)Layer 0Root of Trustbootloader內(nèi)置公鑰用于驗證Layer 1簽名Layer 1Firmware Header包含app版本號、硬件平臺ID、簽名算法標識、簽名值Layer 2App Image原始固件二進制Layer 3Metadata升級策略如roll-back protection flag、兼容性列表簽名使用ECDSA secp256r1私鑰離線保存于HSMHardware Security Module公鑰固化在bootloader ROM中。某次客戶要求支持roll-back protection我們在Layer 1 header中增加min_version字段bootloader驗證時若當前版本低于min_version則拒絕升級。但實測發(fā)現(xiàn)若攻擊者篡改header中的min_versionsignature仍有效。解決方案是將min_version納入簽名摘要計算范圍——即簽名時對headerapp image整體hash而非僅對app image hash。這樣任何header字段修改都會導致signature verification fail。4.2 安全啟動集成讓OTA成為信任錨點OTA不能脫離secure boot獨立存在。我將OTA流程深度集成到secure boot chain中Stage 1ROM bootloader驗證bootloader image signatureStage 2verified bootloader驗證app image signatureStage 3app image中包含OTA agent其signature由Stage 2驗證關(guān)鍵創(chuàng)新是動態(tài)密鑰派生OTA agent的簽名密鑰不是固定值而是由device unique IDfuse-based和firmware version hash派生。這樣即使某版本OTA agent密鑰泄露也無法用于其他版本。派生算法采用HMAC-SHA256derived_key HMAC-SHA256(device_id, version_hash)。某次安全審計發(fā)現(xiàn)若version_hash計算不包含build timestamp攻擊者可重放舊版本鏡像。因此我們在version_hash中加入__DATE__和__TIME__宏確保每次build hash唯一。4.3 差分升級實現(xiàn)節(jié)省90%帶寬的工程細節(jié)全量升級在蜂窩網(wǎng)絡下成本高昂差分升級delta update是剛需。我采用bsdiff算法但針對嵌入式場景優(yōu)化內(nèi)存約束標準bsdiff需O(n)內(nèi)存我們改用streaming bsdiff內(nèi)存占用恒定為256KBflash磨損均衡差分patch寫入時避免集中擦寫同一block。方案是將patch分片每片寫入不同flash sector并記錄sector wear-leveling counter斷電保護patch寫入中途斷電必須保證可恢復。我們在每個patch block前寫入header包含block id、crc32、status flag0x00writing, 0xFFwritten。升級agent按block id順序?qū)懭雽懲暌粋€block后將status flag置0xFF再寫下一個。斷電后agent掃描所有block header跳過status0xFF的block繼續(xù)未完成的block。某次為NB-IoT設備實施差分升級全量鏡像4MB差分patch僅320KB節(jié)省帶寬80%。但實測發(fā)現(xiàn)patch應用后app checksum錯誤根源是bsdiff生成的patch中包含對flash controller寄存器的寫操作因原始鏡像中有flash driver代碼而OTA agent執(zhí)行patch時flash controller處于非初始化狀態(tài)。解決方案是在patch生成時用objdump提取所有flash相關(guān)symbol將其從diff范圍排除改用runtime patch injection。4.4 回滾機制不是“備份舊版本”是狀態(tài)一致性保障回滾不是簡單地“恢復舊固件”而是保障系統(tǒng)狀態(tài)一致。我設計雙slot機制A/B但關(guān)鍵在狀態(tài)同步Slot A當前運行固件Slot B待升級固件Shared State Partition獨立flash partition存儲設備狀態(tài)如sensor calibration data、network config升級前agent將Shared State復制到Slot B的reserved area升級成功后將Slot B的state寫入Shared State若升級失敗回滾時從Shared State恢復Slot A的state。某次客戶設備升級后WiFi密碼丟失就是因為state partition未同步。我們增加state validation每次讀寫state前計算CRC32并存儲于header若CRC mismatch則觸發(fā)factory reset。4.5 升級過程監(jiān)控從“黑盒”到“透明化”O(jiān)TA過程必須全程可觀測。我在agent中嵌入狀態(tài)機并通過UART/USB暴露狀態(tài)接口GET /ota/status返回{state: downloading, progress: 45, speed_kbps: 12}GET /ota/log返回最近100行debug logPOST /ota/cancel安全終止升級狀態(tài)機包含12個狀態(tài)每個狀態(tài)有超時保護。例如verifying signature狀態(tài)超時設為30秒超時則自動回滾。某次升級卡在writing flash狀態(tài)遠程查詢log發(fā)現(xiàn)flash erase耗時超預期原因是該批次flash的erase time spec為100ms但實測達200ms。解決方案是動態(tài)調(diào)整timeout首次erase后記錄實際耗時后續(xù)erase timeout設為實際值*1.5。4.6 硬件協(xié)同設計讓OTA不再“裸奔”O(jiān)TA可靠性依賴硬件協(xié)同。我要求硬件設計包含獨立看門狗由專用WDOG芯片管理不依賴MCU內(nèi)部WDOG確保MCU hang死時仍能復位雙電源軌監(jiān)控VDD和VDDA分別監(jiān)控任一軌跌落即觸發(fā)復位升級指示LED硬件級LED由MCU GPIO控制升級中常亮成功后快閃失敗后慢閃某次設備在OTA中因VDDA跌落導致ADC采樣錯誤進而觸發(fā)軟件看門狗復位但MCU未完全復位flash controller處于未知狀態(tài)導致后續(xù)升級失敗。硬件級電源監(jiān)控芯片如MAX6326在VDDA2.7V時立即拉低NRST徹底復位。4.7 灰度發(fā)布策略用數(shù)據(jù)代替直覺OTA發(fā)布不是“全量推送”而是漸進式灰度。我設計三級灰度Level 11%設備隨機選擇僅推送通知不自動升級Level 210%設備自動升級但限制并發(fā)數(shù)如每分鐘最多10臺Level 3100%設備全量推送但開啟rollback threshold如錯誤率0.1%自動暫停監(jiān)控指標包括升級成功率target 99.95%啟動成功率升級后first boot success rate關(guān)鍵服務可用率如WiFi connect time 5s某次新版本OTA上線Level 2階段啟動成功率降至92%監(jiān)控發(fā)現(xiàn)是new bootloader中新增的USB CDC初始化代碼與舊host driver不兼容。立即暫停Level 3回滾Level 2設備并發(fā)布hotfix。5. 上篇課后思考題完整解析還原真實故障排查現(xiàn)場5.1 思考題1某Cortex-M4設備啟動時串口輸出“HardFault_Handler”但未打印更多l(xiāng)og。如何定位這不是代碼問題是調(diào)試基礎設施缺失。HardFault發(fā)生時CPU進入HardFault_Handler但若該handler未實現(xiàn)或未配置設備會死循環(huán)。標準做法是在HardFault_Handler中讀取SCB-HFSRHardFault Status Register和SCB-CFSRConfigurable Fault Status Register若CFSR[IBUSERR]1說明instruction bus error可能是PC指向非法地址若CFSR[PRECISERR]1說明precise data bus error查看BFARBus Fault Address Register用JTAG halt CPU讀取R0-R12、SP、LR、PC寄存器值PC值指向出錯指令地址LR值指示調(diào)用來源反匯編PC地址處指令結(jié)合寄存器值分析某次實操中CFSR顯示PRECISERRBFAR0x20000000但該地址是valid SRAM。進一步檢查發(fā)現(xiàn)該地址被DMA controller占用而CPU嘗試寫入時DMA正在訪問同一地址觸發(fā)bus conflict。解決方案是添加memory barrier在DMA啟動前執(zhí)行__DSB()確保所有CPU寫操作完成。5.2 思考題2OTA升級后設備啟動卡在“Initializing SDIO...”但SDIO硬件測試正常。原因表面是SDIO驅(qū)動問題實則是時鐘域切換故障。SDIO controller依賴HSIHigh Speed Internal時鐘而OTA升級后bootloader可能將HSI頻率從16MHz改為24MHz以提升性能但SDIO driver的初始化代碼未適配新頻率。驗證方法用示波器測SDIO CLK引腳確認實際頻率檢查SDIO-CLKCR寄存器計算CLKDIV值是否匹配當前HSI頻率對比升級前后bootloader的clock_init函數(shù)確認HSI配置是否變更某次案例中bootloader將HSI trim value從0x00改為0x10導致HSI頻率從16.000MHz變?yōu)?6.012MHzSDIO driver中硬編碼的CLKDIV1實際CLK8.006MHz低于SDIO spec要求的12MHz導致初始化失敗。解決方案是driver中動態(tài)計算CLKDIVCLKDIV (HSI_FREQ / (2 * SDIO_TARGET_CLK)) - 1。5.3 思考題3客戶反饋某批次固件在-20℃啟動失敗實驗室25℃正常。如何復現(xiàn)與解決這是溫度敏感型硬件缺陷需構(gòu)建溫度梯度測試環(huán)境將設備置于溫箱從25℃逐步降溫至-20℃每降5℃保持30分鐘在每個溫度點重復啟動10次記錄失敗率失敗時立即用JTAG halt讀取所有電源監(jiān)控寄存器如VDD、VDDA、VREFINT某次定位到-20℃時VREFINT內(nèi)部參考電壓從1.2V降至1.05V導致ADC校準失敗進而影響flash controller的read margin判斷讀取失敗。解決方案是在低溫啟動時禁用ADC校準使用出廠校準值或在bootloader中添加溫度補償讀取TSTemperature Sensor值查表修正VREFINT5.4 思考題4OTA鏡像校驗通過但升級后app功能異常。可能原因校驗通過只證明鏡像完整性不保證執(zhí)行環(huán)境一致性??赡茉騀lash wear-out某block擦寫次數(shù)超限讀取時bit flip但CRC32未檢測到因flip位在padding區(qū)域Memory mapping conflict新固件中新增外設驅(qū)動其memory map與舊bootloader的MMU配置沖突Peripheral state leakage升級前未reset外設殘留狀態(tài)影響新固件某次案例中新固件啟用ETH MAC但bootloader未reset ETH controller導致PHY狀態(tài)機處于invalid state。解決方案是在OTA agent中升級前執(zhí)行RCC_EnableReset(RCC_RESET_ETH)強制reset。5.5 思考題5如何設計一個無需JTAG即可定位啟動問題的“黑盒診斷”機制核心是將診斷信息編碼到有限IO。我設計如下LED編碼用LED閃爍次數(shù)表示錯誤碼如1閃stack overflow, 2閃hardfault, 3閃flash verify failUART fallback若主UART初始化失敗自動切換到備用UART如USB CDC虛擬串口EEPROM log在關(guān)鍵路徑如clock init后、memory init后寫入timestamp和status code到EEPROM某次為無UART接口的傳感器設計僅有一個LED。我們用摩斯碼編碼短閃dot0長閃dash1組合成8位錯誤碼。例如0x1A00011010表示“clock init timeout”?,F(xiàn)場人員用手機錄下LED閃爍用APP解碼即可獲知根因。6. 實操心得與避坑指南十年踩過的坑都在這里提示以下經(jīng)驗均來自真實產(chǎn)線事故非理論推演關(guān)于startup.s的黃金法則永遠在reset handler第一行插入cpsid idisable IRQ并在main()前最后一行執(zhí)行cpsie ienable IRQ。曾因未禁用IRQreset handler執(zhí)行中被NMI打斷導致stack corruption。更糟的是某些SOC如GD32的NMI handler未初始化直接跳轉(zhuǎn)到0x00000000引發(fā)連鎖故障。關(guān)于OTA的血淚教訓絕不允許OTA agent與app共用同一heap。某次升級后malloc失敗查證發(fā)現(xiàn)OTA agent的heap與app的heap重疊因agent未釋放內(nèi)存即跳轉(zhuǎn)到app。解決方案是OTA agent使用靜態(tài)內(nèi)存池或在跳轉(zhuǎn)前調(diào)用heap_free_all()。關(guān)于示波器的隱藏技巧測復位信號時將示波器觸發(fā)模式設為“pulse width”條件設為“l(fā)ess than 100ns”可自動捕獲異常窄脈沖。某次產(chǎn)線問題就是靠此功能發(fā)現(xiàn)復位芯片輸出脈沖被PCB噪聲干擾變窄。關(guān)于編譯器的陷阱使用-O2優(yōu)化時gcc可能將while(1);優(yōu)化為udf #0undefined instruction導致HardFault。解決方案是添加__attribute__((used))或用for(;;) __asm volatile(wfi);。關(guān)于安全啟動的誤區(qū)認為簽名驗證足夠安全。實際上若bootloader未驗證自身完整性攻擊者可替換bootloader然后驗證任意app。必須實現(xiàn)chain of trustROM bootloader → signed bootloader → signed app。關(guān)于溫度測試的真相溫箱降溫時設備外殼溫度滯后于環(huán)境溫度約15分鐘。某次-20℃測試設備內(nèi)部溫度實為-10℃導致誤判。正確做法是貼熱電偶到MCU die上直接測die溫度。關(guān)于JTAG的救命招數(shù)當JTAG連接失敗先測TCK/TMS/TDI/TDO引腳電壓正常應為3.3V。若TDO為0V說明MCU未供電或JTAG disable fuse被燒。某次客戶設備JTAG失效測得TDO0V最終發(fā)現(xiàn)是PCB上JTAG排針焊接虛焊。關(guān)于OTA回滾的致命細節(jié)回滾時必須擦除新固件所在的flash sector否則下次升級時舊固件可能被新固件的erase操作意外擦除。某次回滾后設備變磚就是因為未擦除Slot B。關(guān)于啟動流程文檔的謊言SOC datasheet中的“typical startup sequence”只是理想路徑。真實啟動受PCB layout、電源設計、溫度、器件批次影響極大。我的做法是為每個硬件版本制作專屬startup checklist包含該版本特有的寄存器配置序列。**關(guān)于固件加密
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
性爱av网站| 男人天堂日日夜夜| 78久久| aaa一级黄片| 超碰欧美97资源| www.久久最新地址| 99九九久久| 免费观看网黄| 成人日本精品九区| 91精品国产91久久福利| 久久久久久91香蕉国产| 亚洲字幕一区二区| 亚洲综合图片在线| 1769精品一区二区三区| 亚洲欧美激情小说| 婷婷视频网| 91色亚洲| 乱精品一区字幕二区| 国产免费内射视频| 999久久久九| yw尤物av无码点击进入麻豆| 日韩av三四区| 口爆吞精在线观看| 久9爱精品| 天天做天天爽| 黄片www视频免费| 67194无码不卡| 操婢日韩| 九九九精品一区二区无码| 国产熟女免费观看久久| 久热这里| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 性欧美91| 久久久久骚| 精品99999| 久久精品老司| 亚洲古典另类欧美在线| 欧洲视频在线| 夜夜爽妓女| 老子午夜伦不卡影院| 磁力99AV| 嫩草影院性色| 东京热毛片177b2viP| 美女啊啊啊啊pc| {男男暴菊gay无套网站| 国产精彩女在线观看视频| 操逼网免费无码视频| 欧美韩日精品99综合| 色婷婷亚洲婷婷| 人人操欧美风骚| 大香蕉 222| 日本人妻中文字幕精品| 欧美成人精品一区二区男人蜜臀| 色丁香五月婷婷| 麻豆精品一区二区三区四区免费观看| 偷拍超碰| 强奸乱亚洲| 天天肏天天干| 欧美国产有色电影| 五月丁香六月婷综合成人综合| 久久久久久久97| 欧美一二三区四五区| 国产av美女被艹的乱叫| 黑人综合网| 18岁禁 茉莉成人久久| 国产小黄片在线免费观看| 大香蕉日韩| 真实高潮91| 美国人人操人人操| 日本综合色图| 四虎在线播放| 色综合一区二区三巨| 日韩黄色av中文字幕| 欧美激色| 天天看综合网| 丝袜剧情| 日韩情色一区二区| 激情人妻另类| 大香蕉十区| 免费簧片在线观看| 国产400孕妇孕交群| 天天享受天天看| 久久久成人国产精品无码| 日本精品五区| 性色高清..……| 久久天天摸| 蜜桃视频成a人v在线| 亚洲欧美骚| 久久国99999| 久久精品国产精品亚洲艾通辽熟妇 | 亚洲色图久久成人| 99久久综合网| 国产超碰AV在线精品| com 首页 18岁 禁区 女优 免费 精选 同城 | 国产成年女人免费视频播放a| 久久人妻一区二区三区高清| 少妇一区二区三区在线观看| 亚洲aV性爱| 日本精品一级二级三级| 99精品在线| 97香蕉人人乳| 日本超碰在线国产一区| 亚洲夜夜欢无码一区二区| 91综合在线| 亚洲少妇免费视频\| 蜜桃久久久久久久| 欧美色偷拍| 围产精品一区二区三区视频播放| 国产精品人妻无码久久久互動交流 | 久久丝袜| 久久偷偷色综合蜜桃| 用力操死我| 999岛国大片| 中文字幕高清精品一区| 屁股久久久久久久| 亚洲丝袜在线观看| 亚洲人妻久久久| 成人综合视频久久| 99热色这里只有精品| 日韩欧美亚洲一区二区三区影院| 国产a片操逼| 久久精品| 免费在线视频97| 毛片麻豆91糖心精品毛情片| 精品一区二区麻豆| 看黑人AV不卡| 九九色综合| A片三级无码| 2017人人操,人人摸| 在线日韩精品一区二区三区| 91丝袜| 能在线播放的国产三级| 日本一区二区不卡精品| 国产精品人妻一区二区| 青青草原人妻| 激情婷婷丁香| 久操热| 亚洲成人一区二区精品| 亚洲国产奇米影视久久| A级片日韩欧美国产欧美视频精选观看| 亚洲精品熟妇1区2区3区。| 久久精品99久久久久久| 欧美日韩亚洲天堂网| 超碰日本97美女人妻人人玩人人爱| 亚洲综合婷婷| 久久草大香蕉| 欧美性爱精品一区二区| 性爱av网站| 手机在线视频国内精品| 99久久精品欧美国产| 久久午夜色播影院免费高清| 夜夜欢天天干| 夜夜欧美| 蜜桃av色偷偷av老熟女| 99热| 人人妻人人玩人人澡人人爽| 国产女大学生AV| 欧美性91| 欧美视频一| 国产黄色剧情影片麻豆免费播放| 亚洲牲交| 日韩av在线精品观看| 日本熟女不卡视频| 激情黄色片在线观看| 国产色图乱伦| 欧美日韩黄片精品在线| 成人自拍三级在线观看| 翔田千里爆乳巨臀无码| 一级日本牲交大片好爽在线看| AV乱伦国产| 欧美综合自拍| 国产色产精品在线观看| 久久精品国产精品一区| 伊人精品久久网站| 天天操天天射天天日| 国产一区在线观看无码AV| 高清无码在线播放网站| 国产精品999zyz| 3P乱轮视频| 亚乱色| 青青操狠狠撩| 久久五月份| 大稥蕉免费视频这里只有精品| 国产人妻精品久久久一区二区三区 | 日韩乱伦AⅤ| 无码操逼视频一下| 国产欧美精选激情视频| 熟女人妇一区二区三区| 五月婷婷久久综合| 夜夜操av亚洲一区二区| 久久一区,青青青青草视频在线播放| 中文字幕亚洲欧美在线不卡| 天堂资源站| 大香蕉在线SuP| 日韩干B| 91成人无码| 蜜臀久久99精品久久久电影| 在线观看高清AV| 福利在线观看一区二区| 三级三久久线久久99久目本WW| 久久久久久人妻| 97五月天| 国产精品网站免费| 国产AB视频| 超碰吊日色| 国产9区| 性爱网站一区二区| 国产亚洲精品第一最新| 日本熟妇一区二区三区| 欧美少妇第一页| 91天天爱| 色妺妺AⅤ| 天天看夜夜看日日干| 成人a级高清视频在线观看| 亚洲色图殴美色图激情乱伦| 五月婷婷六月激情| 久久综合女优| 人妻精品一区二区三区| 无遮挡又黄又刺激的视频| 精品午夜福利国产一区二区在线观看| 亚洲91在线播放影院| 日韩免费性爱视频在线观看| 裸体女人草逼视频播放一区,二区,三区,四区,五区| 超碰天天操| 91热| 日韩免费av片高清无码| 黄色小视频日本txt| 天天日夜夜爽| 久草新免费| 久久精品国产97欧美精品亚洲 | 岛国999| 久久久久久999| 天堂v无码免费视频| 免费一级黄色录像影片| 丁香五月影院| 久久骚少妇| 久久青娱乐| 日韩精品资源专区二区| 国产无套粉嫩白浆在| 人人爽天天爽| 97在线青| 97欧美综合| 涩涩涩综合| 狠狠干狠狠色| www.AV有限公司一区| 国产2.3.4区| 99久久精品国产系列| 国产精品一级特黄aaa大片在线观看| 亚洲欧美中文日韩视频中国语| 久久久久久久极品香蕉视频| 亚洲污污网站| 最近二区三区视频大全 | 日韩三级在线观看mp4| 国产日产欧产美韩系列麻豆免费| 亚洲国产综合图区中文字幕 | www.高清无码诱惑一区.com| 中文字幕福利视频一区二区三区在线观看| 九九视频黄色片| 中文激情网| 91天天综合网,天天综合网| 国产日韩美女小穴视频网站不卡| 不卡av在线中文字幕| 久久99热这里只频精品6学生| 99久在线精品99re8a| 东京热男人天堂| 久久鲁干| 嗯嗯啊啊好疼| 中文字幕一区二区视频在线观看| 日本女人操逼| 91老熟女老女人国产老太| 清纯唯美亚洲综合| 桃花色涩综合影院| 久久爽爽精品| 日韩欧美大片免费高清啪啪| 天天日天天舔天天喷天天射| 亚州欧美综合| 国产精品自拍xxxx| 日本女厕偷拍| 啊啊啊免费| 中文自拍欧美影视| 中文字幕女同在线| 色呦呦国产精品免费看| 五月天社区| 丝袜天堂网| 日本欧美韩国国产在线| AV一二区| 亚洲美女AV无码| 欧美在线播放aaaa| 日本中文字幕熟妇| 三级AV入口| 激情四射婷婷四五月天| 欧美碰碰综合色| 久久精视频美日韩在线视频| 秋霞午夜视频一区二区| 亚洲无码电影久久久| 91综合在线| 天天操天天7| 又大又长又粗又爽又黄| 精久久久91| 91精品人| 蜜臀av中字字幕网站| 超碰地址久久| 乱人伦 国语对白:视频直接看| 国产丁香精品露脸视频| 韩国一级婬片A片AAAAA| 久久色AV线| 99精品视频在线观看免费| 涩爱AV在线| 麻豆久久一区二区三区| 欧美日韩高潮喷水91| 夜夜高潮夜夜爽夜夜爱爱一区| 凹凸久久人人| 天天躁夜夜躁狠狠躁AV| 综合操逼| 精品一国2| 搞中出久久| 884t在线| 国产亚洲精品久久久久小| 青青草吊丝| 激情婷婷综合久久| 久久久噜噜噜久久久| 国产无码成人无码| 啊视频在线| 亚洲城人男人的天堂| 亚洲天堂资源网| 天天综合精品| 东京热男人天堂| 丁香五月性爱| 亚洲黄色AV电影| 色啪网| 农村少妇久久久久久久| 国产精品一二三免费网站| 国产精品一区二区三区在线| 五月婷丁香| 校园春色亚洲| 国产不卡精品91| 超碰97欧美| 久久久久久性爱视频| 国产精品美女久久久久久网站| 久久国产99精品72福利| 在线αⅴ| 嗯嗯,好大,好爽,好骚| 家庭乱伦国产| 国产精品毛片| 中文字幕jul-617人妻熟女| 蜜汁欧美| 九九热免费在线国产视频伊人五月| 伊人一级免费黄片| 欧美日韩国产电影| 日本操BAV| 97ai亚洲| 欧美日不卡| 男女啪啪网站免费视频| 亚洲欧洲无码97久久精品| 白天啪啪晚上啪啪视频| 涩亚洲欧洲| 亚洲AV免费在线| 五十路三区在线| 狼人综合婷婷激情四射| 91精品久久久久五月天精品| 日韩三级性| 天天色播亚洲综合网站| 极品另类| 亚洲色图国产另类| 377p欧洲日本亚洲大胆| 蜜臀99久久精品久久久久久| 1956日韩精品| 国产一区免费午夜视频| 熟妇激情| 95人妻爽爽人人做人人澡| 欧美精品精品一区二区| 97se综合| 99视频内射三四| 精品无码一区二区三区色欲| 九九九九九九九九九五码| 久久久久成人亚洲国产| 91亚洲人| 久久久18禁| 自拍偷拍 日韩无码| 啊啊啊啊啊啊啊啊在线观看| 久久偷拍人| 国产精品探花视频| 狠狠干91| 91精品人妻啪啪间| julia高潮后不停追击中出| 无码区蜜乳| 蜜臀aV午夜一区二区三区| 五月丁香影视| 操操操日本的逼| 中文字幕丝袜| 欧美中文字幕一区 | 岛国黄色大片网站| 人妻少妇精品视频一区二区三区| 在线黄色污污网站| 久久婷婷色| 放黄片放3级黄片没穿衣服| 久久草视频污视频| 丁香六月天| 亚洲人妻中文在线视频| 欧美色97| 怡红院成人av| 九九热免费视频| 亚洲性爱免费电影| 亚洲黄色AV电影| 97免费视频网| 婷婷月色| 在线欧美69V免费观看视频| 精品人妻一区二区三区免费视频| 99re在线观看| 日本岛国黄色网址| 欧美一区二区三区互相| 男人天堂导航| 亚热日本熟女| 亚洲不卡AV在线| 中文字幕中文字幕一区二区| 欧美亚洲91| 亚洲人码13| 九九热九九热| 亚洲午夜av| 免费福利视频中文字幕| 日韩91网站| 色综合超碰超| 日韩精品区二区三区不卡| 国产精品亚洲一级av第二区| 妇女一区二区三区| 久久久精品中文字幕麻豆| 国产青一二三| 国产久久久久久久久一区二区 | 亚欧色图在线激情| 中文字幕熟女人妻丝袜丝| 久久熟妇五十路一区| 熟女精品一区二区三区| 国产男人又猛又粗又爽| 日本爽爽爽爽爽爽免费视频| 精品对白久久不卡| 亚洲影视高清第一页| 爱干爱射网啊啊啊| 亚洲AV无码天美传媒一区| 国产小u女在线观看| 亚洲 小说 欧美 激情 另类| 97欧美视频| 久久婷婷苹果| 欧美日韩青操| 夜夜狠狠躁日日躁色视频| 小泽玛利亚一二三| 欧美色综合影院| 日本三级一区二区 在线| 欧美性天天| 中文字幕乱妇免费视频| 粉嫩av一区二区三区四季| 嫩草 人人网精品| 神马久久久久眼| 欧美一级色| 91精品啪在线观看国产城中村| 亚洲av综合色区图片亚洲| 啪啪综合网| 97亚洲色图| 国产精品午夜福利| 久久久久久久久国产| www鬼畜国产男人的天堂| 99热这里只有精品9| www色日本| 久久精品店| 欧美老妇曰批的视频| 看免费一级在线播放毛片| 免费操逼91| 操人妻视频| 深喉吞精| 日本欧美不卡| 国产精品白丝www| 久久久国产护士丝袜美腿一| 国产精品久久久久久9999| 欧美国产一区二区三区麻豆传媒| 夜夜国产一区| 9999伦理视频| 成人网欧美风情| 91N欧美| 97精品国产97久久久久久| www.久久99| 激情综合五月| 婷婷五月天补不补| 啊啊啊啊一区| 九九视品黄色| 91超碰人人| 久久久9视频| 久热色情精品| 97精品国产97久久久久久免费| 亚洲 欧美 中文 日韩超碰| 激情综合网激情五月天| 日韩三级视频一区二区三区| 欧美视频在线第3页| 人妻啊啊人妻啊| 日韩精品99999| 电影69乱码96| 台湾佬中文娱乐自偷自拍| 大香蕉久久| 精品久久久久久亚洲| 乱人伦 国语对白:视频直接看| 综合网欧美在线| 婷婷色中文字幕| AA丁香综合激情| 91麻豆天美国产欧美| 欧美一区91大爱| 婷婷情色综合网| 欧美性区| 精品国产国产AV| 少妇极品熟妇人妻无码| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 亚洲欧美精品久| 无码人妻系列少妇| 蜜桃午夜视频一区二区| 南澳成人一级片在线播放| 日韩小电影| 免费操逼91| 青青操网| 国产成人亚洲精品无码古代早漏男| 高清成年美女黄网站免费大全 | 亚洲风情综合网| 人人妻人人澡人人爽久久av| 加勒比综合| 男人女人18禁片免费看网站| 操操逼操操逼操操逼逼| 欧美刺激色黄片免费看| 91neishe| 国产AV人人 夜夜人人澡| 日韩一级二级三级免费看完整版国语版 | 亚洲欧洲自拍图片专区满春格| 日韩激情无码影院| 九月丁香综合网| 婷婷久热| 大香蕉十区| 成人精品视频| 欧中美三级一区二区三区| 免费a v| 国产欧美精选自拍一区| 抽插无码高清一区| 久久久久久久久久久久久9999| 99国产精品久久久久久久成人热| 人妻天天爽夜夜爽2| 网友自拍第1页 | 亚州欧美在线| 综合久久97| 日韩欧美成人午夜福利| 久久女婷| 熟女自慰久久久| 土豪酒店各种姿势玩弄极品幼稚| 久久久久久久97| 蜜乳成人AV| 99热只有这里有精品| 亚码激情| 亚洲欧美一区二区不卡视频播放| 老熟乱一区二区三区四区| 百度百度日本操逼| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 97在线日韩中文字幕| 91亚洲综合| 欧美十八禁导航成人| 激情小说五月天| 少妇同性| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 日本一区视频在线观看| 国产亚洲色婷婷久久99精品91| 中文字幕加勒比海高清无码免费视频| 国产麻豆一区二三区| 青青草中文字幕| 国产精品一区午夜福利| 五月开心网| 精品人妻一区春色| 九九九九九九九九九国产精品| 国产肏逼网站| 日本99久久| 躁躁日曰躁2020| 天天综合网在线91| 神马久久久久久伦理片| 亚洲色图超碰在线| 国产自啪精品视频网站黑丝| 男啪女色黄无遮挡免费观看| 国产精品成人无码av| 亚洲色图20p| 蜜汁欧美| 精品亚洲国产成人av网站| 亚洲 欧美都市激情| 亚洲国产青青| 一级性爱视频免费观看 | 久久久久亚洲三级电影| www.婷婷| 物业黑人 AV一区| 国产日韩精品suv| 亚洲av无码成人精品国产| 国内操逼视频二区| 综合97| 国产 丝袜 欧美中文 另类| 日少妇亚洲版| 青青草依人大香蕉| 伦伦成年午夜免费视频| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 欧美78P| 国产中文字幕曰本毛片| 91 国产丝袜在线放观看| 国产乱码久久久| 精品久久久久av影院| 北京专精特新企业招聘信息| 人妻娇喘 激情视频| 另类 日韩 熟女| 亚洲欧洲精品成人| 啊啊啊好想要| 亚洲黄色影视| 狠狠爱AV| 999亚洲国产视频| 嗯……啊…嗯嗯…啊…好舒服| 国产欧美另类久久久精品课程| 亚洲一区二区三区四区视频| 亚爽爽爽爽爽爽爽爽| 粉嫩av平台| 久久久人体| 亚洲情色 自拍| 无码在线亚洲| 蘋果手機免費看成人Av| 涩综合导航| 久久久999网站| 999精品女人| 成人看片网站| 另类老少妇| 色哟哟511老熟女| 欧美激情色婷婷花野真衣一区二区 | 午夜αv| 色婷婷基地| 亚洲交换| 日本一本道A级黄色毛片试看60分钟| 性色av一区二区| 神马麻豆福利院| 99精品视频在线观看| 91中文字幕在线观看| 蜜臀操逼黄色视频操的好爽| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | CCYY草草影院地址入口| 素人美腿视频网站| 超碰95| 超91综合网| 亚洲国产熟妇综合色专区| 五月婷视频| 麻豆一区二区AV天美| 成片免费播放| 精品丰满熟妇人妻一区| 国产精品无码在线| 97久久精品不卡| 看日韩操逼| 超碰 国产熟女精品一区| 在线无码操| 超碰精品人妻狠狠干| 日韩,欧美,中文在线| 国产精品久久久久999| 国产亚州高清国产拍精| 天天爱综合网| 亚洲av影院在线观看| 丰满人妻一区| 爽极品影院| 91美女色视频亚洲| 国产精品嫩草影院免费| 亚洲情色综合网| 无码乱人伦中文视频| 亚洲男人天堂视频| 久操热| 熟妇一区二区| 日韩97视频!在线| 天天看精品动漫视频一区| 97干色天堂| 日韩精品在线视频在线观看| 国产熟女精品区| 精品成人亚洲午夜电影| 欧美日韩天堂| 秋霞曰韩R级| 国产激情在线| 2020中文字幕| a片自拍直播视频| 一区| 高跟丝袜AV专区国产| 性欧美第一页| 嗯嗯啊啊视频在线看| 91美女网站| 97视频7| 93人人操人人| 又黄又硬又粗又长国产视频| 日韩人妻精品久久久久| 黄片视频观看| 久久伦理视频久久大香蕉视频| 色乱二区| 亚洲欧美伦综合| 中文一区二区婷婷视频| 强奸乱伦免费网站| 玖玖爱伊人玖玖爱| av大香蕉| 乱伦一二三| 97在线观视频免费观看| 久久精品亚洲成a人天堂| 亚洲欧美伦综合| 嗯~啊~快点 死我视频| 色欲久久久久综合网| 日日日骚女人精品| av天堂手机版追回| 97在线观看免费视频| 欧美激情一区二区| 日本免费一级AAA大片器 | 黄色电影观看久久9| 天天操福利视频综合网站| 人人色97| av绯色| 性高潮久久久久久久久久久| 116美女午夜| 91c色| 亚洲欧美洲综合| 91天堂视频| 极品色www影院| 男人的天堂网页| 日韩资源网| 亚洲综合色网| 国产亚洲精品无码三区| av橘色网站| 精品99999久久久久久| 亚洲97久久精品亚洲| 91宗合网| 婷婷五月天无码| 婷婷色在线| 黄视频免费| 9精品久久久久| 亚洲精品欧美专业| 午夜男人一级A片7777| 黄色视频高清无码网站| 乱码人妻一区二区三区| 婷婷久草一区二区三区| 午夜超爽| 97色香蕉| 久久精品老司| 熟女乱伦二区| 午夜人人操| 中文字幕精品专区搜索结果91| 久久天天摸| 黄色区免费观看中文字幕| 男人的天堂免费| 日本男人插女人的逼黄色| 亚洲AV成人无码一区二区三区在线观看| 日韩啊V| 色综九九九一区| 欧美 综合| 久久久久9999| 国产强奸乱伦xd| 91少妇人妻| 日韩二区三四区五区六区在线看| 这里是精品| 丁香六月啪| 国产一区在线观看无码AV| 蜜臀99久| 欧美亚州色的图| 日韩中文字幕熟妇人妻| 日本日逼视频网| 美国人人操人人操| 白丝一区| 日韩欧美久久婷婷网站| 亚洲精品一卡二卡三卡福利视频网站| 999在线电影香蕉| 天天草天天干天天日| 国产又色又粗又黄又爽| 亚洲天堂加勒比| 亚州大图综合色图| 欧美大香蕉97| 亚洲情色91| 亚洲精品国产精品乱码不99| 岛国黄| 草草电影院| 乱人乱色一区二区三区免费| 成人久久久精品| 亚州色站 日韩电影| 夜夜操2028| 深田咏美亚洲精品福利社 | 欧美日韩在线国产在线| 欧美岛国精品在线观看| 亚州性色| 成人开心网在线视频| 国产成人天堂| 欧美天天综| 亚洲一区二区麻豆影院| 亚洲夜夜欢无码一区二区| 中国国产精品一区视频| 人人干人人操人人爱| 超碰欧美97| 国产av色网| 黑人与人妻| 欧美性爱一内片一区二区三区| 懂色AV一区二区三区| 免费视频a级毛片免费视频| 蜜乳AV网址| 中文字幕国产| 激情熟女12P| 欧美成人一级麻豆| 91欧美综合| 大香蕉伊人75| 啊啊啊 在线| 国产蜜臀在线| 东北操逼| 亚洲视频二区| 91欧美另类| 97色诱| 午夜呻吟欧美| 久久人妻精品| 三级三久久线久久99久目本WW| 日韩人成网站在线播放| 秋霞无码av鲁丝片一区| 中文字幕一二区二三区人妻专区| 无码免费在线观看黄色片| 亚洲精品一二牛牛| 综合亚洲欧美精品日韩?v| 91天天看| 九九热AV| 青娱乐休闲视频在线观看| 男人天堂资源| 亚洲人妻久久| 大香蕉综合网| 丰满人妻一区二区三区色-百度| 九九热三级片| 色香综合| 日日夜夜精品视频| 好色综合| 亚洲 欧美 精品专区 极品| 中文字幕欧美日韩三级| 亚洲中文字幕熟女| 国产色图乱伦| 欧美巨大性舒爽顶到了| 亚洲āv网址在线观看| 日韩综合无码一区久久92| 国产91福利小视频在线观看| 91综合色噜噜| 日韩偷拍一区二区三区| 国产精品久久久久久久电影渣男| 日韩欧美午夜一区二区| 国产啊v在线免费播放| 国产精品久久久久久无码红治院| 黄页网站免费高清在线观看| 亚洲成人久久一区二区| 天天躁日日躁XXXXYY| 激情五月天社区| 免费看一级a性色生活片久久无| 99综合免费视频| 丁香激情五月| 久久久久久久久久久久久久9999| 少妇被玩视频二三区| 熟妇女人妻呻吟久久AV| 老师充足的奶水小说| 熟女欧美日韩综合婷婷| 爱妻综合网| 超碰 国产熟女精品一区| 中文有码9| 欧美高清色| 富女玩鸭子一级毛片| 欧美一级美片在线观看免费| 国产精品麻豆免费视频| 午夜精品五区| 国产亚洲综合欧美一区| 一本一道人妻久久一区二区三区 | 一道本东京热加勒比一区二区三区| 精品美女在线视频| 欧美亚洲激情一二三| 久久中文字幕女同性恋一区| 午夜欧美精品久久久| 97色碰| 成人av在线播放| 亚洲九月丁香| 丁香六月婷婷久久综合| 蜜臀av中字字幕网站| 国精综合一二三区影视| 亚洲在钱| 蜜臀99久| 人妻干天天| 亚洲二区精品在线观看| 久久免费精彩视频| 色老汉色| 亚洲综合情色| 欧美性夜| 91P0RNY大屁股人妻| 黑人操一区二区| AV九九| 91jk色拍| 日韩人妻精品| 天天色综合影视网| 美国日韩黄片| 欧美亚洲另类在线蜜桃| 夜夜爽33333| 亚洲天堂第一页| 欧美性少妇| 亚洲综合影院| 国产麻豆福利av在线播放| 丁香五月天啪啪| 爱爱动态试试看6 0秒| 日本黄色XXX| 9丨久久九九九| 天天弄天天操| 二色av| 高跟伊人julia ann| 久久精品国产97欧美精品亚洲 | 精品网站9999| 9ⅰ久久久天天| 亚洲天堂男人网| 看大黄色大片原件| 激情六月天| 91国产美女丝袜足交精品视频| 一本色道人妻久久| 黑人美精品 A片| 五月婷婷无码| 国产二区三区粉嫩在线| 欧美日韩久久精品爱爱| 欧美性爱无码一区二区三区| www.99热| 久久大陆| 国产97免费视频| 3D污黄视频在线观看| 久99久视频精选| 死我十八禁| 天天影视色香欲综合网小说| 中文字幕在线观看二区三区| 精品国产污一区二区三区| 中日992视频| 日本爽爽爽爽爽爽免费视频| 久久五月视频| 国厂麻豆77q4| 97国产|免费| 久久青青草原免费视频| av在线资源| 国产精品久久久九九九| 屁股久久久久久| 天天日天天干天天整| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 另类图片五月天| 日本人妻伦在线中文字幕| 99热这里只有精品地址| 东北老女人的激情视频| 欧美精品庄| 日韩激情中文字幕有码| 一区二区三区男女操逼黄色小电影| 亚洲天堂另类| 久操网址| 夜夜高潮夜夜爽| 国产成人精品网站| 丰满少妇乱子伦精品无| 亚洲综合影视| 欧美激情专区| 粉嫩绯色AV一区二区在线| 第二页中文字幕| 91精品人妻一区二区三区蜜臀| 日韩人妻中文视频| 超碰 另类 欧美| 中国熟妇| 久久精品中文字幕无码l| 一区麻豆 高清中文字幕| 久久精品91| 欧美伊人久久综合网| 麻豆天美国美国产| 日产精品久久久一区二区| 日婷婷| 色色热| 白嫩妹子国产骚| 日本 色 导航| 国产夜夜操| 亚洲精品97久久| 久久久久9| 国产风韵犹存熟妇三区| 成人av影院在线观看| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 五月激情小说| 久草色在线观看| 激情小说成人日本无码一| 美欧老女人97| 国产精品爆乳懂色蜜乳| 亚洲另类综合欧美| 男人的天堂VA| 91麻豆va国产精品| 狠狠爱AV| 十八禁的黄污污免费网站| 久久久久久性爱视频| 黄片www视频免费| 久热免费视频| 欧美日日人人天天| AAAAAAAAA黄片| 亚州色站 日韩电影| 蜜臀一区二区三区在线| 男人的天堂2019AV| 加勒比综合88| 色噜噜狠狠色综合日日| 麻豆一区二区AV天美| 睡产熟女乱伦| 青青草女人天天干| 亚洲成人福利电影免费| 试看60秒| 国产精品久久久久无码A√| 欧美久久婷婷| 人人操人人插 - 百度 - 百度| 久久久不能久久久久| 精品国产乱码久久| 欧美亚洲激情小说| 91情色| 精品一区96| 久久精品国产亚洲AV先锋| 神马久久久久眼| 亚洲91色| 欧美图片偷拍| 三及片网站| 国产激情久久久| 人妻喷水| 天天躁日日躁AAAXX| 欧美体内射精| 亚卅熟女乱色| 亚洲AV永久无码精品成人调教| 日韩中文字幕二区| 久久婷婷一区| 婷婷中文字幕| 亚洲熟妇A V黑人| 天天综合~91入口| 啊啊嗯嗯好爽| 91人妻丝袜无码| 女沟厕偷窥piss小便| 天天日日日射| 免费国产电影一区二区| 精品无码一二三四区| a片久久久久久久久久久久 | 日本三级中国三级99人妇网站| 91色夜| 国产欧美第五页| 男人天堂2017| 男女91| 久久精品国产99精品亚洲蜜... | 91色堂| 韩国一级做A片免费的| 小电影欧美91| 天天综合网~69| 人人操人人93| 久久久久久久久久久久黄色| 曰韩操B| 97国产精品久久久久| 日本污ww视频网站| 91丝袜美女视频| 二区熟妇韩日| 中文字幕乱在线伦视频中文字幕乱码在线 | 操逼日韩无码 | 97亚洲综合影院| 91久久午夜无码鲁丝片久久人妻| 无码人妻精品一区二区中文| 久久九操在线观看| 超碰九色| 精品福利| 欧美色一二三| 久久久无码av精| 风韵犹存大大大大香蕉| 亚洲色堂免费视频| 十八禁av无码免费网站APP| 精吧天堂| 99免费在线视频| 国产精品爆乳懂色蜜乳| 97超视频在线观看| 午夜福利视频在线一区| 日韩有码专区| 91女在线观看| 国产av波波国产精品| 久9爱经典视频| 精品一区二区啪啪啪| AAAA级日本片免费视频| 使劲用力艹少妇视频一区二区 | 思思热影视| 农村少妇久久久久久久| 伊人97色天使| 欧美性爱日韩性爱| 女人香蕉久久毛毛片精品| 亚洲国产欧美日韩人妻日中文| 国产女人和拘做爰视频 | 久久尹人大香焦视| 欧美午夜色妇色鬼| aⅴ日韩成人电影av在线免费看av大全 | 日韩欧美中文| 久久色精品视频在线| 又黄又粗又硬又长又大| 美女黄频a美女大全免费皮| 日韩一二三区| 欧美色综合图片| 婷婷尹人大香蕉免费| 嫩呦国产一区二区三区AV| 疯操AV| 97人亚洲综合字幕| 丝袜美腿制服人妻二区中文字幕 | 国产强奸乱伦欧美| 亚洲在钱| 99re6久热只有精品6在线直播| 国产精品久久久久久久黄无码| 夜夜欢天天干| 国产亚洲日本| 超碰人人妻| 97人妻免费中文字幕| 综合亚州欧美| 亚洲永久永久永久永久一级一级一级精品| 人人摸人人添人人操 | 日han少妇无码| 五月天久久久| 操国产逼| 伊人网在线点播| 亚洲伊人久久精品狠狠在线| 看日韩操逼| 91啦人妻| 人妻激情视频| 国产精品网站www| 99综合视频一体| 久久久久亚洲av综合波多野制衣| henhen91| 亭亭在线资源| 精品网站9999| www.色99| 亚洲图片激情综合另类| 亚洲久久久| 夜夜骑天天燥| 狠狠狠一区二区三区| 亚洲码专区| 国产精品无码成人精品| 国产sv美女内射| 中文字幕人乱码中文字的预防方法 | 色五月av| av日韩国产一区二区| 国产精品 视频| 97jingpin| 欧美大香蕉97| 91精品久久久久久综合五月天| 国产热RE99久久6国产精品首| 高清视频一区| 人妻熟妇久草在线| 俺去久久| av凤凰久久久| 51国产午夜精品视频| 黑人在线91| 亚洲精品白丝| 美日韩一卡二卡三卡免费人妻精品| 欧美日韩性爱无码| 国产精品久久久久久亚洲色欲| 国产精品乱码久久久久久久久| 97色97好| 日韩人妻资源在线看| 懂色av色欲av蜜臀av| 日韩欧美性吧婷婷乱伦大香蕉| 青青三级视频| 丝袜综合色图| 久久久久久久久久久久久久久性生活视频| 女同性恋久久| 欧美性爱第一区| 亚洲一区日韩精品中文字幕| 中文字幕视频二区| 天天躁夜夜躁狠狠躁AV| 330dv亚洲成年视频网| 久7色| 大香蕉520| 中文字幕精品资源在线| www.99中文字幕| 国模无码人体一区二区三| 超碰九7| 国产精品久久久亚洲第一牛牛_在线观看| 试看60秒| 天天操人人操骚逼网站| 嗯嗯啊啊操死我|