欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

ARM架構與Cortex內核:從指令集到嵌入式開發(fā)實戰(zhàn)

ARM架構與Cortex內核:從指令集到嵌入式開發(fā)實戰(zhàn) 1. 先說清楚ARM 到底是什么做嵌入式開發(fā)、搞系統(tǒng)移植、甚至只是面試聊技術方案總繞不開 ARM 這個詞。但很多剛入行的朋友容易把 ARM、Cortex、內核架構這幾個概念攪在一起一開口就是“我用的 STM32 是 ARM 內核”嚴謹來說這個說法不算全對但也不算全錯問題就出在層級沒分清楚。ARM 其實是一家公司但它不生產芯片只做兩件事設計指令集架構和處理器內核然后以 IP 授權的形式賣給芯片廠商。你在市面上看到的 STM32、NXP i.MX、瑞薩 RA、樹莓派里的博通芯片核心都是買了 ARM 的授權再根據(jù)自己的應用場景去集成外設、定制總線、堆內存控制器最終封裝成一顆完整的 SoC。所以梳理一下關系就清晰了ARM 公司定義指令集架構比如 ARMv7、ARMv8、ARMv9基于架構開發(fā)出具體的內核 IP比如 Cortex-M3、Cortex-A53芯片廠商買內核授權后做成各種 MCU/MPU/SoC。這就是 ARM 生態(tài)最底層的運行邏輯。你跑應用的時候看到的“ARM 架構”四個字往往指的是芯片是否兼容 ARM 的指令集比如跑 Ubuntu 的時候區(qū)分 arm64 鏡像指的就是這套指令體系。這篇文章從指令集架構講到內核設計再到 Cortex 家族的選型思路最后拆解實時安全機制的落地手段。搞懂這一條線后面看芯片手冊、做底層驅動、評估項目方案都會順暢很多。2. 架構和內核到底誰是誰的“上級”2.1 指令集架構ISA是契約內核是執(zhí)行者指令集架構Instruction Set Architecture ISA是軟件和硬件之間的契約規(guī)定了 CPU 能識別哪些指令、寄存器怎么組織、內存怎么訪問、異常怎么處理??梢园阉斫獬梢槐緟f(xié)議規(guī)范只要 CPU 遵守這本協(xié)議編譯好的程序就能在上面跑。ARM 這些年公開的 ISA 版本有 ARMv4、ARMv5、ARMv6、ARMv7、ARMv8、ARMv9 等。ARMv8 是一個重要分水嶺它引入了 AArch64 執(zhí)行狀態(tài)也就是我們常說的 64 位 ARM。在這之前ARMv7 及更早版本基本都是 32 位體系地址空間只有 4GB。到了 ARMv8CPU 既能跑 32 位舊指令AArch32也能跑全新的 64 位指令AArch64兼容性做得非常好這也是現(xiàn)在服務器和移動設備都能順利遷移到 64 位陣營的根本原因。內核Core則是 ISA 的具體物理實現(xiàn)。同一份 ARMv8 架構規(guī)范ARM 可以設計出性能取向的 Cortex-A76也可以設計出能效取向的 Cortex-A55。它們都能跑同樣的 64 位指令但是流水線深度、亂序執(zhí)行寬度、緩存大小、分支預測器設計完全不同。一個側重爆發(fā)性能一個側重省電跑同樣的算法耗時可能差好幾倍。這里就引出一個大家在選型時容易忽略的點光看“支持 ARMv8”還不夠還得看具體內核型號因為架構決定的是軟件兼容性內核型號決定的是真實性能表現(xiàn)。你在招聘 JD 里經??吹健笆煜?ARM 架構了解 Cortex-A 系列處理器”這種描述其實就是希望你既懂 ISA 層面的規(guī)則又懂具體內核的設計取舍。2.2 從 ARMv7 到 ARMv9指令集演進的關鍵節(jié)點ARMv7 時代最經典的是 ARMv7-A應用處理器和 ARMv7-M微控制器前者用 MMU支持跑 Linux 這種復雜操作系統(tǒng)后者用 MPU 或者干脆裸奔主打 Cortex-M 系列。很多老工程師對 ARMv7 的印象停留在“Cortex-A9 四核 1GB 內存跑 Android 4.0”那個年代 ARM 在手機 SoC 里已經大殺四方但是服務器和企業(yè)級市場還沒打開局面。ARMv8 的 64 位擴展解決了服務器的最大痛點——內存尋址和吞吐量。AArch64 支持 64 位虛擬地址實際實現(xiàn)通常用 48 位物理地址也能突破 4GB 限制。配合新增的 AES 加密指令、CRC 指令以及更規(guī)范化的 NEON 向量指令ARM 開始從移動端向服務器、網絡設備、邊緣計算全面滲透?,F(xiàn)在你在云上租一臺 arm64 實例編譯 Redis、Nginx 這些熱門服務性能已經很有競爭力。ARMv9 是最近這幾年的重點核心變化集中在機密計算CCA Confidential Compute Architecture、SVE2 向量指令集和更完善的安全隔離機制。SVE2 對多媒體編解碼、AI 推理這類向量密集型負載的提升非常明顯。不過 ARMv9 的 IP 目前主要出現(xiàn)在高端手機 SoC 和數(shù)據(jù)中心芯片里工業(yè)控制和物聯(lián)網端的 Cortex-M 系列還是老架構為主這個格局短期內不會變。2.3 指令集、微架構與芯片三層選型必須分開看很多項目失敗的根源就是選型的時候把三層混為一談。舉個實際例子你選了一顆基于 Cortex-A53 的工業(yè)級 SoC打算在上面跑 Linux 做視覺檢測結果發(fā)現(xiàn)單核性能完全扛不住推理負載。這里的問題不出在 ARMv8 架構上也不出在 Cortex-A53 這個內核上而是選型時就該用 Cortex-A72 甚至更高端的 A78 內核。三層拆開之后邏輯就清晰了指令集架構層決定軟件兼容性、工具鏈選擇、操作系統(tǒng)支持比如你的 Linux 發(fā)行版必須提供 arm64 版本內核和用戶態(tài)軟件包。微架構/內核層決定流水線深度、IPC每時鐘周期執(zhí)行的指令數(shù)、緩存層級、功耗水平比如 Cortex-A55 和 Cortex-A76 同樣跑 2GHzIPC 差距可能在 30% 以上。SoC 集成層決定外設豐富度、總線帶寬、內存控制器、電源管理、封裝尺寸比如同樣是 Cortex-M4 內核ST 的 STM32F4 和 NXP 的 Kinetis K6x 在外設上完全不同底層驅動根本不通用。三層各管一攤選型的時候一層一層往下篩先定 ISA 和操作系統(tǒng)決定能否跑你的軟件棧再選內核型號決定算力是否滿足最后看 SoC 廠商決定硬件外設是否匹配、量產供貨是否穩(wěn)定。3. Cortex 家族的“一分為三”A、R、M 的定位差異3.1 三兄弟各自負責什么場景Cortex 家族按應用場景分成了三條產品線命名規(guī)則也很有講究A 代表 Application應用R 代表 Real-time實時M 代表 Microcontroller微控制器。Cortex-A面向應用處理器跑 Linux、Android、Windows 這類富操作系統(tǒng)主要出現(xiàn)在手機、平板、服務器、樹莓派這類設備里。Cortex-A 系列的特點是具備 MMU內存管理單元能對虛擬地址做頁表映射每個進程擁有獨立的地址空間這是現(xiàn)代操作系統(tǒng)的前提。代表型號有 A53、A72、A76、A78、A510、A710、X1、X2 等。Cortex-R面向實時性要求極高的場景比如汽車制動系統(tǒng)、硬盤控制器、基帶信號處理、工業(yè)電機控制。R 系列沒有 MMU但有 MPU內存保護單元中斷響應延遲極低通常只有幾十納秒級別并且支持硬件鎖步Lock-Step雙核冗余兩個核執(zhí)行同樣的代碼輸出結果做實時比較一旦發(fā)現(xiàn)不一致立即報錯這是功能安全里常用的手段。Cortex-M面向微控制器市場主打低成本、低功耗、易開發(fā)。M 系列沒有 MMUMCU 里的 Flash 和 RAM 直接映射在統(tǒng)一地址空間里中斷延遲能做到 12 個時鐘周期以內配合 CMSISCortex Microcontroller Software Interface Standard ARM 官方提供的軟件接口標準生態(tài)開發(fā)效率非常高。代表型號有 M0、M3、M4、M7、M33、M55、M85 等。三條線之間沒有絕對的性能好壞之分只有適不適合場景的區(qū)別。你把 Cortex-A76 拿去做電機控制殺雞用牛刀是一方面更麻煩的是沒有硬件實時響應機制抖動一大電機就該嘯叫了。反過來你把 Cortex-M7 拿去做深度學習推理性能差到沒法看。3.2 M 系列的完整選型梯度M 系列的選擇可以做一個技術畫像方便上手就對號入座內核架構流水線關鍵特性典型場景Cortex-M0ARMv6-M2級面積最小、功耗最低、指令集精簡簡單傳感器、玩具、8位 MCU 升級替代Cortex-M0ARMv6-M2級比 M0 更省電增加分支預測低功耗 IoT 設備、可穿戴Cortex-M3ARMv7-M3級硬件除法、位帶操作、成熟生態(tài)工業(yè)控制、中端家電、電機驅動Cortex-M4ARMv7E-M3-5級帶 FPU 和 DSP 擴展部分型號數(shù)字信號處理、音頻算法、電機 FOCCortex-M7ARMv7E-M6級雙發(fā)射、指令/數(shù)據(jù)緩存、性能大幅提升圖形界面、嵌入式 AI、高性能控制Cortex-M33ARMv8-M3級TrustZone 安全隔離、協(xié)處理器接口安全支付、車規(guī) MCU、OTA 安全啟動Cortex-M55ARMv8.1-M4級Helium 向量擴展類似 NEON端側輕量 AI、語音識別、異常檢測Cortex-M85ARMv8.1-M6級性能最高的 M 系列帶 Helium復雜電機控制、實時音頻處理、AI MCU從 M3 到 M4多出來的主要是 DSP 指令和單精度浮點單元這意味著在沒有外部 DSP 芯片的情況下M4 可以直接跑 PID 控制算法、FFT、FIR 濾波這些數(shù)學密集型任務。如果算法里大量使用三角函數(shù)、矩陣運算M4 的 FPU 能把效率提升好幾倍代價是多花一兩塊錢的芯片成本。M7 的進步則體現(xiàn)在更高的主頻和更寬的總線很多型號跑 400MHz 以上不成問題但隨之而來的是功耗增加、PCB 設計難度提升需要在電源完整性和信號完整性上多花心思。3.3 A 系列的性能解構A 系列這邊型號數(shù)字大小和性能直接相關但不完全是線性關系。拿典型的移動芯片組合來舉例我們常說的 big.LITTLE 架構就是大核配小核大核用 A76/A78/X 系列處理突發(fā)重負載小核用 A55/A510 處理后臺任務和低頻負載兩者通過互聯(lián)總線協(xié)同工作既保證流暢度又控制功耗。Cortex-A53 是 A 系列里的經典能效之選ARMv8 架構中最廣泛部署的內核之一至今仍在大量入門級開發(fā)板和工業(yè)產品中使用。它采用順序雙發(fā)射流水線功耗表現(xiàn)極佳性能不算突出但在 28nm 工藝下做到 2GHz 左右也夠用。A72 和 A73 是上一代性能檔的主力目前依然活躍在中低端手機和平板方案里。A76 是一個重要里程碑它引入了更寬的解碼器和更強亂序執(zhí)行能力單核性能比 A75 提升了大約 35% 左右同時功耗控制在合理范圍內。如果做邊緣計算網關或者嵌入式服務器A72 或 A76 起步是明智選擇如果做可穿戴或者輕量級 RTOS 設備A53 仍是最穩(wěn)妥的方案。A 系列里還有 X 系列超大核是 ARM 性能王冠上的明珠但消費級產品里很少單獨用都是和 A 系列小核組成異構多核集群。4. 手把手梳理一條 ARM 芯片從復位到跑系統(tǒng)4.1 復位向量、啟動模式與存儲映射很多做應用層開發(fā)的工程師第一次接觸 ARM 底層開發(fā)最容易蒙的環(huán)節(jié)就是芯片上電之后到底執(zhí)行了什么。其實流程并不復雜但要先把幾個關鍵概念搞懂復位向量、啟動模式和存儲映射。ARM 內核的復位向量地址取決于架構。Cortex-M 系列固定從 0x00000000 取棧頂指針初始 SP從 0x00000004 取復位中斷向量初始 PC這是 ARMv6-M/ARMv7-M 的規(guī)定。而 Cortex-A 系列則從 0x00000000 開始取第一條指令但在實際 Linux 啟動中引導程序會先接管 CPU配置 DDR、初始化時鐘然后把內核鏡像拷貝到內存里跳轉執(zhí)行。啟動模式則是由芯片廠商通過 BOOT 引腳來配置的。以 NXP i.MX6ULL 為例它支持從 SD 卡、eMMC、NAND、NOR Flash、USB 下載等多種啟動介質選擇。Boot ROM 里固化了一段出廠代碼以下簡稱 ROM 代碼上電后先執(zhí)行 ROM 代碼它負責初始化時鐘、檢測啟動引腳狀態(tài)、把用戶代碼從指定介質搬運到內部 SRAM 或外部 DDR然后跳轉過去。嵌入式開發(fā)和 PC 開發(fā)最大的不同在于你的程序最終會被燒寫到 Flash 里掉電不丟失上電后由 CPU 自動加載。所以你在移植 U-Boot 時第一件事就是確認開發(fā)板的啟動撥碼開關狀態(tài)和 U-Boot 鏡像燒錄位置是否匹配否則就會出現(xiàn)“程序燒進去了但跑不起來”這種讓人血壓升高的問題。4.2 U-Boot、內核與設備樹的三級跳以典型的 ARM64 Linux 啟動鏈來說整個過程分三級SoC 內部 Boot ROM → 引導加載程序 U-Boot → Linux 內核。U-Boot 是整個鏈路的中間人它的任務是初始化 DDR 控制器、串口、存儲介質加載內核鏡像和設備樹到內存然后傳參跳轉。U-Boot 有兩個階段SPLSecondary Program Loader和主 U-Boot。SPL 放在片內 SRAM 里體積小負責最基礎的 DDR 初始化和把主 U-Boot 從 Flash/SD 卡加載到 DDR。主 U-Boot 才擁有完整功能支持文件系統(tǒng)、網絡、命令行交互。設備樹Device Tree是 ARM Linux 生態(tài)里非常關鍵的機制。因為 ARM 平臺碎片化嚴重同一份內核要支持各種不同外設配置的板卡如果所有硬件信息都寫死在內核源碼里內核會膨脹到無法維護。設備樹用 DTSDevice Tree Source描述板級硬件細節(jié)比如 GPIO 哪個引腳接了 LED、I2C 總線上掛了哪個傳感器芯片、中斷號是幾。編譯成 DTBDevice Tree Blob后由 U-Boot 加載進內存再把地址傳給內核。這套三級跳的好處是板子硬件變了只需要改 DTS 重新編譯 DTB不用動內核本體。這也是為什么你下載一個主線內核可以直接支持大量開發(fā)板刷不同板子的鏡像區(qū)別往往只在于附帶的不同 DTB 文件。4.3 中斷、異常與系統(tǒng)調用的處理鏈路操作系統(tǒng)的運行離不開中斷機制。ARM 的異常模型包括復位、未定義指令、SVC超級調用、prefetch abort、data abort、IRQ、FIQ 等類型。處理器發(fā)現(xiàn)異常后會跳轉到異常向量表Vector Table對應的入口地址保存當前狀態(tài)切換到特權模式執(zhí)行異常處理程序處理完再恢復現(xiàn)場。Cortex-M 的中斷控制器叫 NVICNested Vectored Interrupt Controller 嵌套向量中斷控制器它支持中斷嵌套高優(yōu)先級中斷可以打斷低優(yōu)先級中斷而且每個中斷源都有自己的向量入口硬件自動壓棧和出棧軟件負擔很輕。Cortex-A 的中斷控制器叫 GICGeneric Interrupt Controller 通用中斷控制器結構復雜不少支持 SPI共享外設中斷、PPI私有外設中斷、SGI軟件觸發(fā)中斷等多種類型是 Linux 內核處理設備驅動的核心樞紐。實際開發(fā)中如果發(fā)現(xiàn)中斷響應延遲異常高排查重點往往不在 CPU 本身而是檢查中斷服務函數(shù)里是不是寫了耗時操作比如 printf、延時、阻塞等待。正確的做法是在 ISR 里只做標志位置位和數(shù)據(jù)拷貝真正復雜的數(shù)據(jù)處理丟到任務或內核工作隊列里執(zhí)行。ARM 的中斷是硬件快速響應的軟件拖后腿這件事在任何平臺上都一樣常見。5. 工具鏈與編譯器選型從 ARM Compiler 5 到交叉編譯環(huán)境5.1 ARM Compiler 5 為什么還這么多人用ARM Compiler 5AC5是 ARM 公司早些年主推的 C/C 編譯器配套 Keil MDK 使用在 Cortex-M 生態(tài)里地位很高。很多老項目、車規(guī)項目、固件庫至今仍鎖死在 AC5 環(huán)境下核心原因是 AC5 對 ARMCC 語法的兼容性做得最好CMSIS 庫版本對應關系也成熟穩(wěn)定。AC5 的最后一個版本是 5.06 update 75.06u7也就是我們常說的 ARM Compiler 5.06u7。后來 ARM 推出了 AC6基于 LLVM 的 armclang編譯速度更快、C99/C11 標準支持更完整但 AC6 對代碼的檢查和優(yōu)化比 AC5 嚴格得多導致很多老代碼直接用 AC6 編譯時 warning 刷屏或者直接編譯不過。這既不完全是 AC6 的錯也不是代碼質量差更多是標準嚴格度提升帶來的遷移成本。如果項目沒有特殊的車規(guī)認證需求我建議新項目直接上 AC6因為 AC6 生成的代碼質量更高、官方長期維護、對 Cortex-M33/M55/M85 這些新內核支持更好。如果必須維護老項目保留 AC5 環(huán)境也行但要注意 AC5 已經停止功能更新固件庫和調試器插件的新版本可能適配不佳。5.2 交叉編譯環(huán)境的搭建與踩坑交叉編譯就是在一個架構上編譯出另一個架構上運行的程序。比如你在 x86 的 Ubuntu 上編譯 ARM64 的 Linux 內核就需要安裝交叉編譯工具鏈來替代本機 gcc。最常見的工具鏈是 arm-linux-gnueabihf-gcc32 位 ARM帶硬浮點和 aarch64-linux-gnu-gcc64 位 ARM。用 apt 下面的命令就可以安裝但這里有一個特別容易踩的坑工具鏈的浮點 ABIApplication Binary Interface必須和你目標系統(tǒng)保持一致。如果你的用戶空間是硬浮點編譯的卻用了軟浮點工具鏈運行時會出現(xiàn)無法解析的動態(tài)鏈接器錯誤非常隱蔽。交叉編譯環(huán)境搭建完成后還要確認 sysroot 是否正確。sysroot 是目標系統(tǒng)根文件系統(tǒng)的鏡像路徑交叉編譯器在編譯時需要用 sysroot 里的頭文件和庫文件來鏈接。如果你沒有指定 sysroot編譯器會默認尋找本機 x86 的頭文件和庫結果就是你“交叉編譯”出來的程序仍然是 x86 的放到 ARM 板子上根本無法運行。一個實用建議給交叉編譯環(huán)境寫一個獨立的腳本或者 Dockerfile把所有環(huán)境變量、工具鏈路徑、sysroot 路徑固化下來。我自己的習慣是每次新建嵌入式項目第一時間把工具鏈版本、編譯參數(shù)寫進 README免得三個月后自己都忘了環(huán)境怎么配的。5.3 ARM 生態(tài)里的服務器場景Redis、Node.js 等應用的部署差異隨著 ARM 服務器如華為鯤鵬、AWS Graviton崛起ARM64 架構在服務器端的應用生態(tài)已經非常完善。Redis、Nginx、MySQL、Java 等主流軟件都提供了官方 ARM64 版本。以 Redis 為例官方 Docker Hub 里直接有 redis:7-alpine 的 arm64v8 鏡像拉下來就能跑性能在 Graviton 實例上表現(xiàn)不輸 x86。我們團隊之前把一套基于 Redis Cluster 的緩存服務從 x86 遷移到 ARM 服務器過程比預期順利原因很簡單ARM64 的 Linux 內核和 GNU 工具鏈早已成熟Redis 本身是純 C 代碼編譯優(yōu)化差異不大。真正需要注意的反而是依賴鏈上的二進制包比如舊版本數(shù)據(jù)庫驅動、某些閉源監(jiān)控 agent可能沒有提供 ARM64 版本需要先確認所有依賴支持 ARM64 再動手遷移。Java 生態(tài)在 ARM 上的表現(xiàn)也很成熟OpenJDK 的 ARM64 版本由社區(qū)長期維護Spring Boot 應用基本上可以無感遷移。最大的坑反而是一些老舊的 JNI 庫比如用到了 x86 編譯的 .so 動態(tài)庫拿到 ARM 上肯定不行需要重新編譯源碼或者尋找 ARM 替代品。6. 實時安全機制MPU、TrustZone 與功能安全6.1 MPU 做了什么事和 MMU 有什么本質區(qū)別MMU內存管理單元是現(xiàn)代操作系統(tǒng)運行的基礎它負責虛擬地址到物理地址的轉換、頁表的維護、內存訪問權限控制和緩存策略管理。有了 MMU每個進程才能擁有獨立的地址空間一個進程崩潰了不會把別的進程的內存數(shù)據(jù)踩壞。MPU內存保護單元則完全不同它不做地址轉換只是給已有的物理地址空間設置訪問權限。Cortex-M 系列通常沒有 MMU只有 MPUMCU 里的 Flash、SRAM、外設寄存器都是直接尋址的物理地址。MPU 把地址空間劃分成若干個區(qū)域每個區(qū)域可以配置讀寫權限、執(zhí)行權限、緩存屬性一旦 CPU 訪問了違反權限設置的地址就會觸發(fā) MemManage Fault。聽起來有點像“簡化版 MMU”但設計初衷完全不同。MCU 里的軟件通常是單鏡像或者 RTOS 多任務并不需要虛擬地址映射MPU 的核心價值是防御防止野指針、棧溢出把關鍵數(shù)據(jù)區(qū)域踩壞防止普通任務訪問特權級外設寄存器從而實現(xiàn)軟件層面的故障隔離。我在做電機控制項目時會把控制算法的關鍵參數(shù)存放在受 MPU 保護的 SRAM 區(qū)域配置為只讀一旦發(fā)現(xiàn)程序異常寫入直接觸發(fā) HardFault 停機這樣至少能在現(xiàn)場快速暴露問題而不是讓異常數(shù)據(jù)在系統(tǒng)里悄悄擴散。6.2 TrustZone 與 Armv8-M 的安全擴展TrustZone 是 ARM 提出的系統(tǒng)級安全隔離技術在 Cortex-A 系列上早已廣泛應用完成了從 ARMv7-A 到 ARMv8-A 的過渡。它的做法是把整個系統(tǒng)從硬件層面劃分成安全世界Secure World和非安全世界Normal World兩個世界擁有獨立的特權等級和內存/外設訪問權限。普通操作系統(tǒng)運行在非安全世界即使內核完全被攻破攻擊者也無法訪問安全世界里的敏感數(shù)據(jù)。安全世界里跑的是一個精簡易用的安全內核如 Trusted Firmware-A 或華為的 iTrustee、高通的 QSEE負責密鑰管理、安全啟動、指紋比對、支付令牌處理等操作。在 Cortex-M 上TrustZone 從 ARMv8-M 架構開始引入M33/M55/M85 都支持這個特性。對于物聯(lián)網設備來說這是從芯片層面解決固件安全和數(shù)據(jù)安全的重要手段安全啟動可以阻止固件被篡改或替換安全存儲可以保護密鑰和證書不被普通應用讀取安全調試可以在量產時關閉調試接口防止熔絲被讀出。實際項目中應用 TrustZone 需要花不少精力因為安全世界和非安全世界之間的通信要走專用的 SMCSecure Monitor Call指令或者 TrustZone 相關的 API驅動適配也比普通外設復雜。如果只是做一個消費級小產品安全需求不高可以先不開 TrustZone但做車規(guī)、支付、隱私保護類產品這是必備能力。6.3 功能安全鎖步、ECC 與診斷覆蓋率功能安全Functional Safety是汽車、工業(yè)、醫(yī)療等領域繞不開的話題ARM 在這方面的布局相當深入。Cortex-R 系列支持鎖步Lock-Step模式兩顆 CPU 核心同時執(zhí)行相同指令硬件比較器逐周期比對輸出一旦發(fā)現(xiàn)差異就觸發(fā)安全響應比如切斷執(zhí)行器或進入安全狀態(tài)。這種冗余設計的好處是不需要軟件額外參與硬件自動實現(xiàn)故障檢測但代價是算力只有單核可用因為兩個核其實是在跑一份代碼。Cortex-M 在功能安全方面也有完備的支持比如 Cortex-M33 的安全版本可以配合 ARM 推出的 Safety Package提供診斷庫、安全手冊、FMEDA故障模式、影響和診斷分析報告幫助開發(fā)者快速完成 IEC 61508 或 ISO 26262 的認證流程。ECCError Correcting Code 糾錯碼則負責保護內存數(shù)據(jù)它能檢測并糾正單比特翻轉錯誤在內存輻射環(huán)境或者長期運行的設備里這是防止數(shù)據(jù)悄然變壞的重要手段。做功能安全項目千萬不要抱著“硬件能力到位就行了”的心態(tài)。真正難的是軟件層面的安全機制設計故障注入測試要做安全機制失效時的降級策略要寫診斷覆蓋率的計算要詳細記錄認證評審時專家會逐條核對。ARM 給的安全手冊只是起點項目級的安全策略才是認證能否通過的關鍵。6.4 實時性不只是中斷快任務調度和資源共享同樣關鍵很多人理解 ARM 的實時性第一反應是中斷響應延遲覺得“我的中斷 12 個周期就進去了所以我是實時的”這是常見誤區(qū)。真正的實時性是一個系統(tǒng)工程中斷響應只是其中一個環(huán)節(jié)。一個典型的實時系統(tǒng)比如汽車 ECU里跑著多個不同周期的任務10ms 的任務負責扭矩計算1ms 的任務負責電流環(huán)100ms 的任務負責通訊診斷。任務調度器需要在保證高優(yōu)先級任務準時執(zhí)行的同時不讓低優(yōu)先級任務餓死還必須在任務間安全共享數(shù)據(jù)。這個過程中任務切換開銷、互斥鎖等待時間、Cache 抖動、總線訪問沖突都會影響實時性。ARM 在實時性方面提供了硬件支持NVIC 的嵌套中斷可以搶占正在執(zhí)行的低優(yōu)先級任務FPU 的自動保存寄存器狀態(tài)減少了中斷服務函數(shù)里的軟件保存開銷集成的 TCMTightly Coupled Memory 緊耦合內存讓關鍵代碼和數(shù)據(jù)可以零等待訪問。但最終能不能滿足實時性要求還得看你的代碼設計中斷里有沒有關掉全局中斷太久任務是不是用了不可重入的函數(shù)通信協(xié)議棧有沒有在關鍵路徑上做了多余拷貝。做實時系統(tǒng)的一條基本經驗是先列出所有任務的時序要求周期、截止時間、最壞執(zhí)行時間畫出時間軸找出排列沖突點再考慮中斷優(yōu)先級和任務優(yōu)先級的配置。有些工程師一上來就調多重優(yōu)先級嵌套結果一個高優(yōu)先級中斷把 CPU 占死了其他所有任務全部餓死這就是典型的“硬件實時軟件不實時”。7. 實操中最常遇到的 6 個 ARM 開發(fā)問題7.1 為什么燒錄提示 “No Cortex-M SW Device Found”這是一個出現(xiàn)頻率極高的調試錯誤幾乎每個用 ST-Link 或者 J-Link 調 Cortex-M 芯片的人都遇到過。首先要理解這句話的含義調試器搜索不到 SWDSerial Wire Debug接口上的目標設備也就是目標芯片沒有響應調試請求。常見原因有這些目標板未上電或者供電不足SWDIO 和 SWCLK 兩根線接反或者虛焊目標芯片開啟了讀保護導致調試接口被鎖定復位電路異常芯片一直處于復位狀態(tài)調試器固件版本過舊不兼容當前內核。排查思路是先用萬用表量芯片電源和 GND 是否正常再檢查 SWD 兩線是否連接到調試器的正確引腳然后用調試器的命令行工具嘗試連接并加上復位引腳控制最后如果確認是讀保護就需要用芯片廠商的燒錄工具進行全片擦除解鎖。這里分享一個經驗調試器與目標板之間的連接線越短越好特別是 SWD 時鐘頻率較高時長線纜會造成信號反射影響時序。把線長控制在 10cm 以內報錯概率大幅下降。如果不得不走長線就把 SWD 時鐘降下來比如從 4MHz 降到 1MHz問題往往迎刃而解。7.2 為什么 “Failed to download” 但偶爾又能連上調試器這個問題的隱蔽性比上面那個高不少。芯片偶爾能連上大多數(shù)情況下又報下載失敗典型原因是目標芯片的調試接口連接不穩(wěn)定或者芯片內部的調試組件工作狀態(tài)異常。比較常見的一種場景是你的程序里把 SWD 引腳復用成了 GPIO上電之后程序立刻執(zhí)行引腳重映射SWD 接口就被關閉了。此時調試器在芯片復位后的極短窗口內還能連上但程序一旦跑起來調試通道就斷了所以出現(xiàn)“時好時壞”的詭異表現(xiàn)。解決辦法是把下載算法里的 Reset and Run 選項關掉讓程序下載完成后不要立即運行保持芯片在復位狀態(tài)然后再嘗試連接或者按住復位鍵同時點擊下載時機掐準也能成功。如果做的是低功耗產品還有另一種情況芯片進入睡眠模式時調試時鐘被關閉調試器無法喚醒內核。對策是在低功耗代碼里加一個編譯開關調試階段禁用睡眠模式量產版本再打開。7.3 程序在 RAM 里跑得好好的燒進 Flash 就死機這類問題在 Cortex-M 開發(fā)中非常典型。程序通過調試器直接加載到 RAM 運行一切正常只要燒寫進 Flash復位后行為就完全不對。原因往往不是代碼邏輯的問題而是地址映射和啟動配置之間的錯位。最常見的坑是中斷向量表位置不對。Cortex-M 上電后默認從 0x00000000 取棧頂指針從 0x00000004 取復位向量。如果你的程序鏈接到 Flash 地址比如 STM32F103 的 0x08000000但編譯時沒有把向量表放到 Flash 起始位置復位后 CPU 取出的棧指針和復位向量全是垃圾數(shù)據(jù)自然跑飛。解決方法是檢查鏈接腳本里向量表的放置地址確保和實際燒錄地址一致。另一個隱蔽原因是 Flash 等待周期配置不對。CPU 主頻比較高的時候Flash 的讀取速度跟不上需要配置 Flash 等待周期Flash Latency。這個寄存器配置錯誤后CPU 從 Flash 取指令偶爾會拿到錯誤數(shù)據(jù)表現(xiàn)為“隨機死機”。在啟動代碼里正確配置 Flash 等待周期和電源電壓范圍是基本功但很多人圖省事跳過了最后被坑得體無完膚。7.4 為什么 A 系列開發(fā)板啟動時卡在 “Starting kernel ...”Cortex-A 平臺啟動時報這個提示說明 U-Boot 運行正常但在把控制權交給 Linux 內核時出了問題。Linux 內核根本沒跑起來掛在啟動早期階段。常見原因一個是設備樹里內存節(jié)點配置錯誤內核發(fā)現(xiàn)的內存地址和 U-Boot 實際初始化 DDR 的地址對不上內核訪問內存直接掛掉。解決思路是打開內核早期打印earlycon在 bootargs 里加上 consolettyAMA0,115200 這類參數(shù)以及 earlyprintk才能看到內核早期輸出信息定位是在哪一步掛掉的。還有一個常見原因是內核鏡像格式不匹配。U-Boot 需要 booti 命令來引導 arm64 的 Image 格式內核如果你用了 bootm 去引導舊式 uImage或者 Image 內核沒被打包好跳轉后內核代碼根本不可執(zhí)行。多確認 U-Boot 的 bootcmd 環(huán)境變量看看實際的啟動命令是否是 booti $kernel_addr_r - $fdt_addr_r這個細節(jié)能避免很多莫名其妙的問題。7.5 為什么交叉編譯出來的程序在 ARM 板上提示 “No such file or directory”這個問題看起來詭異文件明明存在但 shell 說找不到。實際原因和文件存在與否無關而是動態(tài)鏈接器路徑不對。交叉編譯時編譯器默認把動態(tài)鏈接器的路徑寫在 ELF 文件的 INTERP 段里。比如在 x86 Ubuntu 上交叉編譯 ARM 程序默認的鏈接器路徑可能是 /lib/ld-linux-armhf.so.3但你目標板上的動態(tài)鏈接器在 /lib/ld-linux-armhf.so.3如果目標板根文件系統(tǒng)里沒有這個文件內核就沒法加載程序shell 就會誤報“文件不存在”。解決辦法有幾種第一種是交叉編譯時用 -Wl,--dynamic-linker/lib/ld-linux-armhf.so.3 手動指定正確的鏈接器路徑第二種是確保目標板根文件系統(tǒng)里有對應的動態(tài)鏈接器第三種更省心的方法是直接用目標板上的原生編譯器編譯代碼但工程量大時往往不現(xiàn)實。還有一種情況是目標板內核缺少對 ELF 格式的支持比如某些精簡內核沒開 CONFIG_BINFMT_ELF也能導致同樣的報錯不過這種場景相對少見一般先排查動態(tài)鏈接器路徑。7.6 ARM64 上跑 Docker 容器遇到 “exec format error”這個問題在 ARM 服務器剛開始普及時非常常見現(xiàn)在的云環(huán)境里依然會遇到。原因非常直白Docker 鏡像是按架構發(fā)布的你在 x86 機器上構建并 push 的鏡像是 amd64 架構的拉到 ARM64 機器上運行時容器里的可執(zhí)行文件是 x86 指令集ARM CPU 不識別底層就會報 exec format error。解決辦法也簡單構建鏡像是用 ARM 架構的基礎鏡像重新構建或者直接用 docker buildx 做多架構構建一次性產出 amd64 和 arm64 兩個平臺的鏡像然后在 ARM 機器上拉取對應標簽即可。如果項目里用的是第三方鏡像優(yōu)先選擇官方發(fā)布的 multi-arch 鏡像比如 redis、nginx 的官方鏡像都支持。這個問題的另一個隱藏坑是如果你用了 qemu 模擬器跑 x86 鏡像雖然能跑起來但性能損失大不說還可能出現(xiàn)各種兼容性問題。生產環(huán)境一定要用原生 ARM 架構的鏡像就不要用模擬方案了。8. 從 ARM 生態(tài)看個人學習與項目落地路徑學了這么多概念和原理很多朋友最大的困惑是我該怎么從“知道”到“會用”。我的建議是從一條主線往下扎先選一塊 Cortex-M 開發(fā)板把裸機編程跑通理解啟動文件、中斷向量表、GPIO/UART/Timer 這些最基本的東西然后上 RTOS比如 FreeRTOS把任務調度、信號量、消息隊列搞明白再往后可以嘗試 Cortex-A 平臺用樹莓派或者香橙派之類的板子跑 Linux 驅動開發(fā)從寫一個簡單的字符設備驅動開始慢慢接觸設備樹、中斷、DMA、內核模塊編譯。ARM 生態(tài)的獨特之處在于它是一個從底層到頂層貫通的技術棧指令集、內核微架構、SoC 集成、啟動鏈路、操作系統(tǒng)適配、應用開發(fā)每一層都有海量崗位需求但每一層又并非完全割裂。搞底層的人如果懂一些應用層邏輯寫驅動的時候會更清楚數(shù)據(jù)最終怎么被消費搞應用層的人如果理解指令集和內存模型排查性能瓶頸時就不會停留在黑盒猜測。另一個建議是堅持看 ARM 的官方文檔和芯片廠商的手冊而不是只刷網上的碎片化帖子。ARM Architecture Reference Manual 非常勸退但配合具體問題去查收益極高。芯片廠商的參考手冊比如 STM32 Reference Manual也是同類情況很多細節(jié)網上沒有中文權威解釋但手冊里一定寫得明明白白。在這個領域沉淀久了你會發(fā)現(xiàn) ARM 的生態(tài)邏輯其實很統(tǒng)一它用指令集劃分軟件世界用內核劃分性能檔位用安全機制劃分可靠性等級再用高度可配置的 IP 授權模式讓每家芯片廠商都能在統(tǒng)一的生態(tài)里玩出自己的差異化。理解了這一層再去看任何一款 ARM 芯片都不過是同一套底層規(guī)則在不同的應用場景下的具體投影。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99色免费视频| 色婷婷小说网| 亚洲成人av在线| 五月丁香综合激情| 五月天综合视频网| 色丁香久久久| 久香草视频在线观看| 亚洲狠狠婷婷| 丁香婷婷老司机久操| 日本色色色| 伊人丁香花综合影院| 26uuu丁香婷婷五月| 丁香五月五月婷婷欧美大香蕉| 棕合影院色色| 久热69| 亚洲 精品 综合 精品| 99色在线视频观看| 激情婷婷丁香色五月| 少妇AB又爽又紧无码网站| 婷婷五月天亚洲| 五月天色婷婷av| 久久综合干| 色五月美女| 91久久久久久久| 五月丁香激情综合网| 呦呦v线| 免费黄色片子| 玖玖婷婷五月天| 丁香五月成人自拍| 欧美日韩精品一区二区三区钱| 夜精品无码A片一区二区蜜桃| 亚洲不卡| 日韩啊啊啊| 五月丁香婷婷综合久久| 亚洲第一成人无码A片| 色婷婷五月婷婷五月婷婷五月| 九月丁香| 亚洲色色图片| 热的无码综合视频| 五月丁香啪啪综合| 色婷婷日本| 狠狠操狠狠操| 日本久久精品| 色婷婷丁香五月| 极品人妻VideOssS人妻| 亚洲精品无码99热| 久久婷婷草| 久久码久久无清| Av中文在线| 五月婷婷 婷婷五月 一区二区 久久久| 色噜噜狠狠色综合日日| 99久久超级| 亚洲午夜成人av电影网| 婷婷色五月天色色| 久久99久久久久久| 五月丁香久久综合精品| www.成人婷婷综合| 亚洲网站999| 狠狠操狠狠插| 99久久网站| 五月色网| 五月丁香激情综合网官网| 亚洲AV无码电影| 欲求不满的人妻| 婷婷九月丁香中文| 91操人视频| 5月激情天| 五月婷婷深深的爱| 夜夜操天天爽| 五月天激情小说| 女人天堂AV| 无码 av电影| 玖玖婷婷五月天毛片| 色停停影院五月天| 五月综合激情久久| 五月天精品视频| 精品乱码久久久久| 99热成人| 另类亚洲视频| 亚洲五月婷婷在线| 五月丁香激情四射| 亚洲电影在线观看| 婷婷久久99| 六月丁香基地| 色欲久久久久久综合网综合网| 狠狠色色| 99久热在线精品99re6热| 久xxxx| 人人澡玖玖一| 色婷婷五月天视频网站| 可以免费观看的AV| 在线另类视频| 开心激情五月天网| 亚洲视频在线网站| 色色色999| 99热这里只有精品一| 五月婷婷之综合激情| 99综合久久| 亚洲V国产V欧美V久久久久久| 91狼友视频在线观看| se99视频| 日本三级中国三级99人妇网站| 色青青电影色五月| 激情精品久久| 九九在线精点品| 综合久久五月| 五月丁香六月情婷婷久久| 激情婷婷六月天| 色婷五月| 久久视屏这里只有久久| 影音先锋一区| 骚五月婷婷| 啄木鸟黑丝一区二区| 欧美五月婷婷| 久久资源综合| 五月天色网站| 九月激情婷婷丁香| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片 | 婷婷激情五月天网站| 99精品22| 五月天婷婷狂暴白浆| 五月丁香啪啪激情| 九九五月天| 91高潮喷水久久久久久久久 | 国产毛多水多女人A片| 日本久久人| 丁香五月天综合网| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | www.夜夜操.con| 天天干天天爽| 爆乳熟女一区二区三区爆乳| 九九在线精品| 99精品在线观看视频| 五月婷婷福利| 色色丁香婷婷五月天| 亚洲艹网| 乱精品一区字幕二区| 天堂综合久久| 97超碰在线免费观看| 色色色色色色色色色色色色色色,网站| 26uuu色噜噜精品一区| 色婷婷免费观看| 欧美三级级99久久| 国产综合婷婷| 日韩无码专区| 91蜜桃婷婷狠狠久久综合9色| 久久九九中文字幕| 久久99网| 五月丁香久久激情网| 99精品无码| 色婷婷在线综合色播网| 狠狠操狠狠色| 久久hd| 五月天婷婷色色网| 日日色综合| 91热久久| 深夜婷婷 丁香| 久久香蕉婷婷五月天| 亚洲第一成人无码A片| WWW、日本色丁香co m| 狠狠五月天| 婷婷丁香69精华| 久综合网| 九九精品网| 色婷婷无吗| 裸体美女丁香五月天。| 丁香五月1页| 大香蕉五月天婷婷| 26uuu亚洲精品国产| 丰滿爆乳一区二区三区| 久久婷网| 激情网 五月天| 日本不卡高字幕在线2019| 国产阿姨日皮艹逼内射视频| www.99操.com| 亚洲五月婷婷| 99热这里只有精品18| 中文字幕五月久久婷婷| 五月激情在线| 五月天婷婷无码| yellow视频在线观看91| 国外亚洲成AV人片在线观看| 婷婷五月天AV在线| 天天操夜夜玩!| 国产黄色av| 丁香色色色| 久久五月天大美女| 婷婷久久女人| 久久精品99| 天天舔天天摸天天透| 亚洲啪啪精品| 99年操人人爽| 五月天大香蕉| 99热在线播放| 婷婷久久六月费| 激情综合色婷婷啪啪六月天| 九九综合影音先锋| 婷婷金品综合视频| 噜噜狠狠色综合久| 夜丁香五月婷婷| 婷婷久久丁香五月| www.九九婷婷| av高清无码| 丁香五月亚综合图片| 色综合久久天天综合网| 丁香婷婷综合喷| 高清无码视频网址| 丁香久久五月婷综合| 激情纯色婷婷五月天在线不卡视频| 99人人干人人操| 亚洲欧美婷婷五月色综合| 丁香色五月婷婷91桃色| 免费看成人AA片无码视频吃奶| 五月天婷婷在线AN| 激情五月六月丁香| 久热这里有精品视频| 五月花激情网| 久久精品日| 91chinese在线| 激情中文在线| 日日干天天| 欧美毛片www| 99色网站| 久热99热| 欧美三级黄色片久久| 五月丁香婷婷伊人日韩| 成人国产网站在线免费看| 91色在线/日韩| 日日干天天爽| 五月婷婷亚洲| 久草热在线视频| 五月天婷婷深深爱| 五月丁香六月激情综合在线| 中文字幕日韩无码制服诱或| 亚洲综合视频天天精品| 美腿丝袜AV天堂网| 五月婷色丁香| 天天日夜夜草进麻麻的子宫| 久热这里有精品视频| 91操片| 免费成人网在线观看| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 五月婷婷开心综合| 久久思思热视频| 开心五月丁香综合久久| 狠狠操天天操天天操| 超碰免费在线| 日本婷婷网| 天天射影| 五月综合婷婷网| 狠狠88综合久久久久噜噜噜| 丁香五月天在线直播观看| 99色综合| www色婷婷久久综合久色| 99久久丝| 这里只有精品久| 99这里只有精品在线| 电影爱拉战争免费观看| 草婷婷在线| 日操五月婷| 五月婷婷丁香伦理网| 怕怕av| 亚洲激情图文小说| 五月天成人在线播放丁香| 久久这里都是精品视频| 天天激情| 九九综合久久| 无码少妇高潮喷水A片免费| 中字幕视频在线永久在线观看免费| 久久婷婷色| www.狠狠操| 九九Av| 成人国产欧美大片一区| 99玖玖视频| 99热第一页| 99久超碰| 色 五月俺去也| 色丁香久综合在线久综合在线观看| 呦呦视频无码播放| 亚洲天堂大香蕉| 五月婷色色| 另类视频五月天| 丁香六月婷婷久久综合| 婷婷香蕉视频| 5月婷婷综合| 五月天欧美 另类小说| A A色色| 激情丁香五月婷婷| 中文字幕无码人妻少妇免费视频| 丁香五夜激情四射夜夜夜| 婷婷刺激综合| www.狠狠操.con| 激情5月婷婷| 黄网免费看| 嫩草AV久久伊人妇女超级A| 一级黄在线| 97超级碰碰碰| 激情五月婷婷伊人| 激情久久久久久| 亚洲熟妇AV乱码在线观看| 亚洲中文字幕在线电影| 五月丁香六月色婷| 亚洲VA口| 99丁香五月| 五月天停停日日| 日本本土色网第一区| 99re这里只有精品在线观看| 26uuu精品一区二区| 极骚大香蕉伊人| 4438激情网| WWW激情五月天| 亚洲在线操| 北条麻妃九九九国产精品视频| 欧美操我| 99热日韩| 国产真实乱了老女人视频| 五月天丁香婷婷社区| 精品国产人人爱人人| 亚洲另类视频| 婷婷大香焦| 午夜一区| 五月婷婷中文字幕| 激情图片婷婷丁香五月| 婷婷开心久久| 日韩青青| 日韩久久这里只有精品| 少妇做爰免费视看片| 婷婷五月丁香91| 色婷亚洲| 婷婷五月性感| 亚洲AAAA网| 狠狠综合| 俺来也综合网精品一区| 99ri精品| 中文字幕在线免费观看视频| 中文字幕,综合,91| 99在线视频观看| 欧洲永久精品| 亚洲综合五月天婷婷丁香| 91久久电影| 婷婷五月天偷拍| 中文字幕在线免费看线人| 91性高潮久久久久久久久| 亚洲国产精品VA在线看黑人| 婷婷久久在线| 天天色噜| 激情久久久久久| 久久九九色| 狠狠久久婷婷| 99九九在线精品热动漫| 99热这里只有精品1025| 91九色网| 色色色视频免费无码| 99自拍网| 丁香色五月婷婷17C| AV五月丁香| 婷婷综合色网| 亚洲午夜AV| 亚洲操逼片| 爆乳熟妇一区二区三区爆乳照片| 五月天丁香综合| 久久久久亚洲AV无码网影音先锋| AV在线中文| 深夜男女福利刺激影院一区完整| 大香蕉婷婷| 色五月av| 开心五月色婷婷综合开心网| 中文字幕婷婷在线| 久久99网站| 日本老女人黄页在线播放| 亚洲操精品| 欧美色色色色色色色| 久久9久| 天天综合激情| 婷婷五月天天| 国产成人AV在线播放 | www,8050,午夜三级| 97热这里只有精品| 九九热99精品| 99精品高潮| 影视av久久久噜噜噜噜噜三级| 色情婷婷。| 五月丁香婷婷色| 4399在线观看免费高清电视剧| 亚洲精品久久久久久久久久吃药| 五月网在线| 超碰网站在线观看| 九九色色| 色五月婷婷一二| 97视频久久| 九九亚洲视频| 日韩啊啊啊| 中文字幕在线免费观看视频| 操大屄五月天视频| 亚洲中文字幕av| 五月丁香激情五月天| 懂色av粉嫩av蜜臀av| 九九婷婷五月天| 久久婷狠狠色| 狠狠婷婷日韩| 99精品视频网| 噜噜狠狠色| 九九热视频精品2| 婷婷99狠| 99热在线观看| 久久大香蕉同僚| 五月天婷婷在线观看精品男人| 久久99网| 黄桃AV无码免费一区二区三区| 久久这里有精品视频在线免费观看| 色婷婷色九月| 在线免费视频caop| 天天做天天爱天天爽| 五月激情婷婷开心| 久久这里只有精品07 | 五月综合色播播丁香婷婷| 狠狠se| 成人做爰A片免费看网站找不到了| 99av视频| 深爱激情网婷婷| 99热在线资源| 色网五月婷婷| 97干在线视频| 五月婷婷大香蕉| 激情婷婷五月基地| 色五月婷婷五月久久| 91精品人妻少妇无码影院| 99在线精品免费视频| 色色色在线观看| 激情美女五月天激情在线| 996er热| 丁香五月婷婷综合激情啪啪啪啪啪啪啪 | 日韩AV中文字幕在线| 99性爱视频| 一起草无码| 天天操狠狠操| 五月丁香六月花| site:picc-up.com| 五月天色狠狠| 亚洲艹网| 激情婷婷丁香五月天小说| 色噜久| 青青久久五月| 久久综合五月天激情小说网站| 色播五月| 99热这里只有精品9| 婷婷中文字幕网| 99爱在线精品视频免费观看| 人人爽亚洲| 深爱激情网婷婷| 九九视频精品这里只有| 色情·com| 激情五月天婷婷直播| 亚洲六月色婷婷| 《久久综合九色综合97婷婷| 91久久电影| 色丁香五月婷婷综合久久| 亚洲第一成人无码A片| 五月婷在线| 深爱激情五月网| 久久久五月天| 人人爱人人草| 亚洲妇女熟BBW| 91丨九色丨东北熟女| 丁香色五月 97干| 五月天婷婷激情小说电影| 六月婷婷综合| 欧洲色色| 播丁香五月婷婷欧美| www,婷婷,com| 91热久| 日韩大片艹艹| 97资源碰碰| a网站免费观看| 人人人操Av| 婷婷爱综合| 678五月丁香亚洲综合| 久久五月激情网| 就爱射中文字幕资源网| 99热国产免费| 亚洲色另类| 国产看真人毛片爱做A片| 日本熟妇乱妇熟色A片蜜桃| 久久久国产精品黄毛片| 丁香婷婷老司机久操| 69综合在线| 九九婷婷综合| 午夜九九电影| 天天做天天爽| 99视频只有精品| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 桃色激情婷婷伊人网| 色色色.com| 色五月综合激情| 婷婷成人视频| 婷婷五月天激情小说| 五月久久丁香| 日本啪啪天堂| 玖久精品视频9| 五月婷婷色播| 婷婷久久综合| 人人操人人干AV| 99热这里只有在线播放| 久热只有精品| 人与禽A片啪啪| 99视频在线观看视频| 久久激情综合| 99热亚洲精品| 九九激情网| 五月婷婷久久爱| 日韩成人网址| www激情五月天| 色色色色色色色色综合网| 色五月情| 五月婷婷三级| 色五月色五天免费视频| WWW.桔色成人.COM| 婷婷综合色图| 五月天综合激情网| 99精品国产在热久久| 另类亚洲视频| 99色视频免费在线规看| 婷婷五月天视频| 久久五月情| 久色视频首页| 婷婷久久五月天| 在线日韩av| 丁香六月AV| 日韩黄色电影| 91伦| 色高清无码视频| 五月婷婷六月丁香| 日韩另类在线观看| 99热国产这里只有精品| 国产AV影片| 人妻射精AV| 激情视频综合| 五月天丁香综合在线| 婷婷激情区| 欧美25p| 久婷首页| 色色色热热热| 婷婷影院欧美| 日本色色色| 色色五月婷婷网| 色色永久| 天天色粽合合合合合合合| 成人五月丁香社区| 香蕉狠狠爱视频| 激情国产综合| 免费不卡狠操美女视频网| 日韩久久成人| 六月亭亭久久综合激情| 综合色、色综合| 热无码A∨| 色偷偷五月天| 深爱五月激情网| 色情婷婷五月天| 久热大香蕉| 色五月天堂| 五月丁香好婷婷A片网| 五月婷婷第四色| 亚洲色图五月丁香五月婷婷| 99免费视频网| 久久婷婷东京热大香樵| 婷五月天| 99热亚洲| 丁香六月欧美| 欧美激情五月天在线观看| 久久九九综合| 天天摸日日舔狠狠添婷婷婷| 狠狠爱深色婷婷综合| 婷婷夜夜夜夜| 日韩 mm 不卡| 色情五月天丁香社区| 久Se视频在线观看| www.99热视频| 婷婷丁香五月六月激情| 色五月美女| 五月婷婷色五月| 操逼巨乳91| 在线中文字幕视频| 热这里只有精| 4438全国最大视频成人网站在线观看| 狠狠穞A片一區二區三區| 久热丁香| 久久五月天婷婷| 丁香五月天激情综合网| 色九综合| 六月天婷婷| 第四色婷婷最爱| 久久综合最新网址| 玖玖爱伊人| 激情久久四色| 大香人妻| 婷婷开心激情| 99亚洲无码| 色99在线看| 天天干天天操天天拍| 性 色 婷婷| 婷婷五月综合免费在线| 久久久婷| 99日韩网站| www.henhenl| 国产FREESEXVIDEOS性中国| 66精品成人免费网站在线观看 | 亚州精品色情无码A片| 精品一二三区久久AAA片| www.成人婷婷综合| 狠狠做五月| 丰滿爆乳一区二区三区| 97人人超| 五月情婷婷| 婷婷午夜| 我想看国产大学生口爆吞精的视频| 丁香六月婷婷开心| 天天色综合网1| 亚洲另类电影| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 久久九九热视频| 五月天激情国产综合AV| 色色色婷婷五月天| 婷婷99视频全集高清| 五月天久久婷婷| 丁香亚洲婷婷五月| 综合色播| 97人妻碰碰碰久久| 超碰免费成人网站| 婷婷六月丁香五月| 亚洲熟妇无码乱子AV电影| 青草久久五月婷伊人| 中文字幕丰满人妻无码专区| yw国产AV| 激情六月天| 五月丁香精品| 婷婷五月天堂| 久久免费视频62| 五月在线婷色| 久婷| 色婷婷AV在线| 国产精品成人网站| 色婷婷香蕉在线| 五月婷婷久久综合| 日本91在线| 丁香五月天堂| 综合久久六月| 综合激情深爱| 日韩精品色| 久久久久久久久久久久久久人妻视频 | 欧美丁香婷婷五月| 婷婷五月丁综合| 婷婷深爱五月天在线| 99九九精品| 久久WW| 天天综合91入口| www.ywav| 色天使色综合| 五月丁香亭亭A片| 亚洲中文字幕在线观看| 无码AV免费精品一区二区三区| 激情久久久| 在线成人网址| 网色99| 九九色热视频| 操碰99在线视频观看| 久 久9 9 热 视 频| 另类激情五月| 五月天激情子轮| A A色色| http://www.lingjunshare.com/| 欧美黑人巨大猛烈cuckold| 精品无码av丁香五月激情| 狠狠大香婷婷爱| 天天曰夜夜爽| 大波美女VA网站| 激情六月五月婷婷综合网| 欧美综合婷婷欧美综| 99er免费在线观看| 中文字幕 久久9999| 操一操插一插| 亚洲精品国产精品乱码视99| 思思热在线视频精品| 久9无码视频| 碰碰91| 婷婷综合网| 五月丁香综合网| 婷婷丁香五月天综合激情| 91人妻人人操| 婷婷的色色五月天| 九九人人操| 色婷婷丁香五月天在线视频| 久久开心五月婷婷| 天天爽天天| 五月婷婷黄色| 午夜不卡久久精品无码免费| 色图亚洲91| 丁香六月av| 九九香蕉网| 日日爽日日操| 五月婷婷啪啪| 天天日天天舔| 国产高潮白浆一区二区| 久婷婷婷| 激情五月色综合国产精品| 日韩五月丁香| 天天操比比| 婷婷五月丁香基| 五月丁香久久呀| 欧美久久五月婷婷| 五月天播播| 五月婷婷六月激情| 婷婷新网址| 亚洲色婷婷| 五月天婷婷青青草| 97人人超| 久久九九99.www| 亚洲黄色影视| 亚洲第一第二网站| 成人精品在线| 日本视频欧美观看免费| 精品婷婷五月视| 另类激情综合| 91无码一区人妻A片蜜| 色婷婷a| 久香草视频在线观看| 亚洲综合无码| 国产性爱大片久久| 涩涩涩,com| 天天爱天天狠天天透| 九九热在线精品视频| 高清国产AV| 婷婷成人综合五月| 思思热视频在线观看| 亚洲色五月婷婷| 丁香五月大片| 婷婷五月天AV| 蜜乳人妻一区二区三区| 丁香婷婷五月六月天| 九九色逼| 99久久97久久欧美综合网| 丁香五月天激情AV| 色99在线| 五月婷婷综合激情网| 狠狠色狠狠操| 丁香五月婷婷av影院| 激情五月天噢美| 五月天婷婷綜合院| 人妻操日日| 99视频热| 婷婷五月,综合伊人| 婷婷五月天视| 婷婷综合久久| 日韩在线视频中文字幕| 五月婷婷六月色| 伦乱人妻| 久热这里只有精品视频免费观看| 桃色成人网| 国产色丁香| 超碰在线人妻| BT综合在线视频观看| 婷婷伊人五月天| 亚洲无码性爱| 五月激情网综合| 色婷青青| 丁香五月欧美色综合| 亚州美女| 天天综合五月| 无码AV免费精品一区二区三区| 色婷婷99| 99久久网站| 玖玖资源站国产| 丁香六月婷| 丁香五月天欧洲在线| 婷婷五月成人| 99这里是99在线视频| 九九色综合九九色| 婷婷第六色| 欧美大肥婆大肥BBBBB| 精品久久人妻热| 99国产精品白浆在线观看免费| 永久的网站AAAA | 丁香五月中文字幕色播| 伊人五月综合网| 五月天婷婷丁香| www久久久久| 亚洲婷婷五月| 色五月婷婷中文字幕| 亚洲成人五月天| 婷婷激情五月天7| 丁香五月影院| 丁香六月天婷婷开心综合| 在线超碰免费| 激情九九六月激情免费视频| 爽极品色| 色综合色综合网| 色婷婷丁香特级性爱视频| 久久免费少妇高潮99精品| 视频色色色色色色| 午夜九九九九九九九九九九九九九| 五月婷婷亚洲| 99热这里只有精品26| 99精品偷自拍| 欧美成人A片AAA片在线播放| 九热久| 色丁香五月婷婷| 激情综合网亚洲色图| 丁香五月婷综合| 玖玖综合色| 色五月 激情婷婷 综合五月天| 九久久九精品视频| 婷婷五月丁香欧洲| www超碰| 五月综合六月丁| 任你干嘛免费视频播放| 26uuu| 五月丁香六月婷婷婷婷| 人人干女人| 99色在线| 五月丁香六月激情在线| 黄色99视频| www.99操| 六月婷婷色综合| 丁香五月五月婷婷五月天激情四射| 超碰不卡在线| 欧美成人AAA片一区国产精品| 五月丁香在线观看| 欧洲亚洲免费视频区| 久热伊人在91| www久久久| 狠狠色成人影片| 丁香五月另类小说在线阅读| 午夜婷婷久久 | 婷婷综合五月天| 久久久精品免费啪啪国| 99色在线观看| 色色哒五月婷婷六月丁香| 亚州精品色情无码A片| 日本97在线观看| 九色婷婷| 91丨九色丨熟女丰满| 玖操97| 婷婷四色五月| 综合一啪| 婷婷五月天天| 日本片日本片祼观看网站在线看中文版网页在线看 | 激情五月天婷婷直播| 9色免费网| 国产精产国品一二三在观看| 99色色| 久久激情五月天| 丁香五月天激情婷婷丁香六月| 琪琪色影音先锋| 深夜婷婷 丁香| 五月丁香偷拍| 久久久精品AV| 久久久久人妻网址| 亚洲瑟瑟精品在线| 丁香无五月网| 香蕉综合在线| 日韩精品超碰在线观看| 久久综合9| 一级AV片| 精品夜夜澡人妻无码AV| 99久久99久久综合| 九九人人精品| 九九成人视频| 日日夜夜爽| 校园激情 亚洲| 青青热久精品视频在线观看| 婷婷色婷婷亚洲成人| XX久久| 色婷婷在线影院| 国产亚洲成人综合| 九九久久9 9在线观看| 婷婷丁香五月久久| 激情五月天综合网| www综合久久| 久久99jiu9| 91伦| 久久婷婷五月综合色天| 丁香五月婷婷影视先锋| 99欧美热| 99久久超级| 超91热| 国模狼狼| 强奸幻女毛片| 激情久久月| 啪啪东京热| 玖玖99精品视频| 婷婷色情五月| 九九性爱网| 婷婷欧美激情综合| 九九热99视频在线| 91操片| AV九九| 99惹在线精品免费观看| 激情影院内射| 天天在线久久综合| www激情网| 日日操天天| 婷婷综合网| 色色五月婷婷久久| 我爱大香蕉| 激情五月综合婷婷| 狠狠精品干练久久久无码中文字幕| 北京熟妇搡BBBB搡BBBB| 91人人人人人| 婷婷五月天大香蕉在线视频观看| 91九色无码内射| 久婷婷五月综合欧美| 色婷婷A| 亚洲视频a| 五月的丁香六月的婷婷| 夜夜操,天天撸| 色情五月婷| 久久精彩视频| a性生活久久无| Www.狠狠| 五月丁香六月婷婷综合在线| 第六色在线| 人人射人人高潮| www.激情| 国产,欧美,学生妹,视频| 天色色综合网| 久久久www| 人人添人人| 熟女激情五月天 | 久久丁香五月婷| 五月丁香婷中文| 国产高潮A片羞羞视频涩涩| 色综合网页| 色玖玖综合网| 丁香五月久久综合| 精品久热69| JAPANRCEP老熟妇乱子伦视频| 色爱爱综合网| 人人爱操| 99热在线观看亚洲区| 玖玖在线视| 91中文狠狠综合| 五月丁香毛片| 最新激情五月天| 色色色色综合| 午夜不卡久久精品无码免费 | 婷婷丁香久久网| 伊人久久婷| 亚洲婷婷成人五月天| 91超碰在线观看| 久久婷婷五月综合色区| 99热1| www,婷婷五月天777me,com| 色噜噜狠狠色综无码久久合欧美| 天天爽夜夜操| 九热久| 亚洲免费99| 久久只有18视频| www.玖玖婷婷在线| 性婷婷| 黄色片区子| 国产欧美大香蕉一区| 人妻性爱av网站| 亚洲视频色婷婷| 亚洲精品V天堂中文字幕| 97干视频在线| 五月天久久丁香| 欧美一级色| 另类激情五月| 色婷婷狠狠18| 亚洲成人AV电影在线| 综合色色网| www.狠狠操| 免費观看aV在线网址| 梁铮版《蜘蛛女侠》在线| 色五月天丁香婷婷| 秋霞网在线免费基地五月婷婷丁香| 99高级会所久久| 丁香五月婷婷啪啪| 综合99视频| 天天狠天天叉| 热99视频精品在线| 婷婷在线五月天观看| 久久99久久99精品免视看婷婷| 狠狠综合区| 热热久久99| 在线视频婷婷| 夜夜操少妇| 婷婷伊人綜合中文字幕| 五月天激情四射| 色婷婷狠| AAA久久久AAA久久久AAA| 色色色.COM| 久久桃花网色婷婷| 99在线视频在线观看| 五月激情在线| 青青草a在线| 丁香成人五月天| 91久久婷婷| 91九色在线| 91一起艹| 色情五月丁香| 色综合丁香| 色婷操逼| 人人操AV| 丁香五月性| 亚洲人妻av| 免费亚洲婷婷| 婷婷五月激情六月丁香| 五月丁香色婷婷| 五月婷婷狠天天色综合| 亚洲开心激情网| 亚洲va综合va国产va中文| 丁香五月精品视频| 五月天激情影院| oumeisesewang| 国产69精品久久久久999小说| 高清无码 一区 二区 三区| 亚洲经典三级| 亚洲久热无码| 久操人| 精品99在线| 丁香婷婷啪啪| www.yw尤物| 白天AV月月| 99爱操| 最新丁香六月婷婷| 狠狠色丁香婷婷久久综合| 色5月婷婷色| 久久视这里只有精品| 四LLL少妇BBBB槡BBBB| 色五月成人在线| 热婷婷在线视频| 五月丁香啪啪综合| 777色婷婷爱五月| 九九热青草| 噜噜色婷婷| -91九色大屁股| 五月天开心网| 五月天俺去也| 色玖玖导航| 色色色五月婷婷| 国精产品一区二区三区| 五月天停停日日| www夜夜| 五月综合激情视频| 中文字幕激情综合| 超碰九色| 成人丁香婷婷| 狠狠综合久久| 全部老头和老太XXXXX| 亚洲精品午夜国产va久久成人| 久久草中文日韩欧美| www.狠狠操| 五月婷婷开心丁香| 人妻综合网| http://www.com久久久精品一区| 亚洲五月停停| 免费视频舔| 色色综合五月| 五月天激情综合网| 涩五月色婷婷| 天天情天天狠天天透| 九久九精品| 五月天激情四射| 思思w99| 9久精品视频| 超碰97在线观看免费| 狼人久草| 丁香五月婷婷欧美成人色图| 九九色99| 九九久久腿| 99热这里只有精品5| 九九99视频| 五月丁香色婷婷伊人| 永久热91| 亚洲精品一区无码A片| 欧美丁香五月| 热久久视频99| 九九黄色网| 激情五月婷婷她| 精品夜夜澡人妻无码AV| 婷丁香五月天| 久久久五月婷婷| 亚洲色精彩| 色香久久| 视频一区二区在线| 五月丁香啪啪啪| 日韩另类在线观看| 99色在线观看视频| 精品国产人人爱人人| 成人电影AV在线观看| 色婷婷小视频| 中文字幕日产A片在线看| 色墦五月丁香| 中文AV网站| 人妻AV中文系列| 激情五月天婷婷| 五月天色五月| 亚洲亚洲亚洲AAAAAA| 色欲五月天| 99久久99视频只有精品| 99资源在线视频| 婷婷中文字暮| 99久| 日日干四虎| 亚州美女| 97福利视频| 久草五月| 大香蕉久艹| 婷婷操久久| 欧美va在线观看| 嫩草乱码一区三区四区| 五月花亭亭| 婷婷五月天手机版视频| 亚洲五月六丁香激情| 无码se| 色~性~乱~伦~噜| 99热综合在线| 九九热99视频在线| 欧美色色色色色色| 青青日韩| 五月亭亭欧美女人| 亚洲成人无码免费| 久久99jiu9| 91九九精品| 91九色在线观看免费| 狠狠狠狠青草| 亚洲无码AV片| 亚洲成人中文字幕| 日韩成人综合| 伊人五月婷婷国产视频| 香蕉乱插| 狠狠五月激情丁香六月| 991精品在线视频| WWW.久久久久久久| 日韩成人AV在线播放| 九色91国产| 97人人搞| 99色色爰| 婷婷五月天成人动漫| 思思99精品视频在线观看| 亚洲舔观看| 另类小说婷婷色| 激情六月一二| 思思热在线精品视频| 欧美影院| 久久激情视频| 九月丁香| 大香蕉综合视频在线| 少妇大叫太大太粗太爽了A片 | 天天干、天天日日| 亚洲久久婷婷| 色婷婷综合视频| 久热69| 97碰在线视频| 思思热在线观看| 日本婷婷激情四射中文字幕在线观看| 六月丁香AV| 欧美乱码国产一级A片| 久久九九爽| 操人妻90p| 亚洲色综合性| 久久999久久999久久999久久| 久久女人天堂| 激情第四色| 综合网精品99| 超碰成人av| 五月天婷亚洲天综合网综合 | 亚洲亚洲人成综合网络| 丁香五月天堂亚洲社区| AAA久久久AAA久久久AAA| 婷婷97| 黄色网址五月婷婷| 五月丁香婷色| 91操人| 天天日日爽| 激情综合网五月| 99热国产| 丁香九色不卡aaa| 五月婷婷丁香| 五月婷婷花| 婷婷久久久久| 无码成人播放器| 97五月久久丁香婷婷| 袁子仪视频观看| 婷婷五月激情天| 婷婷综合网| 99精品综合在线| 99热9| 五月天激情无码专区| 激情综合网五月丁香| 国自产拍偷拍精品啪啪一区二区| 九月av在线| 色色色视频免费无码| 涩综合婷婷| 国产精品美女久久久久AV超清 | 亚洲成人一区| 狠狠噪| 久热超碰| 人妻精品一区二区三区| 五月婷婷激情| 香焦网五月天| 日日懆天天懆| 色色网站| 亚洲人人操| www,五月丁,com| 天天干天干| 色五月婷婷伊人| 五月婷婷影视| 激情五月天在线视频| 久久99三级在线视频| 另类图片 五月激情| 激情伊人| 日本一级大片| 五月婷婷视频ab| www.久久久久| 五月丁香无码| 天天干天天色综合| 一级AV片| 婷婷基地成人五月天| 色色色婷婷五月天| 久久九九囯产| 1995年关宝慧版蜘蛛女| 网站免费一站二站| 久久大香蕉同僚| 五月丁香免费看| 九九色婷婷五月天| 秋霞午夜理论| 婷婷色网| 色私五月婷婷| 人人爽天天爽| 五月婷婷综合天天操| 玖玖资源部在线播放| 婷婷色五月丁香六月欧美啪| 五月婷婷日本| 丁香六月婷婷综合欧美| 超碰婷婷色| 森林影视大全,最好看的2019年视频 | 啪啪夜久久| 丁香婷婷深情五月亚洲| 婷婷天堂伊人| 九九久久五月天综合伊人| 欧美色色色| 欧洲永久精品| 激情五月天小说网| 9l视频自拍9l九色成人| 超碰免费大香蕉| 久久久五月五丁香| 久久看婷婷| 色综合大香蕉| 婷婷综合五月天| 色玖玖爱| 99久视频| 久久久人妻人伦| 天天色天天操天天射| 热九九精品| 99精品视频在线观看| 丁香婷婷精品视频| 开心激情婷婷| 亚洲看av的网站| 天天干人人奸97| 伊人AV五月婷| 精品一区二区三区三区| 欧美丁香婷婷五月天| 操久久精| 色婷久久| 六月欧美综合色情|