在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過無(wú)線方式更新引導(dǎo)加載程序的注意事項(xiàng)

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Drew Moseley ? 2022-10-17 09:19 ? 次閱讀

現(xiàn)代電子設(shè)備越來越復(fù)雜,并且與互聯(lián)網(wǎng)相連。作為一般規(guī)則,復(fù)雜性與安全性背道而馳,不安全的互聯(lián)網(wǎng)連接設(shè)備已經(jīng)成熟,罪魁禍?zhǔn)卓梢詾E用。在設(shè)計(jì)這些系統(tǒng)時(shí),我們必須假設(shè)所有軟件都會(huì)有錯(cuò)誤,其中一些錯(cuò)誤將是可利用的漏洞。解決這些問題的第一步是確保軟件更新可以交付到您的系統(tǒng),最好是自動(dòng)和無(wú)線(OTA)。歐盟“消費(fèi)者物聯(lián)網(wǎng)網(wǎng)絡(luò)安全:基線要求(ETSI EN 303 645)”標(biāo)準(zhǔn)草案特別將及時(shí)自動(dòng)更新作為其要求之一。它確實(shí)為不可變的第一階段引導(dǎo)加載程序提供了例外,以最大限度地降低將現(xiàn)場(chǎng)設(shè)備置于非引導(dǎo)狀態(tài)(也稱為“磚砌”)的風(fēng)險(xiǎn)[1]“董事會(huì))。

本文將討論在連接的設(shè)備中更新引導(dǎo)加載程序的問題。請(qǐng)注意,雖然這里討論的原則適用于任何軟件系統(tǒng),但我們將專門討論運(yùn)行Linux的系統(tǒng)。使用更小、更定制設(shè)計(jì)的系統(tǒng)可能會(huì)提供更多這些系統(tǒng)獨(dú)有的選擇。

系統(tǒng)設(shè)計(jì)

圖 1 顯示了一個(gè)通用的 Linux 系統(tǒng),其中包含可能更新的主要相關(guān)組件。存儲(chǔ)介質(zhì)將是某種塊設(shè)備,例如eMMC或SATA硬盤驅(qū)動(dòng)器。在該設(shè)備中,將有引導(dǎo)加載程序,內(nèi)核,設(shè)備樹(取決于正在使用的CPU)和包含構(gòu)建系統(tǒng)所需的所有文件的根文件系統(tǒng)。在某些情況下使用更復(fù)雜的體系結(jié)構(gòu),但出于本討論的目的,我們將將其限制為最簡(jiǎn)單的情況。

pYYBAGNMreWAcDjeAADbkBr76ZI013.png

系統(tǒng)更新實(shí)用程序,如曼德[2]、swupdate[3],其他人能夠開箱即用地更新內(nèi)核,設(shè)備樹和根文件系統(tǒng),在許多情況下,這種級(jí)別的可更新性就足夠了。

引導(dǎo)加載程序是系統(tǒng)的組件,負(fù)責(zé)在開機(jī)時(shí)初始化系統(tǒng),從 CPU 重置指令開始。它負(fù)責(zé)以下任務(wù):

?初始化和擦除內(nèi)存

?設(shè)置電源軌和時(shí)鐘

?將所有外設(shè)設(shè)置為已知和靜止?fàn)顟B(tài),以避免意外中斷。

?加載并啟動(dòng)內(nèi)核

如前所述,所有軟件都有錯(cuò)誤,因此我們可以假設(shè)也會(huì)有引導(dǎo)加載程序錯(cuò)誤。我們可以通過最小化引導(dǎo)加載程序的功能來減少攻擊面,但是我們可以完全消除錯(cuò)誤的風(fēng)險(xiǎn)。為什么更新引導(dǎo)加載程序比更新系統(tǒng)的其他組件更復(fù)雜?如果我們嘗試,風(fēng)險(xiǎn)是什么?如果我們不嘗試,有什么風(fēng)險(xiǎn)?

無(wú)線支持系統(tǒng)

poYBAGNMrbiAfhJ-AABf78q-nMw345.png

