亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

ZYNQ Flash燒寫(xiě)全攻略:從BOOT.bin到在線升級(jí)的避坑指南

ZYNQ Flash燒寫(xiě)全攻略:從BOOT.bin到在線升級(jí)的避坑指南 在ZYNQ的開(kāi)發(fā)流程里把程序固化到Flash這步幾乎每個(gè)人都會(huì)栽幾次跟頭。哪怕你已經(jīng)把PL端和PS端的工程調(diào)得穩(wěn)穩(wěn)當(dāng)當(dāng)只要沒(méi)把鏡像寫(xiě)進(jìn)Flash板子一斷電就回到解放前一切都得重新來(lái)過(guò)。這篇東西不聊虛的就從“為什么燒寫(xiě)老失敗”和“到底該怎么燒”這兩個(gè)角度把ZYNQ燒寫(xiě)Flash這件事拆開(kāi)揉碎講清楚。這篇內(nèi)容適合剛拿到ZYNQ開(kāi)發(fā)板、準(zhǔn)備從JTAG調(diào)試轉(zhuǎn)向固化啟動(dòng)的工程師也適合那些已經(jīng)燒過(guò)幾次但偶爾還會(huì)被“Target DLL has been cancelled”這類報(bào)錯(cuò)折磨的老手。我會(huì)把鏡像組成、燒寫(xiě)方式選型、完整實(shí)操步驟、NAND與QSPI的差異、高頻報(bào)錯(cuò)排查以及在線升級(jí)的擴(kuò)展思路都過(guò)一遍。你可以把它當(dāng)成一份可以直接抄作業(yè)的手冊(cè)遇到問(wèn)題回來(lái)翻對(duì)應(yīng)章節(jié)就行。1. 燒寫(xiě)之前先搞清楚ZYNQ啟動(dòng)鏡像里裝了什么很多人上來(lái)就點(diǎn)“Program Flash Memory”燒完發(fā)現(xiàn)板子起不來(lái)然后開(kāi)始懷疑Flash壞了、懷疑焊接虛了、懷疑人生。其實(shí)大部分情況下不是硬件問(wèn)題而是根本沒(méi)搞清楚ZYNQ的啟動(dòng)流程和鏡像結(jié)構(gòu)。這塊必須先從根上講明白。1.1 一條完整的啟動(dòng)鏈BootROM、FSBL、SSBL與AppZYNQ-7000的啟動(dòng)流程是固定的三段式。芯片上電后片內(nèi)固化的BootROM會(huì)先根據(jù)MIO引腳上的啟動(dòng)模式設(shè)置決定從QSPI、NAND、SD還是JTAG加載下一級(jí)鏡像。BootROM本身只有192KB左右它干不了太多事只負(fù)責(zé)把第一級(jí)引導(dǎo)程序搬進(jìn)片內(nèi)OCMOn-Chip Memory通常只有256KB并跳轉(zhuǎn)過(guò)去。這第一級(jí)引導(dǎo)程序就是我們常說(shuō)的FSBLFirst Stage Boot Loader。FSBL由Xilinx提供源碼在SDK里編譯工程時(shí)會(huì)自動(dòng)生成。它完成的工作很明確初始化PS端的必要外設(shè)比如MIO、DDR、GIC中斷控制器等加載PL端的bitstream如果需要的話然后把SSBLSecond Stage Boot Loader一般是U-Boot或者裸機(jī)App從啟動(dòng)介質(zhì)搬運(yùn)到DDR里最后跳轉(zhuǎn)執(zhí)行。后面的事就看你的系統(tǒng)設(shè)計(jì)了。跑Linux的話SSBL就是U-Boot再由U-Boot引導(dǎo)內(nèi)核和設(shè)備樹(shù)跑裸機(jī)或RTOSFSBL可以直接跳轉(zhuǎn)到你的應(yīng)用程序。整個(gè)鏈條里任何一環(huán)出了問(wèn)題板子就表現(xiàn)為“沒(méi)反應(yīng)”“串口無(wú)輸出”或者“啟動(dòng)到一半卡死”。1.2 BOOT.bin是怎么生成的Bootgen與BIF文件燒寫(xiě)之前必須先把多個(gè)鏡像打包成一個(gè)文件。Xilinx的工具叫Bootgen在Vivado SDK里通過(guò)“Create Boot Image”界面操作本質(zhì)上是在調(diào)用一條bootgen命令行。打包所需的輸入至少包含F(xiàn)SBL的elf文件再加上你想加載的bitstream和應(yīng)用程序elf或U-Boot輸出結(jié)果就是BOOT.bin。如果你不想每次都在GUI里點(diǎn)來(lái)點(diǎn)去可以直接寫(xiě)B(tài)IF文件然后用命令打包。一個(gè)典型的BIF文件長(zhǎng)這樣the_ROM_image: { [bootloader] ./fsbl.elf ./system.bit ./u-boot.elf }然后在命令行執(zhí)行bootgen -image boot.bif -o i BOOT.BIN -w on-w on表示覆蓋已存在的同名文件。這個(gè)流程在PetaLinux里也被封裝好了平時(shí)我們生成BOOT.bin其實(shí)就是同一套邏輯。關(guān)鍵是理解BOOT.bin不是單個(gè)程序而是一個(gè)按BootROM和FSBL約定格式組織起來(lái)的鏡像容器順序、地址、校驗(yàn)都不能亂。1.3 啟動(dòng)模式選擇QSPI、NAND、SD與JTAGZYNQ的啟動(dòng)模式是通過(guò)MIO[6:2]引腳電平組合決定的。不同板子可能拉高拉低的配置不一樣但只要明白一點(diǎn)硬件上把啟動(dòng)模式設(shè)置成什么BootROM就從什么介質(zhì)去讀鏡像。QSPI模式從片外QSPI Flash讀取BOOT.bin適合量產(chǎn)和小型系統(tǒng)。NAND模式從NAND Flash讀取適合大容量存儲(chǔ)需求的場(chǎng)景。SD模式從SD卡啟動(dòng)開(kāi)發(fā)階段非常方便改完鏡像直接換卡或者重新拷入即可。JTAG模式不加載非易失存儲(chǔ)直接用JTAG把FSBL和App灌進(jìn)芯片用于調(diào)試。開(kāi)發(fā)階段建議先做SD卡啟動(dòng)或JTAG調(diào)試把邏輯和軟件都調(diào)穩(wěn)了最后再做Flash固化。千萬(wàn)別一上來(lái)就往Flash燒否則每次改一點(diǎn)都要擦寫(xiě)一次浪費(fèi)時(shí)間不說(shuō)Flash的擦寫(xiě)次數(shù)雖然多但沒(méi)必要這么糟蹋。2. 燒寫(xiě)方式選型不是只有JTAG一條路“燒寫(xiě)到Flash”這個(gè)動(dòng)作本身在實(shí)際工程里有好幾種實(shí)現(xiàn)路徑。每種方式的適用場(chǎng)景、前置條件和風(fēng)險(xiǎn)都不一樣選錯(cuò)了會(huì)非常難受。2.1 JTAG燒寫(xiě)最直接、最適合開(kāi)發(fā)階段JTAG燒寫(xiě)就是通過(guò)Xilinx的Vivado Hardware Manager或者SDK的“Program Flash Memory”功能把鏡像文件直接寫(xiě)進(jìn)連接在ZYNQ上的Flash芯片。這種方式不需要先在板子上跑任何程序只要JTAG鏈路通、Flash型號(hào)被工具識(shí)別就能寫(xiě)。它的優(yōu)點(diǎn)是操作簡(jiǎn)單、無(wú)需預(yù)先燒入引導(dǎo)程序非常適合開(kāi)發(fā)初期驗(yàn)證鏡像。缺點(diǎn)是速度慢尤其大容量Flash寫(xiě)起來(lái)非常磨人另外它對(duì)Flash型號(hào)和連接有要求不是所有板子都能被工具自動(dòng)識(shí)別。我見(jiàn)過(guò)有人用JTAG燒寫(xiě)128Mb的QSPI Flash光寫(xiě)鏡像就花了快二十分鐘中途還因?yàn)閁SB線接觸不良斷了一次整個(gè)人心態(tài)都崩了。2.2 U-Boot下燒寫(xiě)量產(chǎn)與現(xiàn)場(chǎng)恢復(fù)的利器如果板子上已經(jīng)有一份能正常啟動(dòng)的U-Boot那后續(xù)的Flash燒寫(xiě)就簡(jiǎn)單多了。U-Boot里自帶Flash操作命令配合TFTP或者FAT文件系統(tǒng)可以把新鏡像下載到DDR再?gòu)腄DR寫(xiě)入Flash。整個(gè)過(guò)程不用重新連接JTAG甚至可以通過(guò)網(wǎng)絡(luò)遠(yuǎn)程操作。在U-Boot命令行里QSPI Flash的常見(jiàn)操作是這組命令的組合# 探測(cè)QSPI Flash確認(rèn)型號(hào)和大小 sf probe # 通過(guò)TFTP下載BOOT.bin到DDR地址0x10000000 tftp 0x10000000 BOOT.bin # 擦除從0地址開(kāi)始、大小1MB的Flash區(qū)域 sf erase 0x0 0x100000 # 把DDR里的數(shù)據(jù)寫(xiě)入Flash sf write 0x10000000 0x0 0x100000這套流程看起來(lái)簡(jiǎn)單但有幾個(gè)細(xì)節(jié)要注意。sf erase的地址和長(zhǎng)度必須按照Flash的扇區(qū)或塊大小對(duì)齊不同型號(hào)的擦除粒度不一樣。另外TFTP下載前要在U-Boot里設(shè)好IP地址、掩碼和服務(wù)器地址否則文件拉不下來(lái)。2.3 系統(tǒng)內(nèi)升級(jí)在線升級(jí)設(shè)計(jì)的基礎(chǔ)再進(jìn)一步如果設(shè)備已經(jīng)部署到現(xiàn)場(chǎng)總不能每次升級(jí)都拆機(jī)接JTAG這時(shí)候就需要設(shè)計(jì)一套在線升級(jí)機(jī)制。常見(jiàn)做法是讓運(yùn)行中的系統(tǒng)Linux或RTOS接收升級(jí)包寫(xiě)入一個(gè)固定的升級(jí)分區(qū)然后重啟進(jìn)入U(xiǎn)-Boot由U-Boot判斷升級(jí)標(biāo)志并把新鏡像搬到啟動(dòng)分區(qū)。在線升級(jí)的復(fù)雜度等級(jí)比普通燒寫(xiě)高不少但它幾乎是量產(chǎn)產(chǎn)品的必經(jīng)之路。這塊我在第6節(jié)再展開(kāi)講現(xiàn)在先記住一個(gè)結(jié)論JTAG燒寫(xiě)是手段U-Boot燒寫(xiě)是效率在線升級(jí)才是量產(chǎn)正解。3. 完整實(shí)操Vivado SDK JTAG燒寫(xiě)QSPI Flash一步步來(lái)現(xiàn)在進(jìn)入正題講一套我從頭到尾實(shí)測(cè)過(guò)多次的操作流程。這套流程適用于絕大多數(shù)ZYNQ-7000開(kāi)發(fā)板Flash型號(hào)以常見(jiàn)的Winbond W25Q128、Micron N25Q128、ISSI IS25LP128等QSPI Nor Flash為例。3.1 環(huán)境準(zhǔn)備與硬件檢查動(dòng)手之前先把環(huán)境和硬件狀態(tài)確認(rèn)一遍這能省掉后面九成的問(wèn)題。軟件方面Vivado和SDK的版本要對(duì)應(yīng)我目前常用Vivado 2020.2和2023.1兩種版本的SDK界面略有差異但核心操作邏輯一致。目標(biāo)板通過(guò)JTAG仿真器連到電腦常見(jiàn)的有Xilinx原廠Platform Cable USB II、Digilent JTAG-HS3或者板載的FTDI芯片大多數(shù)國(guó)產(chǎn)開(kāi)發(fā)板是這個(gè)方案。硬件方面重點(diǎn)檢查三件事板子供電正常核心電壓、DDR電壓、IO電壓都穩(wěn)定。如果板子上有電流表養(yǎng)成上電后看一眼電流的習(xí)慣ZYNQ空載跑FSBL時(shí)的電流一般在幾百毫安級(jí)別電流異常偏低說(shuō)明DDR都沒(méi)初始化直接燒寫(xiě)大概率失敗。JTAG鏈路通暢。打開(kāi)Vivado Hardware Manager能看到設(shè)備列表里有xc7z010、xc7z020之類的芯片編號(hào)同時(shí)能看到連接的Flash型號(hào)老版本SDK需要把Flash型號(hào)也加入掃描鏈。如果這里看不到設(shè)備先別急著燒查USB線、驅(qū)動(dòng)和仿真器供電。啟動(dòng)模式跳線設(shè)置在正確的位置。如果你的板子當(dāng)前啟動(dòng)模式在SD卡或者NAND而你要燒QSPI最好把跳線撥到QSPI模式再操作。這不是燒寫(xiě)動(dòng)作本身需要而是為了避免燒完后驗(yàn)證時(shí)啟動(dòng)介質(zhì)不對(duì)讓人誤以為燒寫(xiě)失敗。3.2 打開(kāi)Program Flash Memory并選擇鏡像在Vivado SDK中點(diǎn)擊菜單欄Xilinx - Program Flash Memory會(huì)彈出燒寫(xiě)對(duì)話框。這個(gè)對(duì)話框里的選項(xiàng)就是整個(gè)燒寫(xiě)動(dòng)作的核心參數(shù)。第一個(gè)要選的是Image File也就是你要燒寫(xiě)的鏡像文件。它可以是BOOT.bin也可以是MCS文件甚至可以是單獨(dú)的BIN文件。我的習(xí)慣是直接燒BOOT.bin因?yàn)樗現(xiàn)SBL、bitstream和U-Boot一次燒完省事。第二個(gè)要選的是Flash Type。SDK會(huì)根據(jù)JTAG鏈上的設(shè)備自動(dòng)識(shí)別常見(jiàn)的是qspi-x4-single如果工具識(shí)別不出來(lái)就需要手動(dòng)選擇。這里要注意如果你的硬件設(shè)計(jì)里QSPI Flash連接在MIO1-6上且使用了x4模式就選qspi-x4-single如果只用了single模式選qspi-x1-single。選錯(cuò)的話燒寫(xiě)可能能完成但啟動(dòng)時(shí)BootROM讀不到正確數(shù)據(jù)。第三個(gè)必選的是FSBL File。SDK燒寫(xiě)Flash時(shí)并不像燒寫(xiě)裸機(jī)程序那樣直接把鏡像扔進(jìn)Flash而是需要一個(gè)中間代理程序先把FSBL加載到OCM里運(yùn)行起來(lái)由FSBL來(lái)初始化PS端的外設(shè)尤其是QSPI控制器然后再由運(yùn)行在PS上的FSBL把鏡像數(shù)據(jù)寫(xiě)入Flash。所以這里選擇的FSBL文件必須和當(dāng)前硬件匹配。它可以是SDK里任何能編譯通過(guò)且用到了當(dāng)前硬件的fsbl工程生成的elf。如果選擇錯(cuò)誤燒寫(xiě)過(guò)程會(huì)報(bào)各種莫名其妙的錯(cuò)誤比如第5節(jié)會(huì)講的“Target DLL has been cancelled”十有八九就出在這個(gè)FSBL上。3.3 關(guān)鍵參數(shù)地址、擦除與校驗(yàn)策略Flash起始地址默認(rèn)是0x0通常不需要改。如果你的設(shè)計(jì)里把BOOT.bin放在了Flash的非零偏移處那你要確保BootROM的相應(yīng)啟動(dòng)模式支持這個(gè)偏移否則就是自己給自己挖坑。做開(kāi)發(fā)時(shí)一律從0地址開(kāi)始最穩(wěn)妥。燒寫(xiě)操作里還有幾個(gè)選項(xiàng)需要注意Blank Check空檢查燒寫(xiě)前檢查目標(biāo)區(qū)域是否為空可以提前發(fā)現(xiàn)Flash擦除是否徹底。Erase Before Programming擦除后再編程建議勾選。Flash只能從1寫(xiě)0如果不先擦除直接寫(xiě)入會(huì)殘留舊數(shù)據(jù)導(dǎo)致校驗(yàn)失敗。Verify After Programming燒寫(xiě)后校驗(yàn)強(qiáng)烈建議勾選。燒寫(xiě)完成后回讀Flash數(shù)據(jù)與原始鏡像逐字節(jié)比對(duì)能從硬件層面確認(rèn)鏡像完整。我遇到過(guò)一次燒寫(xiě)過(guò)程顯示完成但板子死活起不來(lái)的情況后來(lái)發(fā)現(xiàn)是忘記了勾選Verify而實(shí)際上Flash的某個(gè)扇區(qū)因?yàn)閴膲K導(dǎo)致數(shù)據(jù)寫(xiě)入失敗。從那以后我的燒寫(xiě)參數(shù)都固定勾選Erase和Verify一次燒寫(xiě)多花幾十秒但換來(lái)的是可靠的結(jié)果值。3.4 順利燒寫(xiě)時(shí)你會(huì)看到的日志點(diǎn)擊OK后SDK的Console窗口會(huì)輸出一系列信息。正常流程大致是這樣Connecting to target... -----開(kāi)始燒寫(xiě)----- FSBL文件加載成功 Offset: 0x00000000, Size: 0x000A0000 擦除Flash... 編程Flash... 校驗(yàn)Flash... Flash編程完成。注意中間如果出現(xiàn)任何紅色的Error都別繼續(xù)往下走了先停下來(lái)分析原因。有一類錯(cuò)誤是Flash ID沒(méi)被識(shí)別到可能是因?yàn)镕lash型號(hào)不在Xilinx的列表里也可能是因?yàn)榘遄拥腇lash供電沒(méi)給上。遇到這類錯(cuò)誤先確認(rèn)硬件再折騰軟件順序別搞反。4. 換個(gè)介質(zhì)NAND Flash燒寫(xiě)要點(diǎn)與型號(hào)適配QSPI Nor Flash是ZYNQ開(kāi)發(fā)板最常見(jiàn)的配置但在實(shí)際產(chǎn)品里NAND Flash也開(kāi)始用得越來(lái)越多。原因很簡(jiǎn)單同樣是幾十塊錢的成本NAND能買到幾Gb甚至幾十Gb的容量而QSPI Nor通常到128Mb16MB就差不多到頭了。如果你的系統(tǒng)需要存儲(chǔ)大量數(shù)據(jù)比如嵌入式數(shù)據(jù)庫(kù)、本地緩存、歷史記錄等NAND幾乎是必然選擇。4.1 ZYNQ對(duì)NAND的支持情況與型號(hào)選擇ZYNQ-7000系列內(nèi)部集成了NAND控制器支持ONFI 1.0兼容的SLC NAND Flash。這里要?jiǎng)澲攸c(diǎn)是SLC不是MLC也不是TLC。雖然市面上一些MLC型號(hào)物理上也能用但Xilinx的FSBL和驅(qū)動(dòng)并沒(méi)有針對(duì)MLC做完整的壞塊管理、位翻轉(zhuǎn)處理和ECC校驗(yàn)支持強(qiáng)行使用風(fēng)險(xiǎn)極高現(xiàn)場(chǎng)出了問(wèn)題非常難查。選型上推薦Micron的MT29F系列、Winbond的W29N系列、Spansion現(xiàn)Cypress/Infineon的S34ML系列。容量方面256MB到1GB范圍的產(chǎn)品在ZYNQ系統(tǒng)里用得最多太大容量反而會(huì)引入頁(yè)映射和分區(qū)管理復(fù)雜度收益不大。另外要注意NAND對(duì)FSBL的要求比QSPI高不少。QSPI模式下FSBL只要能把鏡像讀出來(lái)就行簡(jiǎn)單粗暴NAND模式下FSBL必須處理ECC校驗(yàn)和壞塊跳過(guò)Xilinx提供的FSBL源碼里默認(rèn)帶了這些功能但前提是你選了正確的BSP配置。如果在創(chuàng)建FSBL工程時(shí)沒(méi)有選對(duì)NAND驅(qū)動(dòng)參數(shù)燒寫(xiě)出來(lái)的鏡像即使寫(xiě)進(jìn)Flash啟動(dòng)時(shí)也會(huì)因?yàn)镋CC校驗(yàn)失敗而卡住。4.2 NAND燒寫(xiě)的坑用Vivado SDK的Program Flash Memory燒寫(xiě)NAND整體流程和燒QSPI幾乎一樣都是先加載FSBL再寫(xiě)Flash但有幾個(gè)非常折磨人的差異點(diǎn)。首先是速度NAND的編程單位是頁(yè)P(yáng)age典型頁(yè)大小是2KB或4KB雖然單頁(yè)編程時(shí)間只有幾百微秒但批量寫(xiě)入時(shí)要不斷照管ECC和壞塊實(shí)測(cè)下來(lái)速度往往只有QSPI的幾分之一。其次是擦除和寫(xiě)入的粒度不同。不管QSPI還是NAND操作前都要擦除但NAND的擦除單位是塊Block一個(gè)塊通常是64頁(yè)或128頁(yè)即128KB或256KB。如果你只想更新部分?jǐn)?shù)據(jù)也必須整塊擦除再整體寫(xiě)入這對(duì)在線升級(jí)的分區(qū)設(shè)計(jì)有很大影響。第三是壞塊處理。NAND出廠就可能有壞塊使用過(guò)程中還會(huì)產(chǎn)生新壞塊。SDK燒寫(xiě)NAND時(shí)如果遇到壞塊會(huì)報(bào)錯(cuò)終止不會(huì)自動(dòng)跳過(guò)這意味著你燒寫(xiě)前必須確保目標(biāo)區(qū)域沒(méi)有壞塊否則就要用專門(mén)的燒寫(xiě)工具或U-Boot下的nand命令來(lái)寫(xiě)。我實(shí)際工作中燒NAND基本都是走U-Boot很少直接用SDK。在U-Boot下燒寫(xiě)NAND的命令組合長(zhǎng)這樣# 從TFTP下載鏡像到DDR tftp 0x20000000 BOOT.bin # 擦除NAND從0地址開(kāi)始、大小1MB的區(qū)域 nand erase 0x0 0x100000 # 寫(xiě)入NAND nand write 0x20000000 0x0 0x100000NAND的ECC模式一般由FSBL或U-Boot在啟動(dòng)時(shí)配置好燒寫(xiě)前用nand info確認(rèn)當(dāng)前ECC方式與Flash顆粒匹配避免校驗(yàn)失敗。4.3 大容量Flash的分區(qū)規(guī)劃建議NAND容量大了以后必然要涉及分區(qū)規(guī)劃。我的建議是整個(gè)Flash按用途分成三個(gè)區(qū)啟動(dòng)鏡像區(qū)存放BOOT.bin大小1-2MB內(nèi)核與設(shè)備樹(shù)區(qū)如果采用U-Boot從NAND引導(dǎo)內(nèi)核需要單獨(dú)劃分大小幾十MB用戶數(shù)據(jù)區(qū)剩余全部空間按文件系統(tǒng)或裸數(shù)據(jù)管理。分區(qū)規(guī)劃這件事最好在設(shè)計(jì)階段就定下來(lái)別等軟件寫(xiě)完了再補(bǔ)否則后面一次升級(jí)就要重新設(shè)計(jì)方案改起來(lái)牽一發(fā)動(dòng)全身。5. 高頻報(bào)錯(cuò)實(shí)錄與排查方法這部分是整篇文章里我最有底氣的地方因?yàn)橄旅孢@些錯(cuò)誤我基本都親手踩過(guò)有的坑踩完還特意復(fù)現(xiàn)了幾次就是為了搞清楚根因。按出現(xiàn)頻率從高到低我把最典型的幾個(gè)報(bào)錯(cuò)和排查思路整理出來(lái)。5.1 ErrorFlash download failed - Target DLL has been cancelled這個(gè)報(bào)錯(cuò)在SDK燒寫(xiě)時(shí)出現(xiàn)頻率極高而且原因非常多。Target DLL被取消本質(zhì)上是燒寫(xiě)過(guò)程中JTAG鏈路或目標(biāo)芯片狀態(tài)出現(xiàn)了異常導(dǎo)致工具無(wú)法繼續(xù)控制目標(biāo)。我總結(jié)下來(lái)最常見(jiàn)的原因是FSBL文件有問(wèn)題。前面說(shuō)過(guò)燒寫(xiě)Flash時(shí)SDK會(huì)先把FSBL加載到OCM運(yùn)行由FSBL初始化QSPI/NAND控制器。如果你的FSBL不匹配芯片初始化到一半就卡死了JTAG自然無(wú)法繼續(xù)操作于是報(bào)Target DLL cancelled。排查順序是這樣確認(rèn)JTAG能正常連接目標(biāo)芯片單獨(dú)用Hardware Manager做一次設(shè)備掃描如果掃描都失敗先解決連接問(wèn)題。確認(rèn)選擇的FSBL文件正確。最穩(wěn)妥的做法是在SDK里專門(mén)創(chuàng)建或打開(kāi)一個(gè)與當(dāng)前硬件對(duì)應(yīng)的fsbl工程編譯一次然后選這個(gè)elf文件。檢查板子的啟動(dòng)模式引腳。有些板子在JTAG模式下會(huì)禁用某些時(shí)鐘導(dǎo)致FSBL加載后初始化外部存儲(chǔ)失敗。把啟動(dòng)模式臨時(shí)切到QSPI或者SD往往能繞開(kāi)這個(gè)問(wèn)題。用示波器或邏輯分析儀看Flash的片選信號(hào)和時(shí)鐘確認(rèn)FSBL運(yùn)行過(guò)程中確實(shí)產(chǎn)生了預(yù)期的讀寫(xiě)時(shí)序。5.2 ErrorA valid FSBL file is required for flash operation這個(gè)報(bào)錯(cuò)就直白多了SDK在燒寫(xiě)Flash前必須有一個(gè)FSBL文件作為代理你沒(méi)給或者給的文件無(wú)效它就罷工。正常情況下在Program Flash Memory對(duì)話框里選擇FSBL File為fsbl.elf即可。但有幾種情況要注意如果SDK工程被build過(guò)一次后又改了硬件平臺(tái)舊的fsbl.elf可能引用了已經(jīng)不存在的硬件描述直接報(bào)錯(cuò)還有就是把不同版本的fsbl.elf混用比如Vivado 2019.2生成的elf拿到2023.1里用大概率也會(huì)報(bào)錯(cuò)。解決辦法就是重新編譯一份當(dāng)前工程對(duì)應(yīng)的fsbl.elf。5.3 擦除失敗或超時(shí)QSPI Flash的擦除是按扇區(qū)通常4KB或塊通常64KB進(jìn)行的。如果你的鏡像跨了多個(gè)扇區(qū)邊界SDK會(huì)逐步擦除在這個(gè)過(guò)程中如果Flash電壓不穩(wěn)或時(shí)鐘頻率過(guò)高擦除操作可能超時(shí)或失敗。這類問(wèn)題一個(gè)非常常見(jiàn)的誘因是電源質(zhì)量。ZYNQ開(kāi)發(fā)板上3.3V給Flash供電如果板上電源波動(dòng)大Flash在擦除過(guò)程中進(jìn)入低電壓鎖定狀態(tài)就會(huì)表現(xiàn)為擦除失敗。排查方法很簡(jiǎn)單擦除時(shí)用示波器監(jiān)測(cè)3.3V電源軌看有沒(méi)有掉坑。另一個(gè)因素是JTAG頻率過(guò)高。SDK里可以設(shè)置JTAG時(shí)鐘頻率如果冗余太少把頻率從默認(rèn)的15MHz降到6MHz或者3MHz往往能解決很多莫名其妙的失敗。別嫌慢Flash燒寫(xiě)本來(lái)就不是一個(gè)追求速度的操作。5.4 燒完了卻啟動(dòng)不了燒寫(xiě)完成后啟動(dòng)失敗這個(gè)是排查難度最大的問(wèn)題因?yàn)闊龑?xiě)環(huán)節(jié)一切正常報(bào)錯(cuò)卻在啟動(dòng)階段。按我的經(jīng)驗(yàn)檢查優(yōu)先級(jí)如下啟動(dòng)模式引腳設(shè)置是否正確。最常見(jiàn)的情況就是跳線還留在JTAG模式或者SD模式BootROM根本不會(huì)去讀Flash。鏡像內(nèi)容是否完整。用Hardware Manager讀回Flash數(shù)據(jù)和原始BOOT.bin比對(duì)看有沒(méi)有漏數(shù)據(jù)。如果用的是舊版SDK有時(shí)候擦除后寫(xiě)入的數(shù)據(jù)會(huì)在尾部截?cái)啾葘?duì)能直接發(fā)現(xiàn)。FSBL里DDR初始化是否匹配。如果你的BOOT.bin里的FSBL是從某個(gè)模板工程生成的而模板的DDR顆粒和實(shí)際板子不一樣FSBL在初始化DDR時(shí)失敗后續(xù)的U-Boot或App根本沒(méi)法跑起來(lái)。bitstream是否真正被加載。有的設(shè)計(jì)里PL被配置成user modeFSBL加載完bitstream后繼續(xù)跑軟件如果bitstream本身有問(wèn)題可能系統(tǒng)看起來(lái)啟動(dòng)了但外設(shè)不工作。這種情況可以單獨(dú)燒一個(gè)只含bitstream的鏡像來(lái)驗(yàn)證PL部分。5.5 制作SD卡啟動(dòng)鏡像的補(bǔ)充說(shuō)明不少人一看到“flash燒寫(xiě)”就以為只能往Flash里寫(xiě)其實(shí)ZYNQ從SD卡啟動(dòng)也是開(kāi)發(fā)調(diào)試階段的常用手段。制作SD卡啟動(dòng)卡的過(guò)程實(shí)際上也是把BOOT.bin、boot.scr、image.ub等文件放進(jìn)FAT分區(qū)和“燒寫(xiě)”概念上類似只是介質(zhì)變了。用PetaLinux時(shí)一條命令就能完成打包petalinux-package --boot --fsbl --fpga --u-boot --force生成BOOT.bin之后把BOOT.bin、boot.scr、image.ub拷貝到SD卡第一個(gè)FAT分區(qū)把啟動(dòng)模式撥到SD上電就能啟動(dòng)。這套流程對(duì)調(diào)試內(nèi)核配置特別方便改內(nèi)核只需要替換image.ub幾十秒就能完成一輪啟動(dòng)測(cè)試比反復(fù)擦寫(xiě)Flash高效太多。5.6 高頻錯(cuò)誤速查表錯(cuò)誤現(xiàn)象最可能原因首要排查動(dòng)作Flash download failed - Target DLL cancelledFSBL不匹配或JTAG鏈路不穩(wěn)確認(rèn)FSBL并降低JTAG頻率A valid FSBL file is required未選或選錯(cuò)FSBL選擇當(dāng)前工程的fsbl.elf燒寫(xiě)完成但校驗(yàn)失敗Flash擦除不徹底或?qū)懭霑r(shí)序問(wèn)題勾選Erase Before Programming啟動(dòng)無(wú)反應(yīng)Boot模式引腳錯(cuò)誤或鏡像不完整檢查跳線并回讀比對(duì)FlashU-Boot下sf probe失敗QSPI Flash型號(hào)不支持或硬件連接錯(cuò)誤檢查原理圖和Flash供電6. 進(jìn)階思路基于ZYNQ的Bootloader在線升級(jí)設(shè)計(jì)聊完燒寫(xiě)本身我再延伸一個(gè)每個(gè)產(chǎn)品化項(xiàng)目都躲不開(kāi)的話題在線升級(jí)。調(diào)試階段用JTAG燒寫(xiě)、用SD卡啟動(dòng)都沒(méi)問(wèn)題但產(chǎn)品一旦部署出去在線升級(jí)就是剛需。下面這套方案是我在多個(gè)項(xiàng)目里落地過(guò)的直接參考即可。6.1 為什么要做在線升級(jí)設(shè)備部署在現(xiàn)場(chǎng)以后不可能每次更新固件都派人拆機(jī)接JTAG。哪怕只是改一個(gè)參數(shù)如果系統(tǒng)架構(gòu)不支持在線升級(jí)工程師就得背著電腦、仿真器和一把螺絲刀出差成本極高。在線升級(jí)的本質(zhì)是讓運(yùn)行中的系統(tǒng)自己把新鏡像寫(xiě)進(jìn)Flash然后在下次啟動(dòng)時(shí)切換到新版本。這個(gè)需求的工程難點(diǎn)在于可靠性。升級(jí)過(guò)程中如果掉電、斷網(wǎng)、鏡像損壞設(shè)備就變磚了。所以設(shè)計(jì)在線升級(jí)方案時(shí)核心要解決的不是“能不能升級(jí)”而是“升級(jí)失敗后能不能恢復(fù)”。6.2 一個(gè)實(shí)用的分區(qū)方案我常用的分區(qū)方案是這樣的QSPI或NAND的起始區(qū)域放一個(gè)固定不變的Boot區(qū)里面是BootROM所需的FSBL和U-Boot。這個(gè)區(qū)域平時(shí)不參與升級(jí)除非是重大架構(gòu)調(diào)整否則永遠(yuǎn)不動(dòng)。Boot區(qū)之后劃分兩個(gè)App區(qū)A區(qū)和B區(qū)交替存放應(yīng)用程序鏡像。當(dāng)前運(yùn)行在A區(qū)新版本就寫(xiě)到B區(qū)寫(xiě)入完成后置一個(gè)升級(jí)標(biāo)志重啟后U-Boot讀取標(biāo)志引導(dǎo)B區(qū)。如果B區(qū)啟動(dòng)失敗U-Boot回滾引導(dǎo)A區(qū)設(shè)備回到舊版本依然可用。這個(gè)方案在業(yè)界叫A/B分區(qū)或雙備份系統(tǒng)實(shí)現(xiàn)起來(lái)不復(fù)雜但對(duì)啟動(dòng)流程的理解要求比較高U-Boot需要能從環(huán)境變量或特定Flash地址讀取“下次啟動(dòng)哪個(gè)分區(qū)”的標(biāo)志。6.3 實(shí)現(xiàn)要點(diǎn)升級(jí)流程的落地路徑大概是這樣的運(yùn)行在Linux或RTOS中的應(yīng)用從服務(wù)器下載新鏡像到文件系統(tǒng)寫(xiě)入換一個(gè)分區(qū)寫(xiě)鏡像然后設(shè)置啟動(dòng)標(biāo)志最后觸發(fā)重啟。U-Boot側(cè)需要定制啟動(dòng)腳本讀取標(biāo)志位并引導(dǎo)對(duì)應(yīng)分區(qū)的鏡像。有幾個(gè)細(xì)節(jié)容易踩坑。第一個(gè)是鏡像完整性校驗(yàn)。下載下來(lái)的鏡像寫(xiě)入Flash之前一定要做校驗(yàn)CRC32或MD5校驗(yàn)通過(guò)才允許寫(xiě)入否則直接丟棄。第二個(gè)是斷電保護(hù)寫(xiě)Flash的過(guò)程中掉電是最危險(xiǎn)的最穩(wěn)妥的辦法是先把鏡像寫(xiě)到DDR里確認(rèn)完整后再一次性寫(xiě)入Flash雖然不能完全避免掉電風(fēng)險(xiǎn)但能大幅縮短Flash寫(xiě)窗口。U-Boot側(cè)的關(guān)鍵命令是這樣的# 設(shè)置下次啟動(dòng)分區(qū)為B區(qū) setenv boot_part b saveenv # 引導(dǎo)邏輯 if test $boot_part b; then run boot_b else run boot_a fi6.4 風(fēng)險(xiǎn)控制與實(shí)測(cè)建議在線升級(jí)的測(cè)試不能只在實(shí)驗(yàn)室里做“正常流程”必須刻意制造異常場(chǎng)景來(lái)驗(yàn)證恢復(fù)能力。我自己測(cè)試時(shí)最常用的一種方法是在升級(jí)寫(xiě)到一半的時(shí)候直接斷電然后重新上電看設(shè)備能不能自動(dòng)回滾到舊版本。如果回滾邏輯寫(xiě)得不健壯這種測(cè)試一兩次就會(huì)暴露問(wèn)題。另外要強(qiáng)調(diào)的是Boot區(qū)的FSBL和U-Boot雖然不參與常規(guī)升級(jí)但它們本身也有需要更新的場(chǎng)景比如調(diào)整DDR時(shí)序、增加啟動(dòng)參數(shù)所以架構(gòu)上還是要預(yù)留一個(gè)“特殊升級(jí)模式”通過(guò)按鍵或串口命令進(jìn)入專門(mén)更新Boot區(qū)內(nèi)容。這個(gè)模式一定要有明顯的標(biāo)志位和保守策略否則一旦Boot區(qū)寫(xiě)壞整塊板子就只能返廠用JTAG恢復(fù)。最后分享一點(diǎn)個(gè)人經(jīng)驗(yàn)燒寫(xiě)Flash這件事看著是小事但每個(gè)環(huán)節(jié)都藏著坑。我最早做ZYNQ項(xiàng)目時(shí)因?yàn)镕SBL文件選錯(cuò)連續(xù)報(bào)同樣的Target DLL錯(cuò)誤折騰了兩天才發(fā)現(xiàn)是在另外一個(gè)工程目錄里Build的FSBL和當(dāng)前硬件根本不匹配。從那以后我養(yǎng)成了一個(gè)習(xí)慣每塊板子建一個(gè)專門(mén)的fsbl工程名字里帶硬件版本號(hào)改版就重新Build絕不沿用舊文件。還想提醒的是如果你的板子支持多種啟動(dòng)方式建議在Flash里放一份穩(wěn)定版本之后日常開(kāi)發(fā)切到SD卡啟動(dòng)。這樣Flash里的固件始終是“最后可用狀態(tài)”就算SD卡里的新版本改壞了也能隨時(shí)切回Flash版本救磚。這個(gè)習(xí)慣幫我避免過(guò)好幾次項(xiàng)目延期在這里一并寫(xiě)出來(lái)希望對(duì)你有用。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
你操综合| 丰满人妻一区二区三区免费 | 亚洲无码色| 久久人妻四季| 麻豆视频一区二区| 中文字幕性感少妇av| 玖玖综合色| 丝袜av一区二区三区| 日韩不卡毛片Av免费高清| 一区三区啪啪| 97天天操天天干| 97中文字幕一区| 91亚洲色人| 久草精品国产蜜臀| 国产成人无码啪| 青春草A| 伊香蕉综合久久久久久久噜噜噜| 国产精品久久久久久久AV大片| 亚洲 图片 综合91| 中文字幕丰满子伦无码专区在线视频最新 | 插老姨肥穴| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 97人人操人人摸| 91成人在线| 精品国产91内射久久| 亚洲情色1区| 天天综合网网欲色| 日本999精品| 国产综合网站在线播放| 久久精品女同亚洲女同13| 久久国产热视频97电影| 老女人综合网| 天天干1区2区在线| 玖玖人人爱| 精品久9| 日韩av乱伦| 校园春色五月天| 国产性刺激| 国产二区三区免费视频| 色97欧美| 日本精品一级二级三级| 欧洲亚洲人人爽爽视频| 色五月婷婷中文字幕| 人人看人人爰人人操| 超碰到97情色| 日韩乱码Av| 天天看,天天做| 国产精品久久久久久久电影渣男| av天堂加勒比| 女人18精品一区二区三区| 色狠人在线99| 久久大香蕉手机高清| 亚州AV无码国产精品| 国产精品第一页国产大屁股视频免费区| 岛国AV一区二区电影| 国产自偷自拍一区| 久草视频在线视频在线视频在线观看| 这里只有精品视频| 国产成年精品高清在线观看91| 精品人妻一区二区蜜桃视频| 熟女久久久| 久久综合精品一区二区三区| 久久久∴| 激情综合网一盗摄| 裸体1区| 超碰人妻中文在线| 亚洲视频,小说| 97se综合| 亚洲另类色综合网站| 东京热不卡视频| 91色综合激情| 综合色久欲| 欧洲亚洲天堂精品| 大香蕉草草| 亚洲怡春院| 欧美日本一区二区a人| 中文字幕久热视频在线| 激情久久av一区av二区av| 青椒国产97在线熟女| 成人自拍三级在线观看| 91粉芽高清在线一区二区| A 天堂在线观看视频| 国产免费永久精品无码| 超碰98综合网| 中韩中文字幕在线观看| 国产JDAV无码视频在线观看| 国产福利电影| 久久,精品一二三| 亚洲s在线观看| 欧美熟妇亚洲版| 久久9精品| 91综合在线| 精品久久久久久久久久久久| 91熟女视频网| 99精品国产户外露出| 操操逼操操逼操操逼逼| 图色综合网| 久久999久| 九九九偷拍| 国产美女销魂在线观看不卡| 国产又大又粗又长视频在线| 97精品人妻一二三四| 男女性无套 免费九一| 激情五月丁香五月| 色网色网色网色网色网色| 欧美精品成人在线播放| 九九热超碰97亚洲最新香蕉| 97香蕉网| 青青草大香蕉视频| 国产精品免费日韩| 久久久穴999| 亚洲黄色| 另类综合另类| 亚洲欧美另类小说| 日韩啪啪啪啪啪| 欧亚三区动漫| 男人的天堂2018东京热啪啪啪| 久久久久久十| 青青草日本无码| 超碰综合97在线| 天天干人人看综合| 人妻少妇精品久久久| 熟女激情综合网| 天天α片| 91日韩在线| 999久久久| 欧美色66| 天天插天天射| 色爱欲亚洲| 欧美伊人久久综合网| 北条麻妃性愛视频| 99久久婷婷| 97神马久久| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 日本道日本道中文字幕日本道最新日本道在线观看| 国产不卡免费在线视频| 本道在线| 天天看片天天爽| 最新日日夜夜天天干干| 密臀国产在线| 亚洲成人ab| 欧美亚洲色图另类国产| 东京热一区二区三区四区五区六区| 久久人妻| 久久色一区二区| 午夜一区| av大香蕉| 日本中文字幕在线视频| 久久黄色视频一区二区三区 | 色婷婷丁香五月天| 国产精品自在线发布| 免费精品国偷自产在线在线| 丰满人妻-区二区三区免费看| 欧美日韩免费专区在线| 亚洲婷婷五月天| 亚洲午夜福利在线影院| 国产亚洲精品久久久久小| 亚洲风情在线观看| 天躁夜夜躁2021| 国产日韩中文字幕欧美| 久欲AV| 欧日韩在线观看| 综合网亚| 极品欧美一区二区三区| 欧美极品美女aaaaaa级黄片| 97超碰色| 一级性爱视频免费在线| 九九AV| 精品人妻一区二区免费蜜桃视频| 女生久久网| 少妇蹲下买菜露大唇0| 香蕉国产精品麻豆亚洲欧美日韩 | 天天操天天日天天干| 欧美综合中文| 亚洲成A∨人影院在线欢看| 国产人妻精品久久久一区二区三区 | 超碰97资源大奶| 不卡六六在线91| 久久性爱精品一区| 国产农村妇女精品1区二区| 国产精品美女| 素人播放一区| 农村女一级毛卡片| 精品无码久久久| 久9综合在线| 少妇一区二区三区高速| 一二三啪啪专区| 欧美中文字幕精品人妻| 色综合久久久久| 941超碰| 人人干人人操人人..com| 夜夜综合| 超碰人人草| 极品肉射| 伊人丝袜美腿高跟在线观看高清| A片A5445444| 99爱久久视频频| 亚欧美色| 伊人网在线视频| 狠狠中文字幕| 午夜福利合集| 麻豆av一区二区三区| 亚洲婷婷丁香在线| 国产精品久久妻无码网站| 久久成年精品| 男女国产精品| 无码人妻精品一区二区三区九九| 天天干天天做| 欧美综合站| 国产四虎在线| 99精品无码| 欧美性暴力猛交| 久久久999| 日本国产亚洲一区在线观看| 欧洲精品一级二级精品综合视频综合| 开心五月激情网| 中文精品一区二去| 飘花国产午夜精品不卡| 婷婷色色五月天| 中文字幕五区| 人妻激情视频| 国产色呦呦| 久久综合中文国产| 色爱亚洲| 亚洲精品aa久久伊人| 乱色视频中文字幕| 欧美在线色| 久久东京热久久| 欧洲与亚洲欧美精品中文字幕| 97国产精选| 国产一区二区二区按摩精品啪视频| 日本在线伊人啪啪| 极品美女福利在线观看| 人人妻人人操人人乐| 99国内熟女露脸视频| 久久精品国产精品一区 | 丁香六月综合激情| 精品美女人人干| 国产精品高潮久久久无码| 可以免费观看的AV| 国产精品美女视频诱惑| 人人爽天天爽| 在线综合 亚洲 欧美中文字幕| A片三级无码| 国产精品天干天干综合网麻豆 | 国产熟女精品区| 国产在线播放成人免费| 玖玖综合.com| 97在线免费| 无码人妻一区二区一牛影视| 少妇人妻好深太紧了vr91| 亚洲一二三四区在线免费看视频| 不卡一区二区日本视频| 99精品人人爽| 精品人妻美妇91job| 久久久精品中文字幕麻豆| 在线观看色视频| 黄色工厂这里只有精品| 人人妻人人色| 小泽玛利亚一二三| 91人妻在线视频| 老熟妇综合| 视频国产精品未满十八禁止在线观看| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 丝袜亚洲综合| 精品久久久久黄少妇| 日韩免费三级黄片电影| 免费草草草草草视频| 婷色五月天| 国产美女销魂在线观看不卡| 亚洲图片视频小说| 麻豆精品三区视频| 人妻熟女字幕一区二区| 国产黄色视频久久| 国产诱惑| 日本中文字幕一区| 伊人国产视频| a级免费在线观看| 日韩97视频| 色五月婷婷麻豆在| 一牛影视成人片免费| 我要色综合网| 久久精品电影在线| 中文字幕在线第二页| 妇女视频网站| 亚洲丝袜色| 亚洲国产婷婷在线播放| 日本乱人伦片中文三区| 中文字幕在线观看网址| TS人妖另类精品视频系列 | 2024黄色视频| 99re这里只有精品2| 日本99一区二区| 97干日韩| 中国的操老妇女| 综合色久欲| 女人18精品一区二区三区| 97天天爽| 91色黑人少妇| 日韩美女高潮喷水视频| 色偷综合| 久久 精品| 无码一区免费在线不卡| 色九久| 亚州五月| 操逼天美3区| 久久大黄片| WWW操逼| 自拍偷拍 日韩无码| 国产h片在线观看视频| 久久国产性爱| 欧美精品99久久久**| 浪人综合网| 激情综合网激情五月天| 1二区9| 一区二区播放| 26uuu久久| 青春草莓视频在线观看网址| 国产中文精品一区二区在线观看| 竹菊影视国产一区二区| 在线天堂999| 精品玖九九久| 成人网站 免费观看| 熟女乱伦二区| 美女啊啊啊啊pc| 日韩精品影视| 操逼天美3区| 人妻少妇一区二区| 性久久| 亚一综合久久久久久久久久| 色色婷| 99热aaa| 一本色道综合久久欧美日韩精品| 亚洲AV操| 另类专区加勒比| 中文字幕精品一区欧美| 996热| 狠狠亚洲| 美国一区二区三区视频| 日韩传媒在线| 九九视频黄色片| 91女在线观看| 亚洲第一页综合在线| 国产精品久久久久久亚洲色欲| 婷婷色综合| 蜜桃传媒视频第一区入口在线看| 亚洲第一成人影院色播| 曰本道人妻久久久在线不卡色视频| 91亚洲高清| 久操精品网| 久久久久久免费电影| 国产精品久久久久中文字幕| 久久久91福利姬| 欧美第一页| 麻豆天美91| 夜夜嗨一区二区| 精品一区二区三区蜜桃| 日本 成 人 小说 电影 一区二区| 亚洲人久久久久日| AV一二区| 欧美熟妇成人一区二区| 午夜天堂精品久久| 国产三级日产三级韩国三级| 欧美97免费| 狠狠干狠狠干| 熟女这里只有精品6| 麻豆AV短剧| 亚洲第2页| 96麻豆精品一区二区三区| 婷婷99| 啊啊啊免费| 一区二区精品更新提醒| www.av在线观看| 色色婷婷五月天| 亚洲欧洲中文日韩女优乱码| 天天天操天天天爱| 日韩性色b| 97爱亚洲| 天天色踪合| 人人射人人操人人摸| 天天躁日日躁AAAAXXXX国产 | 色图综合| 久久久久久综合久久伊人蜜月| 三级激情网站| 亚洲自拍天堂| 人人操人人搞人人草| 日韩欧无码一区二区三区免费不卡 | 欧美色另类| 一区二区播放| 自拍六区| 亚洲天堂欧美| 无码78| 五十路熟女人妻一区二区在线观看 | 2026国产精品视频| 中文字幕av久久爽Av| 超碰在线974| 二区熟妇韩日| 国产AV人人夜夜澡人人爽麻豆| 婷婷精品国产欧美精品亚洲人人爽| 麻豆天天躁天天揉揉AV| 欧美色91| 亚洲欧美另类图片| 福利操逼| 亚洲激情网一二三四区| 熟妇高潮精品一区二区三区下载| 97视频播放| 久久久少妇| 秋霞久久亚洲精品成人| 国产精品交换一区二区| 成人一级二级| 日本高清视频xxxx| 中国探花熟女| 天天操综合网| 高清不卡 中文 人妻| 国产97亚洲| 乱伦Av网| 91国精产品| 久久久96| 婷婷久草一区二区三区| 中国91AV| 一区二区三区四区免费视频| 五月天婷婷久久| 又黄又粗又硬又长又大| 97精品视频在线| 久久久久久九九九| 日韩av一级黄片| 日韩一级二级在线| 麻豆美女丝袜人妻中文| 亚洲最新中文字幕免费| 99热久| 欧美伦乱爱| 日本久久超碰| 欧美精品一区二区少妇免费A片| 丁香婷婷久久| 玖玖综合视频| 亚洲欧美一区二区三区一猛片| 欧美亚州色的图| 精品丰满熟妇人妻一区| 中文字幕一区二区三区字幕| 江都AV在线| 综合少妇网| 亚洲 自拍偷拍 欧美| 婷婷五月综合在线| 东方亚洲在线操逼天堂| 亚洲男人久久综合天堂| 国产熟妇一区二区| 中文字幕精品丝袜| 欧美色综合| 丁香五月性| 日本一卡二区在线| 五月婷婷六月天| 国产精品久久久久久久久久久久久久吹| 看免费的黄片| 神马久久久久久久久久| 日本乱人伦片中文三区| 国产肏屁眼视频| 国产乱码精品久久久久久| 久久国产成人精品国产成人亚洲| 在线观看色视频| 330dv亚洲成年视频网| 亚洲天堂,男人| 99re6在线视频精品免费完整版安卓版| 亚洲天堂欧美| 国产亚卅97| 国产精品ⅴ无码大片在线看.| 伦在线97| Julia在线播放亚洲久久| 国产Av超碰| 强奸熟女一区二区三区| 国产亚洲精品第一最新| 精品午夜福利| 久久网亚洲| 大香蕉AV丝袜| 欧美黄片视频在线观看免费 | 精品人妻一区二区免费蜜桃视频| 7月婷婷综合| 狠狠婷婷亚洲中文综合久久| 天天综合网1| 色色五月天激情| 国产美女自拍AV| 亚洲国产丝袜熟女av| 精品成人女人久久| 欧美激情在线观看视频| 美女AV一区二区| 花野真衣| 婷婷综合五月| 亚洲欧综合另类无码一区| BBBBB97COM| 久久午夜伦| 欧美视频在线第3页| 高凊专区人人操| 亚洲免费97免费| 亚洲综合有码| 精品久久久久久中文| 国产男女无套视频免费观看| 欧美久久九九| 天天日骚逼熟女| 色网站导航大全| 在线可观看的黄色网址| 内射白嫩美女| 色哟哟精品1精品2| 黑人美精品 A片| 白嫩嫩一区| 天天综合,91入口| 国产综合永久精品日韩鬼片| 秋霞一级视频在线观看免费| 日韩另类| 97超碰色屌| 中文字幕91综合| 亚洲 欧美 91| 人人澡综合涩| 蜜桃臀一区二区aV | 偷拍片久久| 国产久9| 天天肏天天干| 亚洲精品无码久久AV| 精品少妇人妻av久久免费| 国产一区二区三区精品观看啪| 91人妻爽爽人人做人人澡| 色婷婷aV一区二区三区麻豆综合| 歐美性天天| 亚洲男人天堂视频| 色婷婷五月综合激情中文字幕| 久久亚洲精品成人av| 丁香激情五月天| 国产白丝在线| 欧美乱欲| 亚洲中文国际强奸字幕| 欧美午夜精品久久久久久3D| 国产日产欧产美韩系列麻豆免费| 极品另类| 婷婷丁香五月天综合东京热| 96久久科窝| 啊啊啊男女| 日韩熟女乱伦中出| 大香蕉色十月| 九九人妻| ..日韩av毛片精品久久久| 人妻熟女字幕一区二区| 欧美日韩人妻婷婷一区| 亚洲一级黄色毛片| 黄色污污污污污污网站| 色约约一区=区三区| 美國A片| 综合网~91综合网| 日韩无码一级黄色av片| 亚洲欧美精品一区天堂久久| 欧美丝袜中文字幕07在线| 亚洲精品aa久久伊人| 2020中文字幕在线观看| www色日本| 激情久久日韩精品中文字幕麻豆| 隔壁邻居波多野结衣中文字幕| 人妻加勒比东京热| 亚洲中文字幕一区二区| 色播五月婷婷| 蜜乳中文字幕a在线| 免费人人搞97| 亚洲一区二区av| 五月丁香综合啪啪| 天天综合亚在线| 日韩免费a级毛片无码a∨| 亚洲天堂无码| 国产路线专区| 二对二中文字幕。| 自偷自拍的亚洲视频| 欧美乱伦专区| av久日| 操一区| 日韩免费福利在线观看| 中文字幕二区| 九九热精品视频在线观看| 蜜臀在线视频| 欧美人妻一区二区| 黑人天8A∨高清网站| 9999九九九久久久| 久操网无码在线| 麻豆影音天美视频| 国产91 丝袜在线播放| 天美麻豆精品视频99| 色香AV| 怡红院亚洲怡春院av| 亚洲人妻熟妇三十三区| 一品道视频一区二区三区| 可以免费看黄片的视频| 精品人妻久久久| 美女主播色欲91抠b在线播放| 99人人干| 国产精品呦一区二区三区| 日韩精品-原创伙伴| 久久草视频污视频| 91中文精品日韩欧美在线 | 97最新在线播放视频| 亚洲精品性爱片| 久久精品国产AV一区二区三区| 麻豆天美在线| 久久精品国产亚洲粉嫩| 在线洲亚线| 亚洲性图91| 九九九九日本| 色噜噜综合在线| 99在线观看| 精品国产人成在线| 精品性爱一二三区| 91天堂色男人的天堂| 成人日韩3| 热久久国产精品视频大陆精品| 91 手机在线播放 绯色| 成人av免费观看| 免费的黄片wwwwww| 精品一级| 成·人免费午夜在线观看| www.亚洲黄色| 白天啪啪晚上啪啪视频| 伊人女女资源在线观看| 91伊人| 婷婷在线视频在线观看| 自怕偷自怕亚洲精品| 亚洲色交| 啪啪视频免费在线观看| 91天天| 久久久亚洲Av| 啊啊啊啊啊啊在线观看| 久久久亚洲Av| 欧美色图天堂在线| 国产精品久久久久久久久久久久久久久久久久 | 91亚洲人电影| 国产精品熟女九九九| 欧美九一精品久久久熟妇| 精品久| 搞中出久久| 一区二区三区四区在线不卡| 美女网站91| 欧美日韩国产三级黄色| 情色AV电影| 色妇91| 好属操| 国产农村一一级特黄毛片| 2025亚洲男人天堂| 欧美色97| 丝袜美腿制服人妻二区中文字幕 | 伊人AAA| 欧美成人综合| Av手机版天堂网| www.狠狠操| 中文字幕精品亚洲熟女| 成人av在线播放| 日韩女优在线| 欧美性性性| 伊人久久大香线蕉无码| 97碰碰日本乱偷人妻中文的| a一区二区三区乱码在线| 国产人伦精品一区二区三区| 中日韓欧美高清| 东京热男人的天堂网| 日韩精品亚洲一二三| 91小视频| 亚洲精品蜜桃久久久| 亚洲黄网在哪免费看| 欧美麻豆成人同性GⅤ在线| 91狠| 久久久久久久97| 91久久国产综合久久| 综合色区偷拍| 日产狠狠干| 天天综合网日韩| 国产视频一区二区三区久久亚洲天堂| 婷婷激情五月综合| 丁香婷婷大香蕉| 国产成人无码久久精品| 成人性爱电影网| 秋霞视频一区二区| 午夜免费福利视频一区| 午夜精品视频777| 99热欧美| 天堂岛av| 熟妇高潮一区二| 台湾佬中文娱乐网久久久久久久久久com | 色婷婷综合网| 夜夜爽爽爽| 情色av电影| 亚洲国内精品成人不卡| www久久精品| 久久99九九九九6666免费观看软件| 亚洲天堂男| 精品国产Av无码久久久亚洲| 蜜乳Av成人片网站| 五月天婷婷久久| 亚洲自拍一区夜夜操| 天欧美在线| 91美女在线| 艹精品| 国产欧美精品日韩区二区麻豆天美| 天天看片天天爽| 久久精品中文字幕女同| 少妇久久久久久| 午夜福利免费福利视频| 精品无码久久久| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 99999精品| 欧美色性爱| 成人夜夜爽| 久婷婷一区| 亚洲日韩国产精品| 欧美日韩岛国大片在线观看| 伊人色综合超碰| 公司1区2区3区精产精| 欧美日韩大香蕉| 99久久婷婷| 老熟女阿 国产91| 亚洲无吗在线视频| 日韩不卡网操逼中文字幕日韩| 尤物av网站免费在线播放| 日韩人妻资源网| 东京热男人天堂| 六月丁丁香| 久久久久国产精品久久久| 国产精品久久久久久久久AV大片| 中文欧丝袜诱惑| 亚洲情色中文字幕一区| 久久久久网站-538在线视频-欧美永久乱码| 亚洲资源站| 男人的天堂在线有码| 麻豆成人影音在线| 按摩中文字幕| 色综合久久av| 麻豆a'v电影| 性吧在线视频| 欧美亚洲素人制服精品| 少妇丝袜在线观看AV| 欧美视频中文字幕区| 果冻传媒A片一二三区| 日韩性爱网址| 国产精品久久久 | 今日头条成人一区二区三区四虎精品| 嫩呦国产一区二区三区AV| 中文无线日韩一区| 日韩av熟女一区二区三区成人| 日韩欧美tv一区二区在线观看| 屁股久久久久久久久| 美女黄色一级A视频| 最新无码国产| 超碰精品97| 9 7超碰在线免费观看| 亚洲成?V人片在线观看福利| 综合伊人激情| 少妇九九九九| 亚洲污一污二| 狠狠中文字幕| 怡红院一区二区熟女人妻| 人人操人人摸人人骑| 婷婷五月天色网| 日日干夜夜欢| 久久久久国产| 亚欧中文字幕在线视频| 天天射影院| 懂色AV蜜臀无码精品APP| 日B操| a片 xxxx受爽视频| 91岛国动作片| 欧美激情精品久久久久久| 国产99999久久精品| 色爱欲亚洲| 欧美se亚洲| 青青草伊人久久| 日韩中文字幕熟妇人妻| 中文字幕 码 自拍 视频 区| 成人精品在线| 亚洲欧洲偷拍一区| AV九九| 任你草| 欧洲无码一区二区| 亚洲中文制服诱惑| 日本淫色网| 国内精品嫩模A∨私拍小视频| 国内偷拍精品一区二区| 天天综合有色网| 激情五月天色播| 中日高清无码操逼视频| 丁香五月天激情综合| 美女高潮视频91| 国产精品网站www| 欧美91网站| 美女黄色91| A片大香蕉在线| 操B视频日韩无码| 国产A v无码专区| 天天弄天天操| 久插综合| 欧美日韩不卡传媒| 性在久久久久久| 欧美性天天影视| 超碰97欧美日韩| 一本色道综合久久欧美| 国产一区二区三区精品观看啪| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 精品人妻一区二区免费蜜桃视频| 69少妇一区二区| www.av在线观看| 亚洲免费精品一区| 婷婷国产精品一区二区| 欧美激情性爱视频网站| 91在线色综合| 加勒比综合在线| 国产乱码精品一区二区三区四川| 男女91| 国内精品嫩模A∨私拍小视频| 一区二区三区免费岛国片| 亚洲第一色页夜| 成人毛片免费| 天天摸夜夜摸| 国产精品久久妻无码网站| 青青草日本无码| 91精品导航| 亚洲欧美成人在线| 清纯唯美第一页| 国产精品无套内谢| 青青草在线视频美女| 91天堂色男人的天堂| 亚洲揄拍网| 无码丰满熟妇一区二区浪潮AV| julia在线观看久久| 亚洲高清欧美总合| 五月天社区| V A在线| 人人爽人人精品乱人伦AV| 成人亚欧免费视频| 人人妻人人爽| 东北夫妻性偷拍| 亚洲熟女性高潮久久久| 久久久999国产| 男人的天堂2010| 岛国福利在线精品播放| 久久97视频| 五月天婷婷色| 青娱乐欧美激情一区二区 | 嫩草伊人久久精品| 色综合婷婷| 国产精品久久久久无码Av网曝门| 十八禁电影伊人网| 婷婷四五区| 日日操丁香五月天| 放黄片放3级黄片没穿衣服| 久久夜色一区二区| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日本免费二区三区| 蜜臀AV成人精品蜜臀| h在线看免费版在线看| 91久久免费视频互動交流| 久久久999国产精品| 丝袜综合| 国产传媒日本欧美专区| 清柠毛片| 天天插天天干| 亚洲码专区| 凹凸久久人人| 大香蕉一区二区在线观看.| 日韩色香| 激情小说在线视频| 免费的黄片有限公司| 男啪女色黄无遮挡免费观看| 天天插天天操天天摸天天射天天看| 99自拍视频在线| 成人性爱全视频观看| 日韩精品亚洲专区在线影视| 色噜噜精品一区二区三| 99久久精品国产高潮| 国产成人精品无码久久| 影视综合无码少妇| 男男H黄动漫啪啪无遮挡网站| 亚洲国产一区二区日韩专区| 人人艹亚洲| 日韩成人大片一区二区| 人人透人人操| 男人天堂婷婷五月天校园春色| AV九九| 偷拍欧美激情| 熟妇高潮精品一区二区三区下载| 婷婷五月天久久精品视频一区二区三区| 91麻豆天美国产欧美| 亚洲美女色图| 青青操国产夫妻| 欧美欧美啪啪视频| 国模无码一区二区三区在线| 久久久爆乳翘臀一线天伦理视频| 东京热男人的天堂网| 国产福利夜| 变态另类专区| 黑人性暴力毛片| 国产一级内射无挡观看| 色一色综合网| 少妇同性| 九九九国产精品| 人人干人人操人人爱| 色婷婷丁香五月天| 蜜臀久久99精品| 好属操| www久久久| 欧美色图自拍| 日韩卡一卡二卡三在线| 九九久久一区二区三区| 日韩本不卡视频在线观看 | 欧美精品三区| 亚洲国产ⅴ高清在线观看| 久久天堂婷婷网| 久久噜噜噜精品国产亚洲综合| 国产偷拍网站| 有码人妻系列| 久久 国产 无码| 亚码激情| 国产精品久久aV| 国内91熟女人妻丝袜天天精品视频在线 | 亚洲男人天堂网| 国产精品国产自产拍高清AV| 撸无码不卡免费视频| 精品久热| 男人天堂2017| 用力操死我| 亚洲春色一区二区三区| 色婷婷aV一区二区三区麻豆综合| 日韩猛交| 精品久久在线区一区| 国产精品免费久久久久久久久久| 在线观看黄色电话| 日韩综合97p| 成人欧美一区二区三区黑人一| 资源新线在线天堂| 亚洲宗合电影| 顶级丝袜熟女一区二区三区| 在线洲亚线| 天天综合精品| A片A5445444| 97欧美色综合| 欧美精品成人亚洲| 国产精品视频白浆免费| 9丨久久九九九| 亚洲天堂日本| 1024人妻| 日韩人妻中文视频| 999综合网| 久久久久久99999国产精品| 中文字幕av色| 人、人、摸,人、人、草| 亚洲欧美不卡线| 人妻 欧美 中文| 久久久久无码| 天天摸,夜夜摸| 天天操天天舔| 欧美日韩操操操| 超碰免费人妻人人| 亚洲97综| 四虎在线视频| 91熟女视频网| 久湿久久| 国产一区二区三区久久精品太古里| 看日韩美女二区三区免费操逼视频| 一级日本牲交大片好爽在线看| 日韩91网站| 亚洲中字慕不卡| 夜夜操青青草| www..com操老师| 亚洲欧洲自拍图片专区满春格| 亚洲少妇在线观看| 人人操AV| 婷婷色色网| 丁香五月激情网| 中文字幕在线播放2中文字幕在线观看2| 亚洲图片欧美在线视频| 国产亚洲禁久一区二区| 人妻人人操| 亚洲激情久久| 中文字幕视频2区| julia在线观看久久| 射欧美综合| 国产精品一区二区后入| 骚鸭AV| 激情综合网亚洲| 超碰在线人妻中文字幕| 日韩精品中文字幕一| 91人人臊| 国产一级久久久| 亚洲男人天堂2013| 青青草公开在线免费不卡视频| 色色97爱| 三级特黄60分钟播放| 不卡一区二区日本视频| 风流老熟女一区二区三区l| 91人人臊| 日本不卡三级网在线播放| 亚州高清色综合| 青草精品视频日本久久久久网站在线| 一级片视频啪啪| 日韩黄色电影网站| 日本三级日本三级三级人妇四虎| 9999久久久久| 在线97视频| 久久久久久午夜男人的天堂| 密臀视频一区二区三区| 日韩少妇无码| 精品性爱一二三区| 久久久婷| 色99999| 大香蕉99热| 一区二区三区看视频| 日韩性爱免费视频在线网站| 亚洲精品蜜桃久久久一区二区三区| 国产情色在线| 在线观看亚洲专区| 中文字幕AV片| 伊人网综合在线视频| 77国产精品| 日本视频在线观看污污污| 九月AV| 国产日逼视频| 97er欧美性| 人妻 中文 日韩| 亭亭在线资源| 蜜乳AV一区二区三区四| 96国产污污污丝袜| 亚洲第一狼人丝袜美女另类| 欧洲射精91| 园内精品自拍视频在线播放| 97在线资源| 国产 v乱码一区二| 老熟女网站| 精品人妻一区二区乱码一区二区| 三级AV入口| 久久9免费视频| 亚州色交| 欧美经典一区二区三区| 中文字幕免费在线观看| 国产精品青青草| 高清无码在线播放网站| 天天大干大香蕉| 国产在线不卡导航| 黄色片大香蕉| 人人模人人看| 欲色啪| 高树玛利亚无码流出| 色色色色电影网| 伊人丁香五月婷婷| 欧美性性性| 欧洲亚洲天堂精品| 97九色人妻| 制服乱伦| 丰满人妻av一区二区三区| 一级毛片电影免费看| www男人天堂| 青青伊人加勒比海| 久热精品色情| 丁香五月色情| 999岛国大片| 久久精品国产亚洲AV无码电影| 2021国产成人精品久久| 三四中文字幕| 精品熟妇视频一区二区| 欧美在线|亚洲| 国产久久久久影院老熟女| 国产性刺激| 在线天堂999| 欧美精品成人亚洲| 亚洲色鬼| 久久精品亚洲婷婷| 久久国产三区| 美中韩AV综合网| 中文字幕91综合| 97网址www| 成人天天看站长推荐| 亚洲av热热色| 五月开心久久AV官网| 天天干人妻| 青青草原成人| 友优传媒精品在线一区二区| 午夜爽爽爽| 高清无码久操视频| 欧美日韩另类在线| 久久精品国产亚洲AV高级北京| 亚洲五码一区二区三区| 婷婷亚洲五月***久久| 丝袜美腿制服人妻二区中文字幕| 日韩av影片在线观看| 久9视频| 久久超碰免费的| 5252色欧美在线男人的天堂| 亚洲天堂男人| 日韩成人精品视频自拍| 国产欧美美女免费观看视频| 亚洲视频,小说| 69一区二区三区 | 台湾佬中文娱乐自偷自拍| 久久、1234| 午夜在线播放| 精品一二三区久久AAA片| 五月天丁香欧洲日韩| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 青青草在线视频美女| 看免费的黄片| www四虎| 老熟女综合网| 盗摄女人妻在线| 嗯嗯,啊啊,国产精品| 四虎在线视频| aaaa少妇高潮大片| 久久亚洲人妻| 秋霞色色影院| 欧美久久草熟女| 啊啊啊久久| 七久久久| 欧美色图20p| 综合激情婷婷| 老熟女阿 国产91| 免費黃色視頻觀看一| 久久华人网| www久| 在线欧美亚洲| 国色天香av| 秋霞Av理论一级在线| 九九久久首页| 色综合一本| 日本三级小说中文字幕| 放黄片放3级黄片没穿衣服| 狠狠操狠狠插| 日本成熟少妇A∨网站| 天天操av懂色| 日韩欧美操逼xxx| 欧美 传媒 麻豆 日韩 偷拍| 99老司机精品视频在线观看| 国产极品久久久| 思思性爱| 91w欧美| 中文字幕88av在线| 国产亚洲深夜激情| 女同性恋一区二区三区精品视频| 欧美乱伦专区| 91亚.色| av操操不卡| 亚欧国产无码精品在线| 亚洲另类春色| 亚洲视频二区 | 变态综合色| 在线小视频| 人妻天堂综合网| 97国产高清视频在线观看| 欧美亚洲情色| 9久9久| 午夜精品久久久久久久| 天天做天天爽| 熟女人妇一区二区三区| 91处女在线观看| 99热销国产这里有精品| 日韩人妻一二三区视频| 精品一区二区三区丰满熟女-亚洲欧美一区| 91亚洲人电影| 欧美性爱五月天| 久操com| 韩三级a视频在线观看| 欧美色狠| 特污精品女优骚货黄色视频在线免费观看| 国产欧美成人精品| 精品一久久久|