此框圖顯示了能夠進(jìn)行可靠無(wú)線 (OTA) 更新的系統(tǒng)的基本系統(tǒng)設(shè)計(jì)。[4]引導(dǎo)加載程序負(fù)責(zé)系統(tǒng)初始化并與 OTA 客戶端交互,以選擇要使用的內(nèi)核、設(shè)備樹和根文件系統(tǒng)。健壯性是通過對(duì)正在運(yùn)行的 Linux 映像所需的組件具有完全冗余來實(shí)現(xiàn)的。這可確保在 OTA 更新中斷的情況下,始終有已知良好的映像可以回滾到該映像。此外,這可確保完全原子更新,因?yàn)楦驴蛻舳耸窍到y(tǒng)中唯一知道更新正在進(jìn)行中的組件,直到更新完成并準(zhǔn)備好運(yùn)行。

任何更新 OTA 的組件都可能導(dǎo)致設(shè)備無(wú)法正常工作,因此系統(tǒng)的健壯性與引導(dǎo)加載程序處理回滾到以前已知良好的配置的能力直接相關(guān)。這意味著系統(tǒng)中必須有一個(gè)組件,該組件是不可變的,可以正確處理錯(cuò)誤的更新。

引導(dǎo)加載程序更新

在大多數(shù)情況下,處理回滾的不可變組件 _is_ 引導(dǎo)加載程序。在典型的嵌入式 Linux 應(yīng)用程序中,是 Das U-Boot[5]。如果我們嘗試更新引導(dǎo)加載程序,由于沒有冗余,因此我們面臨著將主板砌成磚塊的風(fēng)險(xiǎn)。如果主板在我們開始寫入新的引導(dǎo)加載程序映像后,但在寫入完成之前重新啟動(dòng),則我們的映像包含舊版本的一部分和新版本的一部分。在這種情況下,行為是未定義的,唯一的緩解措施是能夠物理訪問設(shè)備以編寫正確的引導(dǎo)加載程序,通常使用USB或其他硬連線連接。

但是,我們?yōu)槭裁匆乱龑?dǎo)加載程序呢?至少,引導(dǎo)加載程序只是用作初始化硬件,然后將控制權(quán)移交給Linux內(nèi)核的一種手段。由于功能有限,引導(dǎo)加載程序出現(xiàn)問題的風(fēng)險(xiǎn)降至最低。

對(duì)于許多設(shè)計(jì)來說,這種風(fēng)險(xiǎn)水平是可以接受的,架構(gòu)師可以決定干脆不在其部署的設(shè)備中提供OTA引導(dǎo)加載程序更新。使用硬連線機(jī)制仍然是最后的手段。

然而,對(duì)于許多設(shè)計(jì),這種風(fēng)險(xiǎn)水平被認(rèn)為是不可接受的,并且必須為引導(dǎo)加載程序的OTA更新提供一些機(jī)制。此外,許多設(shè)計(jì)為引導(dǎo)加載程序添加了更多功能;諸如系統(tǒng)診斷或其他特定于應(yīng)用程序的要求之類的東西可能會(huì)在引導(dǎo)加載程序中實(shí)現(xiàn),從而導(dǎo)致更有可能需要更新。那么我們?nèi)绾翁幚磉@個(gè)問題呢?

用于提供引導(dǎo)加載程序更新的選項(xiàng)

有許多選項(xiàng)允許更新引導(dǎo)加載程序。本討論不是一個(gè)完整的解決方案,而是對(duì)可能適用于您的設(shè)計(jì)的方法的高級(jí)描述。每個(gè)都有其權(quán)衡取舍。

選項(xiàng) 1:無(wú)冗余

如果對(duì)于特定應(yīng)用程序來說,磚砌板的風(fēng)險(xiǎn)是可以接受的,那么您可以簡(jiǎn)單地嘗試部署引導(dǎo)加載程序更新OTA,并在發(fā)生時(shí)處理后果。如果您的隊(duì)列規(guī)模較小,并且獲得對(duì)設(shè)備的物理訪問的成本較低,那么這可能很有效。如果需要引導(dǎo)加載程序更新,并且OTA嘗試失敗,那么您并沒有因?yàn)閲L試過而變得更糟。OTA 引導(dǎo)加載程序更新失敗的情況與沒有 OTA 引導(dǎo)加載程序更新功能的情況相同。即,您必須獲得對(duì)設(shè)備的物理訪問權(quán)限,并使用制造商提供的機(jī)制來重新刷新引導(dǎo)加載程序。

選項(xiàng) 2:多階段引導(dǎo)加載程序

此體系結(jié)構(gòu)將引導(dǎo)加載程序功能分為兩個(gè)階段(或更多階段,具體取決于設(shè)計(jì)的復(fù)雜程度)。最終,這仍然需要階段 1 中的一段不可變代碼。在更新階段 2 時(shí),您確實(shí)具有冗余性和健壯性,因此,如果您仔細(xì)選擇在何處實(shí)現(xiàn)功能,則可以提供引導(dǎo)加載程序功能的 OTA 更新。這是一個(gè)不錯(cuò)的選擇,因?yàn)椴豢勺冸A段 1 二進(jìn)制文件中的代碼量會(huì)減少,從而降低總體風(fēng)險(xiǎn)。

pYYBAGNMrbmARZroAAB1bUy9BR8931.png

U-Boot 使用 SPL(輔助程序加載程序)和 TPL(第三級(jí)程序加載程序)實(shí)現(xiàn)多階段引導(dǎo)。引入此機(jī)制是為了允許支持具有單獨(dú)引導(dǎo) ROM 的系統(tǒng),這些系統(tǒng)太小而無(wú)法存儲(chǔ)完整的 U-Boot 映像。在這種情況下,U-Boot SPL 映像將包含足夠的初始化代碼來加載和啟動(dòng)完整的 U-Boot 映像,通常是從大型塊設(shè)備(如 MMC)上啟動(dòng)。SPL 需要能夠初始化足夠的 RAM 和包含完整 U-Boot 映像的設(shè)備。

即使對(duì)于沒有小型引導(dǎo)ROM限制的設(shè)備,我們也可以利用此架構(gòu)在第2階段實(shí)現(xiàn)我們的可更新功能,同時(shí)在第1階段保留最低限度,包括正確處理冗余塊。

存在階段 1 存在問題的風(fēng)險(xiǎn),需要物理訪問才能解決。鑒于階段 1 中的功能降低,在許多情況下,這種風(fēng)險(xiǎn)水平是可以接受的。

選項(xiàng) 3:并行引導(dǎo)加載程序

poYBAGNMrbqAJ2szAAB6NmetT-4132.png

許多主板提供從多個(gè)設(shè)備啟動(dòng)的功能。例如,許多主板可以從板載 eMMC 或可拆卸 SD/MMC 卡啟動(dòng)。或者,他們可能為引導(dǎo)加載程序使用專用的 NOR 閃存設(shè)備,但仍能夠從 eMMC 塊介質(zhì)中運(yùn)行引導(dǎo)加載程序。

這些類型的主板可以配置為在其中一個(gè)受支持的設(shè)備中存儲(chǔ)不可變的引導(dǎo)加載程序,然后將OTA可更新的引導(dǎo)加載程序存儲(chǔ)在另一個(gè)設(shè)備中。通常,可更新的引導(dǎo)加載程序?qū)⑴c根文件系統(tǒng)位于相同的介質(zhì)(即eMMC)中,因此很容易更新。由于“備用”媒體中的引導(dǎo)加載程序是不可變的,因此可以依賴它從“標(biāo)準(zhǔn)”位置的引導(dǎo)加載程序的損壞的OTA更新中恢復(fù)。

這種方法的問題在于,選擇引導(dǎo)設(shè)備通常需要物理訪問電路板以移動(dòng)跳線或更改開關(guān)設(shè)置。如果您的設(shè)備位于最終用戶可以訪問它們的位置,這可能是一個(gè)可行的選擇,因?yàn)樽罱K用戶可以在發(fā)生故障時(shí)選擇恢復(fù)介質(zhì)。這可以通過文檔或根據(jù)支持人員的指示來完成。

某些系統(tǒng)使用外部硬件來選擇引導(dǎo)加載程序。運(yùn)行RTOS的小型MCU可以監(jiān)視正確的系統(tǒng)活動(dòng),并在Linux系統(tǒng)未運(yùn)行時(shí)選擇備用引導(dǎo)加載程序。使用外部源正確檢測(cè)這可能很棘手,但看門狗計(jì)時(shí)器切換GPIO引腳或?qū)懭牍蚕韮?nèi)存可能就足夠了。這也是一個(gè)更復(fù)雜的設(shè)計(jì),需要根據(jù)您的系統(tǒng)要求進(jìn)行考慮。請(qǐng)注意,您可能需要考慮對(duì)MCU固件映像進(jìn)行OTA更新,這是另一個(gè)復(fù)雜程度。

選項(xiàng) 4:eMMC 引導(dǎo)分區(qū)

電子監(jiān)控器的 4.3 版[6]規(guī)范要求 2 個(gè)單獨(dú)的硬件啟動(dòng)分區(qū)。這些分區(qū)通常每個(gè)為 4MB,用于存儲(chǔ)引導(dǎo)加載程序。這些分區(qū)可以從Linux用戶空間中讀取和寫入,但是默認(rèn)情況下它們以只讀方式提供;讀寫功能是通過寫入 /sys 偽文件系統(tǒng)中的文件來實(shí)現(xiàn)的:

pYYBAGNMrbuAJdXdAAAoxid-9y8382.png

然后可以使用 dd 實(shí)用程序?qū)⒁龑?dǎo)加載程序?qū)懭脒@些分區(qū)

poYBAGNMrbyAKHQwAAAmIP97Zi4444.png

eMMC 設(shè)備用作引導(dǎo)塊的分區(qū)由設(shè)備本身設(shè)置的參數(shù)確定。這可以從 U-Boot 提示符中完成:

pYYBAGNMrb2AKBDtAAAqYd0LPrY784.png

或者從 Linux 用戶空間:

poYBAGNMrb6ANvLEAAArJrmfg4A515.png

曼德的方法

利用 eMMC 引導(dǎo)分區(qū),對(duì)分區(qū)的更新是原子的,并且獨(dú)立于對(duì)根文件系統(tǒng)的更新。eMMC 引導(dǎo)分區(qū)之間沒有自動(dòng)故障轉(zhuǎn)移,因此這不會(huì)減輕由于引導(dǎo)加載程序更新失敗而導(dǎo)致的磚砌設(shè)備的問題。但是,這確實(shí)可以輕松地僅向引導(dǎo)加載程序提供更新,而無(wú)需對(duì)根文件系統(tǒng)進(jìn)行任何特定調(diào)整。

由于在提供引導(dǎo)加載程序更新時(shí)存在磚砌板的風(fēng)險(xiǎn)以及OTA更新過程的魯棒性降低,Mender[7]不提供開箱即用的引導(dǎo)加載程序更新。如前所述,很難以通用方式完成,并且最終可能會(huì)非常特定于應(yīng)用程序和硬件。 Mender 更新模塊框架允許插件架構(gòu)支持自定義更新類型。Mender 可以使用自定義更新模塊支持任何任意負(fù)載類型。此插件體系結(jié)構(gòu)允許提供處理特定有效負(fù)載類型的自定義腳本。允許在特定系統(tǒng)中進(jìn)行引導(dǎo)加載程序更新可以使用更新模塊來實(shí)現(xiàn)。根據(jù)應(yīng)用程序的需要以及所使用的硬件的功能,可以使用上述任何方法。

結(jié)束語(yǔ)

在現(xiàn)場(chǎng)部署的設(shè)備中上傳系統(tǒng)引導(dǎo)加載程序存在許多風(fēng)險(xiǎn)。在不合時(shí)宜的時(shí)間發(fā)生電源故障可能會(huì)使設(shè)備在現(xiàn)場(chǎng)陷入困境,從而導(dǎo)致潛在的昂貴召回過程。但是,不提供引導(dǎo)加載程序更新機(jī)制可能會(huì)帶來不可接受的風(fēng)險(xiǎn),具體取決于特定應(yīng)用程序的配置文件。我們介紹了許多允許引導(dǎo)加載程序更新的方法,并討論了每種方法的優(yōu)缺點(diǎn)。作為系統(tǒng)設(shè)計(jì)人員,這有望讓您能夠?yàn)槟南到y(tǒng)做出適當(dāng)?shù)倪x擇,并幫助您快速進(jìn)入市場(chǎng),并適當(dāng)了解設(shè)計(jì)的風(fēng)險(xiǎn)。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 驅(qū)動(dòng)器
    +關(guān)注

    關(guān)注

    52

    文章

    8236

    瀏覽量

    146369
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2909

    文章

    44635

    瀏覽量

    373397
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209523
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    無(wú)線溫度傳感器設(shè)計(jì) 注意事項(xiàng)..!

    現(xiàn)在設(shè)計(jì)一個(gè) 無(wú)線溫度傳感器 帶藍(lán)牙的......藍(lán)牙會(huì)選擇SCR的模塊...請(qǐng)教各位同仁在設(shè)計(jì)藍(lán)牙模塊的大板時(shí)需要注意那些事項(xiàng)...可否列出幾個(gè)重點(diǎn)注意事項(xiàng).....
    發(fā)表于 07-21 17:12

    如何構(gòu)建帶有實(shí)時(shí)更新選項(xiàng)的引導(dǎo)加載程序

    大家好。我試圖構(gòu)建帶有實(shí)時(shí)更新選項(xiàng)的引導(dǎo)加載程序演示,但是我不能讓它工作。需要實(shí)時(shí)更新模式鏈接腳本來定義
    發(fā)表于 05-12 06:16

    數(shù)據(jù)的傳輸方式有哪些?注意事項(xiàng)是什么?

    數(shù)據(jù)的傳輸方式有哪些?組合數(shù)據(jù)的傳輸方式注意事項(xiàng)有哪些?
    發(fā)表于 12-07 07:48

    IMXRT117x輔助引導(dǎo)加載程序啟用加密XIP的注意事項(xiàng)是什么?

    大家好, 我有一個(gè)問題與 IMXRT117x 輔助引導(dǎo)加載程序(基于 NXP MCUBOOT)所需的修改有關(guān),以啟用駐留在外部串行 QSPI NOR 閃存中的加密 XIP 引導(dǎo)(到應(yīng)用
    發(fā)表于 05-30 07:35

    如何利用藍(lán)牙串行適配器通過引導(dǎo)加載讓器件實(shí)現(xiàn)無(wú)線觸發(fā)

    引導(dǎo)加載器支持產(chǎn)品固件的現(xiàn)場(chǎng)更新引導(dǎo)加載器可使用UART、I2C、SPI或USB等常見通信接口更新
    發(fā)表于 01-18 09:52 ?1228次閱讀

    AN20-儀表低通過濾的應(yīng)用注意事項(xiàng)

    AN20-儀表低通過濾的應(yīng)用注意事項(xiàng)
    發(fā)表于 04-30 08:58 ?8次下載
    AN20-儀表低<b class='flag-5'>通過</b>濾的應(yīng)用<b class='flag-5'>注意事項(xiàng)</b>

    空中更新引導(dǎo)加載程序OTA的注意事項(xiàng)

      在現(xiàn)場(chǎng)部署的設(shè)備中上傳系統(tǒng)引導(dǎo)加載程序存在許多風(fēng)險(xiǎn)。不合時(shí)宜的電源故障可能會(huì)使設(shè)備在現(xiàn)場(chǎng)陷入困境,從而導(dǎo)致潛在的昂貴的召回過程。
    發(fā)表于 07-01 09:16 ?812次閱讀
    空中<b class='flag-5'>更新</b><b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>OTA的<b class='flag-5'>注意事項(xiàng)</b>

    部署無(wú)線AP的十個(gè)注意事項(xiàng)

    部署無(wú)線AP的十個(gè)注意事項(xiàng)
    發(fā)表于 10-09 14:21 ?6次下載

    無(wú)線更新引導(dǎo)加載程序OTA的注意事項(xiàng)

    本文將討論在連接的設(shè)備中更新引導(dǎo)加載程序的問題。所討論的原則適用于任何軟件系統(tǒng),我們將專門討論運(yùn)行 Linux 的系統(tǒng)。
    的頭像 發(fā)表于 11-24 15:39 ?801次閱讀
    <b class='flag-5'>無(wú)線</b><b class='flag-5'>更新</b><b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>OTA的<b class='flag-5'>注意事項(xiàng)</b>

    如何使用CAN引導(dǎo)加載程序在MAXQ7665A中加載用戶應(yīng)用代碼

    CAN引導(dǎo)加載程序通過CAN接口對(duì)MAXQ7665A微控制器進(jìn)行編程。引導(dǎo)加載
    的頭像 發(fā)表于 02-21 16:40 ?795次閱讀
    如何使用CAN<b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>在MAXQ7665A中<b class='flag-5'>加載</b>用戶應(yīng)用代碼

    AN-2058: ADuCM355用戶引導(dǎo)加載程序

    用戶應(yīng)用程序可以實(shí)現(xiàn)自己的引導(dǎo)加載程序,提供一個(gè)用于現(xiàn)場(chǎng)自我更新的機(jī)制。實(shí)現(xiàn)自己的用戶引導(dǎo)
    的頭像 發(fā)表于 06-16 16:31 ?995次閱讀
    AN-2058: ADuCM355用戶<b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>

    無(wú)線開關(guān)量模塊使用注意事項(xiàng)

    思為無(wú)線今天為大家介紹使用開關(guān)量模塊的一些注意事項(xiàng),避免用戶操作不當(dāng),造成無(wú)線開關(guān)量模塊的損壞、返修的情況。
    的頭像 發(fā)表于 04-11 15:45 ?1116次閱讀
    <b class='flag-5'>無(wú)線</b>開關(guān)量模塊使用<b class='flag-5'>注意事項(xiàng)</b>

    自舉程序設(shè)計(jì)注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《自舉程序設(shè)計(jì)注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 09-25 09:22 ?0次下載
    自舉<b class='flag-5'>程序</b>設(shè)計(jì)<b class='flag-5'>注意事項(xiàng)</b>

    MSPM0實(shí)時(shí)固件更新(LFU)引導(dǎo)加載程序實(shí)施

    電子發(fā)燒友網(wǎng)站提供《MSPM0實(shí)時(shí)固件更新(LFU)引導(dǎo)加載程序實(shí)施.pdf》資料免費(fèi)下載
    發(fā)表于 08-29 09:58 ?0次下載
    MSPM0實(shí)時(shí)固件<b class='flag-5'>更新</b>(LFU)<b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>實(shí)施

    AWR294x主引導(dǎo)加載程序和輔助引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《AWR294x主引導(dǎo)加載程序和輔助引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 09:47 ?0次下載
    AWR294x主<b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>和輔助<b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>
    主站蜘蛛池模板: 日本高清视频在线www色| 狠狠色丁香婷婷综合久久片| 国产色婷婷亚洲| 六月丁香综合网| 国产高清精品自在久久| 欧美一级片手机在线观看| 午夜视频精品| 777色淫网站女女免费| 四虎精品成在线播放| 不卡中文字幕在线| 1000又爽又黄禁片| 特级毛片aaa免费版| videsgratis欧美另类| 啪啪91视频| 日韩美a一级毛片| 未成人禁止视频高清在线观看| 69xxx日本| 欧美三级在线免费观看| 天天干天天拍| 99久久精品免费看国产免费| 看毛片网| 爱插综合网| 四虎影视免费观看| 天天天天做夜夜夜夜| 女同性大尺度床戏视频| 精品国产亚洲人成在线| 97人洗澡人人澡人人爽| 色偷偷女男人的天堂亚洲网| 婷婷视频网站| 综合亚洲色图| 俺去啦五月| 亚洲欧美一区二区三区在线播放| 女张腿男人桶羞羞漫画| 国产亚洲精品久久久极品美女 | 成人在线综合| 黄h网站| 免费高清在线爱做视频| www.五月婷| 日本黄段视频| 国产三级日本三级日产三级66| 思思久久96热在精品不卡|