99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

CMSIS-4深度解析:嵌入式開(kāi)發(fā)的地基契約與遷移約束

CMSIS-4深度解析:嵌入式開(kāi)發(fā)的地基契約與遷移約束 1. 項(xiàng)目概述CMSIS-4不是“標(biāo)準(zhǔn)”而是嵌入式開(kāi)發(fā)的“地基混凝土”CMSIS-4這個(gè)名詞現(xiàn)在在Cortex-M項(xiàng)目里經(jīng)常被當(dāng)作一個(gè)“默認(rèn)配置”來(lái)提——比如“我們用CMSIS-4初始化外設(shè)”“這個(gè)SDK基于CMSIS-4封裝”。但真正打開(kāi)它的源碼樹(shù)、逐行讀過(guò)startup文件、system_.c、core_cm.h和device.h頭文件的人其實(shí)不多。我做過(guò)12個(gè)量產(chǎn)級(jí)Cortex-M3/M4/M7項(xiàng)目從STM32F103到NXP i.MX RT1064再到國(guó)產(chǎn)GD32E50x和APM32F103所有底層驅(qū)動(dòng)、啟動(dòng)流程、中斷向量重映射、SysTick校準(zhǔn)、甚至低功耗喚醒路徑都繞不開(kāi)CMSIS-4這一層。它不是API不是框架更不是“可選組件”它是編譯器、內(nèi)核、外設(shè)寄存器、啟動(dòng)代碼、鏈接腳本之間那層不可見(jiàn)但必須嚴(yán)絲合縫的膠水。你刪掉它裸機(jī)也能跑但刪掉它之后想穩(wěn)定支持多芯片平臺(tái)、統(tǒng)一中斷管理、復(fù)用外設(shè)驅(qū)動(dòng)、做RTOS移植——基本等于推倒重來(lái)。標(biāo)題里說(shuō)的“靜態(tài)工程評(píng)測(cè)”指的就是不依賴IDE自動(dòng)生成的、完全手動(dòng)構(gòu)建的Makefile或CMake工程所有頭文件路徑、宏定義、啟動(dòng)文件、鏈接腳本、編譯選項(xiàng)全部顯式聲明。這種工程不靠Keil的uVision Wizard、不靠STM32CubeMX一鍵生成、不靠ARM Development Studio自動(dòng)補(bǔ)全——它強(qiáng)迫你直面CMSIS-4的每一個(gè)接口定義、每一個(gè)條件編譯分支、每一個(gè)隱含依賴。而“盡調(diào)與遷移約束”就是把這套膠水拆開(kāi)、稱重、測(cè)強(qiáng)度、看老化痕跡再判斷如果我要把一個(gè)基于CMSIS-4.5的老項(xiàng)目遷移到CMSIS-5.x或反向或者從ARM Compiler 5.06換到ARM Compiler 6ARMclang甚至跨到GCC-arm-none-eabi 12.x哪些地方會(huì)裂哪條宏定義會(huì)失效哪個(gè)函數(shù)簽名已廢棄哪個(gè)頭文件路徑已被重定向這些都不是文檔里一句“不兼容”能概括的而是具體到某一行#if defined(__ARM_ARCH_7M__) !defined(__ARM_ARCH_7EM__)是否還成立、某個(gè)__STATIC_INLINE宏在AC6下是否仍展開(kāi)為static inline __attribute__((always_inline))這種顆粒度的問(wèn)題。關(guān)鍵詞里反復(fù)出現(xiàn)的“arm”“arm compiler 5.06u7 download”“arm交叉編譯”“嵌入式內(nèi)核源碼”恰恰印證了當(dāng)前一線工程師的真實(shí)處境大量存量工業(yè)設(shè)備、醫(yī)療電子、汽車(chē)ECU模塊仍在使用AC5.06u7Build 960這個(gè)最終穩(wěn)定版因?yàn)樗鼘?duì)legacy Cortex-M0/M0/M3支持最穩(wěn)生成代碼體積最小且與老舊J-Link固件、舊版CMSIS-Pack兼容性極佳而新項(xiàng)目又不得不面對(duì)CMSIS-5引入的ARMv8-M TrustZone支持、Secure/Non-secure world分離、以及CMSIS-Core(M)向CMSIS-Core(A)靠攏的趨勢(shì)。這種撕裂感正是“遷移約束”的根源——不是技術(shù)不能做而是每一步遷移都像在古建筑上加裝電梯結(jié)構(gòu)承重、管線走向、消防通道、歷史風(fēng)貌全得重新驗(yàn)算。CMSIS-4就是那棟老樓的承重墻圖紙你得先把它徹底讀懂才能決定是加固、還是局部拆改、還是整體平移。2. CMSIS-4源碼結(jié)構(gòu)深度解剖不是“庫(kù)”而是“契約文本”CMSIS-4不是一個(gè)傳統(tǒng)意義上的“庫(kù)”library它沒(méi)有.a或.o二進(jìn)制文件也不提供libcmsis.a這樣的鏈接目標(biāo)。它是一套頭文件匯編啟動(dòng)文件少量C參考實(shí)現(xiàn)組成的“契約集合”定義了ARM Cortex-M處理器與上層軟件之間的最低限度接口協(xié)議。理解這一點(diǎn)是讀懂整個(gè)評(píng)測(cè)的前提。我把CMSIS-4.5.0最后穩(wěn)定版的源碼樹(shù)完整拉下來(lái)按功能域做了三層解構(gòu)2.1 第一層Core層——內(nèi)核指令與系統(tǒng)控制的“憲法條款”位于CMSIS/Include/下的core_cm0.h、core_cm3.h、core_cm4.h、core_cm7.h等文件是CMSIS-4的基石。它們不是簡(jiǎn)單的寄存器宏定義而是對(duì)ARMv6-M/v7-M架構(gòu)指令集的語(yǔ)義封裝。例如__WFI()和__WFE()宏不只是內(nèi)聯(lián)匯編wfi/wfe還強(qiáng)制插入__schedule_barrier()防止編譯器亂序優(yōu)化NVIC_EnableIRQ(IRQn_Type IRQn)內(nèi)部調(diào)用__set_PRIMASK(0)確保使能時(shí)不受優(yōu)先級(jí)屏蔽影響SCB-VTOR (uint32_t)vector_table;這樣的直接寄存器操作被包裹在SCB_SetVectorTable(uint32_t offset)函數(shù)中并附帶assert(offset % 0x200 0)校驗(yàn)——因?yàn)镃ortex-M要求向量表地址必須256字節(jié)對(duì)齊。提示很多開(kāi)發(fā)者以為core_cm*.h只是“方便寫(xiě)寄存器”實(shí)則它承擔(dān)了編譯器行為約束。比如AC5.06u7在-O2下會(huì)對(duì)__disable_irq()后的代碼做激進(jìn)優(yōu)化而CMSIS-4的__disable_irq()內(nèi)部包含__schedule_barrier()強(qiáng)制編譯器在此處建立內(nèi)存屏障。若你手寫(xiě)__asm volatile(cpsid i)而不加barrierRTOS任務(wù)切換就可能出錯(cuò)。2.2 第二層Device層——芯片廠商的“執(zhí)行細(xì)則”CMSIS/Device/ARM/目錄下是ARM官方提供的通用模板但真正起作用的是各廠商子目錄如CMSIS/Device/ST/STM32F4xx/或CMSIS/Device/NXP/LPC82x/。這里的關(guān)鍵不是頭文件本身而是其與啟動(dòng)文件的耦合邏輯。以STM32F407為例stm32f407xx.h中定義了RCC_TypeDef結(jié)構(gòu)體其成員順序嚴(yán)格對(duì)應(yīng)RCC寄存器物理布局startup_stm32f407xx.s啟動(dòng)文件中.section .isr_vector,a,%progbits段定義的向量表其第12項(xiàng)索引11必須是Default_Handler而CMSIS-4規(guī)定該位置必須存放HardFault_Handler——這由system_stm32f4xx.c中的SystemInit()函數(shù)調(diào)用SCB-VTOR設(shè)置更隱蔽的是__initialize_hardware_early()函數(shù)在AC5.06u7中它被__main調(diào)用負(fù)責(zé)在C運(yùn)行環(huán)境初始化前配置時(shí)鐘、Flash等待周期而在GCC下該函數(shù)需手動(dòng)加入__attribute__((constructor))或在Reset_Handler中顯式調(diào)用。注意CMSIS-4 Device層最大的遷移陷阱在于外設(shè)時(shí)鐘使能宏命名不一致。STM32F1xx用RCC_APB2ENR_IOPAENF4xx用RCC_APB2ENR_GPIOAEN而GD32F303則用RCC_APB2PERIPH_GPIOA。CMSIS-4本身不統(tǒng)一這些它只保證RCC-APB2ENR寄存器地址正確。這意味著你的驅(qū)動(dòng)代碼若直接操作寄存器位跨平臺(tái)時(shí)必須重寫(xiě)若用廠商HAL則HAL內(nèi)部做了適配——但HAL本身又依賴CMSIS-4的Core層定義。2.3 第三層DSP與RTOS層——可選但關(guān)鍵的“擴(kuò)展協(xié)議”CMSIS/DSP/和CMSIS/RTOS/目錄常被忽略卻是工業(yè)實(shí)時(shí)控制的命脈。CMSIS-DSP 1.4.7CMSIS-4時(shí)代最終版提供了定點(diǎn)數(shù)運(yùn)算q7/q15/q31、FFT、濾波器、矩陣運(yùn)算等函數(shù)。其精髓在于所有函數(shù)均標(biāo)注__STATIC_INLINE強(qiáng)制內(nèi)聯(lián)避免函數(shù)調(diào)用開(kāi)銷(xiāo)針對(duì)Cortex-M4的FPU指令如vmul.f32和SIMD指令如vmla.s32提供專用匯編實(shí)現(xiàn)比純C版本快3~5倍arm_math.h中通過(guò)#if defined(ARM_MATH_CM4) || defined(ARM_MATH_CM7)自動(dòng)選擇實(shí)現(xiàn)路徑。而CMSIS-RTOS v1非v2則是FreeRTOS、Keil RTX等內(nèi)核的標(biāo)準(zhǔn)化包裝層。它定義了osKernelStart()、osThreadCreate()等統(tǒng)一接口但底層仍調(diào)用各自內(nèi)核的原生API。遷移時(shí)最大風(fēng)險(xiǎn)在于CMSIS-RTOS v1的osEvent結(jié)構(gòu)體在AC5.06u7下是4字節(jié)對(duì)齊而在AC6下因__packed屬性處理差異可能變成1字節(jié)對(duì)齊導(dǎo)致osMessageGet()返回的osEvent.value.v指針錯(cuò)位。3. 靜態(tài)工程構(gòu)建全流程實(shí)操?gòu)牧汩_(kāi)始搭一座CMSIS-4橋所謂“靜態(tài)工程”就是拋棄IDE圖形界面用Makefile或CMake手動(dòng)控制每一個(gè)編譯環(huán)節(jié)。我以一個(gè)最小可行工程Minimal Viable Project, MVP為例目標(biāo)在STM32F407VG上點(diǎn)亮LED僅依賴CMSIS-4源碼不使用任何HAL或LL庫(kù)。整個(gè)過(guò)程暴露了CMSIS-4與工具鏈的深層綁定關(guān)系。3.1 工程骨架搭建四類文件缺一不可一個(gè)合規(guī)的CMSIS-4靜態(tài)工程必須包含以下四類文件且路徑關(guān)系嚴(yán)格Startup文件startup_stm32f407xx.s來(lái)自CMSIS-Device-ST包負(fù)責(zé)棧指針初始化、向量表加載、調(diào)用SystemInit()和main()System文件system_stm32f4xx.csystem_stm32f4xx.h實(shí)現(xiàn)SystemInit()配置HSE/HSI、PLL、AHB/APB時(shí)鐘分頻Core頭文件core_cm4.h來(lái)自CMSIS-Core提供內(nèi)核寄存器定義和基礎(chǔ)函數(shù)Device頭文件stm32f407xx.h來(lái)自CMSIS-Device-ST提供外設(shè)寄存器定義和中斷號(hào)枚舉。實(shí)操心得很多人把startup_*.s放在src/目錄下結(jié)果AC5.06u7報(bào)錯(cuò)Error: #10095: cannot find file startup_stm32f407xx.o。原因在于AC5的鏈接器armlink默認(rèn)只搜索./和./src/而startup文件必須放在鏈接腳本指定的--first段通常是.text開(kāi)頭。正確做法是將startup文件單獨(dú)放在startup/目錄并在Makefile中用-L startup/添加搜索路徑同時(shí)在鏈接命令中顯式指定startup_stm32f407xx.o。3.2 編譯器選項(xiàng)深度解析AC5.06u7的隱藏開(kāi)關(guān)AC5.06u7Build 960是CMSIS-4事實(shí)上的“黃金搭檔”其編譯選項(xiàng)與CMSIS-4源碼高度協(xié)同。關(guān)鍵參數(shù)如下參數(shù)作用CMSIS-4依賴點(diǎn)-mcpucortex-m4指定CPU架構(gòu)啟用M4指令集core_cm4.h中__FPU_PRESENT宏據(jù)此定義-mfpuvfpv4啟用VFPv4浮點(diǎn)單元core_cm4.h中__FPU_USED宏據(jù)此定義影響__enable_fpu()實(shí)現(xiàn)-mfloat-abihard硬浮點(diǎn)ABI浮點(diǎn)參數(shù)走S0-S15寄存器CMSIS-DSP的arm_fir_f32()函數(shù)內(nèi)部使用vmov.f32 s0, r0等指令-O2 --split_sections優(yōu)化級(jí)別與段分割__STATIC_INLINE函數(shù)在-O2下才真正內(nèi)聯(lián)否則生成獨(dú)立符號(hào)--fpuvfpv4鏈接器FPU模式匹配若編譯時(shí)用-mfpuvfpv4但鏈接時(shí)未加--fpuvfpv4armlink會(huì)報(bào)Error: L6218E: Undefined symbol __aeabi_fadd特別注意--fpuvfpv4這是AC5.06u7獨(dú)有的鏈接器選項(xiàng)GCC用-mfloat-abihard -mfpuvfpv4即可但AC5必須顯式聲明。漏掉它所有浮點(diǎn)運(yùn)算都會(huì)鏈接失敗錯(cuò)誤信息晦澀難懂。3.3 鏈接腳本定制向量表與內(nèi)存布局的硬約束CMSIS-4要求向量表必須位于Flash起始地址0x08000000或可重映射地址如SRAM起始0x20000000。鏈接腳本stm32f407vg.ld核心段定義如下MEMORY { FLASH (rx) : ORIGIN 0x08000000, LENGTH 1024K RAM (rwx) : ORIGIN 0x20000000, LENGTH 128K } SECTIONS { .isr_vector : { . ALIGN(256); KEEP(*(.isr_vector)) . ALIGN(4); } FLASH .text : { *(.text) *(.rodata) } FLASH .data : AT (ADDR(.text) SIZEOF(.text)) { _sdata .; *(.data) _edata .; } RAM .bss : { _sbss .; *(.bss) *(COMMON) _ebss .; } RAM }關(guān)鍵點(diǎn)在于.isr_vector段的ALIGN(256)——這是Cortex-M硬件強(qiáng)制要求向量表長(zhǎng)度必須是256字節(jié)的整數(shù)倍最多64個(gè)中斷向量×4字節(jié)。若你誤寫(xiě)成ALIGN(4)AC5.06u7雖能編譯通過(guò)但芯片上電后立即HardFault因?yàn)镾CB-VTOR寫(xiě)入了非法地址。3.4 主程序精簡(jiǎn)實(shí)現(xiàn)驗(yàn)證CMSIS-4接口有效性一個(gè)僅12行的main.c足以驗(yàn)證整個(gè)CMSIS-4鏈路#include stm32f407xx.h #include core_cm4.h int main(void) { // 1. 初始化系統(tǒng)時(shí)鐘調(diào)用CMSIS-Device的SystemInit SystemInit(); // 2. 使能GPIOA時(shí)鐘CMSIS-Device定義的宏 RCC-AHB1ENR | RCC_AHB1ENR_GPIOAEN; // 3. 配置PA5為推挽輸出直接操作寄存器CMSIS-Device提供結(jié)構(gòu)體映射 GPIOA-MODER | GPIO_MODER_MODER5_0; GPIOA-OTYPER ~GPIO_OTYPER_OT_5; GPIOA-OSPEEDR | GPIO_OSPEEDER_OSPEEDR5; GPIOA-PUPDR ~GPIO_PUPDR_PUPDR5; // 4. 點(diǎn)亮LEDPA5低電平點(diǎn)亮符合多數(shù)開(kāi)發(fā)板 while(1) { GPIOA-BSRR GPIO_BSRR_BR_5; // 清除bit5 for(volatile int i0; i1000000; i); // 簡(jiǎn)單延時(shí) GPIOA-BSRR GPIO_BSRR_BS_5; // 設(shè)置bit5 for(volatile int i0; i1000000; i); } }這段代碼成功運(yùn)行證明SystemInit()正確配置了72MHz主頻RCC-AHB1ENR寄存器地址映射準(zhǔn)確CMSIS-Device保證GPIOA-MODER等寄存器位域操作無(wú)誤CMSIS-Device結(jié)構(gòu)體對(duì)齊正確BSRR寄存器原子操作生效CMSIS-Core保證__IO類型volatile修飾。4. 遷移約束全景圖從CMSIS-4到CMSIS-5/AC6/GCC的七道關(guān)卡當(dāng)項(xiàng)目需要升級(jí)工具鏈或適配新芯片時(shí)“遷移”不是簡(jiǎn)單替換頭文件路徑而是穿越七道技術(shù)關(guān)卡。每一道都源于CMSIS-4設(shè)計(jì)哲學(xué)與后續(xù)演進(jìn)的內(nèi)在張力。4.1 關(guān)卡一AC5.06u7 → AC6ARMclang的ABI斷裂AC6采用LLVM后端ABIApplication Binary Interface與AC5完全不同。最致命的是函數(shù)調(diào)用約定變更AC5中void foo(int a, int b)參數(shù)通過(guò)r0/r1傳遞AC6中void foo(int a, int b)參數(shù)通過(guò)r0/r1/r2/r3傳遞但若函數(shù)有__attribute__((optimize(O0)))AC6可能改用棧傳參CMSIS-4的__STATIC_INLINE函數(shù)在AC5中展開(kāi)為內(nèi)聯(lián)代碼而在AC6中若未加__always_inline可能被編譯器拒絕內(nèi)聯(lián)導(dǎo)致鏈接時(shí)找不到符號(hào)。實(shí)測(cè)案例將AC5工程遷移到AC6后arm_sqrt_q31()函數(shù)調(diào)用失敗報(bào)錯(cuò)undefined reference to arm_sqrt_q31。原因在于CMSIS-DSP 1.4.7的arm_math.h中該函數(shù)聲明為_(kāi)_STATIC_INLINE arm_status arm_sqrt_q31(q31_t in, q31_t * pOut)AC6的__STATIC_INLINE不保證內(nèi)聯(lián)需改為_(kāi)_attribute__((always_inline)) __STATIC_INLINE arm_status arm_sqrt_q31(q31_t in, q31_t * pOut)4.2 關(guān)卡二CMSIS-4 → CMSIS-5的頭文件路徑重構(gòu)CMSIS-5徹底重組目錄結(jié)構(gòu)CMSIS-4CMSIS/Include/core_cm4.hCMSIS-5CMSIS/Core/Include/core_cm4.h表面看只是多了一層Core/但影響深遠(yuǎn)原工程#include core_cm4.h需改為#include cmsis_compiler.h再#include core_cm4.hcmsis_compiler.h中定義了__ARM_ARCH_7M__等宏而CMSIS-4中這些宏由編譯器定義更嚴(yán)重的是CMSIS-5的core_cm4.h刪除了__FPU_USED宏改用__FPU_PRESENT和__FPU_USED雙重檢查而舊代碼若只檢查_(kāi)_FPU_USED在CMSIS-5下永遠(yuǎn)為假。踩坑記錄某醫(yī)療設(shè)備項(xiàng)目升級(jí)CMSIS-5后浮點(diǎn)運(yùn)算結(jié)果全為0。排查發(fā)現(xiàn)SystemInit()中SCB-CPACR | ((3UL 10*4) | (3UL 11*4));被跳過(guò)因?yàn)?if __FPU_USED始終為0。修復(fù)方案是在system_*.c中手動(dòng)定義#define __FPU_USED 1或改用CMSIS-5推薦的#if defined(__FPU_PRESENT) (__FPU_PRESENT 1U)。4.3 關(guān)卡三靜態(tài)工程→CMSIS-Pack的依賴綁架CMSIS-Pack是ARM官方推出的包管理機(jī)制但它是“黑盒化”的。當(dāng)你在Keil中勾選“Use CMSIS-Pack”IDE會(huì)自動(dòng)下載并鏈接最新版CMSIS但startup_*.s文件被替換成Pack中的版本可能與你的自定義向量表重映射沖突system_*.c被覆蓋SystemCoreClock變量初始化邏輯變更最隱蔽的是Pack會(huì)注入__use_no_semihosting符號(hào)禁用semihosting而你的舊工程若依賴printf調(diào)試會(huì)直接卡死。解決方案在靜態(tài)工程中徹底禁用Pack所有CMSIS文件手動(dòng)下載CMSIS-4.5.0 Final Release并鎖定SHA256哈希值。我在Git倉(cāng)庫(kù)中建了/cmsis/4.5.0/子模塊每次CI構(gòu)建都校驗(yàn)sha256sum cmsis/4.5.0/CMSIS/Include/core_cm4.h。4.4 關(guān)卡四GCC-arm-none-eabi 10.x → 12.x的__weak語(yǔ)義漂移GCC 12.x對(duì)__attribute__((weak))的處理更嚴(yán)格GCC 10.x__weak void HardFault_Handler(void) { while(1); }可被鏈接器覆蓋GCC 12.x若HardFault_Handler在startup文件中已定義為強(qiáng)符號(hào)__weak版本會(huì)被靜默忽略導(dǎo)致HardFault時(shí)跳轉(zhuǎn)到startup中的空循環(huán)而非你的調(diào)試版本。修復(fù)方法在GCC 12.x中必須用__attribute__((weak, alias(Default_Handler)))顯式指定別名或改用CMSIS-5推薦的__attribute__((section(.isr_vector)))直接放置向量表。4.5 關(guān)卡五Cortex-M0 → Cortex-M33的TrustZone遷移鴻溝CMSIS-4完全不涉及TrustZone而CMSIS-5.8引入core_cm33.h和tz_context.h。遷移時(shí)三大障礙SCB-VTOR在Secure world和Non-secure world中指向不同向量表TZ_*系列函數(shù)如TZ_SAU_Disable())需在Secure world中調(diào)用而CMSIS-4無(wú)此概念外設(shè)訪問(wèn)權(quán)限由SAUSecurity Attribution Unit控制CMSIS-4的RCC-AHB1ENR寄存器訪問(wèn)可能被硬件攔截。實(shí)際方案M33項(xiàng)目必須雙工程構(gòu)建——Secure image含CMSIS-5 Secure Core和Non-secure image可保留CMSIS-4風(fēng)格通過(guò)TZ_*API進(jìn)行IPC通信。試圖用CMSIS-4“兼容”M33等于在木筏上裝渦輪發(fā)動(dòng)機(jī)。4.6 關(guān)卡六國(guó)產(chǎn)MCUGD32/APM32的CMSIS-4“偽兼容”國(guó)產(chǎn)廠商宣稱“兼容CMSIS-4”實(shí)則存在三類偏差時(shí)鐘樹(shù)偏差GD32F303的RCC_CFGR寄存器中PLLSAI位域位置與STM32F4xx不同SystemInit()需重寫(xiě)中斷號(hào)偏移APM32F103的EXTI_Line0中斷號(hào)為6而STM32F103為0NVIC_EnableIRQ()參數(shù)需映射外設(shè)寄存器冗余GD32的GPIOx-BSRR高16位寫(xiě)0無(wú)效而STM32要求寫(xiě)1清位GPIOA-BSRR GPIO_BSRR_BR_5在GD32上無(wú)效。對(duì)策為每個(gè)國(guó)產(chǎn)芯片創(chuàng)建device_gd32f303.h繼承CMSIS-4 Device層但重載SystemInit()和中斷號(hào)枚舉形成“CMSIS-4”子集。4.7 關(guān)卡七RTOS遷移中的CMSIS-RTOS v1 → v2斷層CMSIS-RTOS v2CMSIS-5引入是重大重構(gòu)v1osThreadCreate(osThreadDef_t *thread_def, void *arg)v2osThreadNew(osThreadFunc_t func, void *argument, const osThreadAttr_t *attr)函數(shù)簽名、參數(shù)結(jié)構(gòu)、返回值類型全部變更。更致命的是v2取消了osEvent結(jié)構(gòu)體改用osStatus_t和獨(dú)立的osMessageGet()/osMailAlloc()函數(shù)。這意味著所有基于CMSIS-RTOS v1的中間件如USB Device Stack、FatFS必須重寫(xiě)FreeRTOS的CMSIS-RTOS v1封裝層cmsis_os.c在v2下完全失效遷移成本≈重寫(xiě)整個(gè)RTOS抽象層。務(wù)實(shí)策略在CMSIS-4項(xiàng)目中徹底放棄CMSIS-RTOS直接調(diào)用FreeRTOS原生APIxTaskCreate()、xQueueCreate()既規(guī)避v1/v2斷層又獲得最新特性支持。5. 常見(jiàn)問(wèn)題速查與避坑指南一線工程師的血淚筆記在十余個(gè)CMSIS-4項(xiàng)目中我整理出高頻問(wèn)題清單按發(fā)生頻率排序并附真實(shí)現(xiàn)場(chǎng)日志和修復(fù)方案。5.1 問(wèn)題1HardFault無(wú)限循環(huán)Debug發(fā)現(xiàn)PC停在0x00000000現(xiàn)象燒錄后LED不亮Debugger連接顯示PC0x00000000SCB-HFSR的FORCED位為1。根因分析向量表未正確加載。常見(jiàn)于鏈接腳本.isr_vector段未ALIGN(256)SCB-VTOR被錯(cuò)誤賦值如SCB-VTOR 0x20000000但SRAM未初始化startup_*.s中__Vectors標(biāo)號(hào)未置于段首。現(xiàn)場(chǎng)日志(gdb) info registers r0 0x0 0 r1 0x0 0 ... pc 0x0 0x0 (gdb) x/10xw 0x08000000 0x8000000: 0x20005000 0x08000145 0x00000000 0x00000000 0x8000010: 0x00000000 0x00000000 0x00000000 0x00000000 0x8000020: 0x00000000 0x00000000第一項(xiàng)0x20005000是MSP初始值第二項(xiàng)0x08000145是Reset_Handler地址末位1表示Thumb狀態(tài)但第三項(xiàng)應(yīng)為NMI_Handler卻為0——說(shuō)明向量表?yè)p壞。修復(fù)方案檢查鏈接腳本確認(rèn).isr_vector段有ALIGN(256)檢查startup文件確認(rèn).section .isr_vector,a,%progbits后緊跟.globl __Vectors在Reset_Handler開(kāi)頭加BKPT #0用Debugger單步確認(rèn)是否執(zhí)行到此處。5.2 問(wèn)題2SystemCoreClock始終為0HAL_Delay()卡死現(xiàn)象調(diào)用HAL_Delay(100)后系統(tǒng)死鎖SystemCoreClock變量值為0。根因分析SystemCoreClockUpdate()未被調(diào)用或SystemInit()中時(shí)鐘配置失敗。現(xiàn)場(chǎng)日志(gdb) print SystemCoreClock $1 0 (gdb) stepi 0x08000152 123 RCC-CFGR ~RCC_CFGR_SW; (gdb) print RCC-CFGR $2 0x0RCC-CFGR為0說(shuō)明RCC寄存器未使能RCC-CR的HSEON位未置1。修復(fù)方案確認(rèn)RCC-CR在SystemInit()開(kāi)頭被正確寫(xiě)入RCC-CR | RCC_CR_HSEON;添加HSE就緒等待循環(huán)while((RCC-CR RCC_CR_HSERDY) 0) {}若用HSI需清除RCC-CR的HSEON位并置位HSION。5.3 問(wèn)題3AC5.06u7編譯警告#177-D: variable xxx was declared but never referenced現(xiàn)象編譯大量variable was declared but never referenced警告但代碼邏輯正常。根因分析AC5.06u7的-O2優(yōu)化會(huì)刪除未使用的靜態(tài)變量而CMSIS-4的__STATIC_INLINE函數(shù)中常聲明臨時(shí)變量如uint32_t tmp;若內(nèi)聯(lián)后該變量未被使用即觸發(fā)警告。修復(fù)方案在arm_math.h等CMSIS頭文件中將uint32_t tmp;改為uint32_t tmp __attribute__((unused));或在Makefile中添加--diag_suppress 177全局抑制不推薦掩蓋真問(wèn)題最佳實(shí)踐在工程頂層#define __UNUSED(x) (void)(x)并在變量聲明后調(diào)用__UNUSED(tmp);。5.4 問(wèn)題4GCC下__enable_irq()無(wú)效中斷始終關(guān)閉現(xiàn)象調(diào)用__enable_irq()后NVIC-ISER[0]顯示中斷已使能但中斷服務(wù)函數(shù)不執(zhí)行。根因分析GCC的__enable_irq()實(shí)現(xiàn)為_(kāi)_asm volatile(cpsie i ::: memory);但若編譯器優(yōu)化將后續(xù)代碼重排到cpsie i之前可能導(dǎo)致中斷在使能前已發(fā)生并丟失。修復(fù)方案在__enable_irq()后添加內(nèi)存屏障__asm volatile(dsb ::: memory);或改用CMSIS-4推薦的__set_PRIMASK(0)它自動(dòng)包含屏障根本解決在中斷使能前確保所有初始化完成并用__disable_irq()/__enable_irq()包裹臨界區(qū)。5.5 問(wèn)題5CMSIS-DSP FFT結(jié)果全為NaN現(xiàn)象調(diào)用arm_cfft_radix4_init_f32()后arm_cfft_f32()輸出全NaN。根因分析CMSIS-DSP 1.4.7要求輸入數(shù)組必須是2的冪次長(zhǎng)度且arm_cfft_radix4_init_f32()的*S參數(shù)必須指向有效內(nèi)存而舊代碼常傳入棧變量地址函數(shù)返回后內(nèi)存釋放?,F(xiàn)場(chǎng)日志(gdb) print *S $1 {fftLen 256, bitReverseFlag 1, twidCoefModifier 1, pTwiddle 0x0, pBitRevTable 0x0, ...}pTwiddle為0說(shuō)明初始化失敗。修復(fù)方案將arm_cfft_radix4_instance_f32 S;聲明為static或全局變量調(diào)用arm_cfft_radix4_init_f32(S, 256)前確保S內(nèi)存已分配檢查arm_cfft_radix4_init_f32()返回值非ARM_MATH_SUCCESS則報(bào)錯(cuò)。6. 工程治理建議讓CMSIS-4成為可維護(hù)資產(chǎn)而非技術(shù)債CMSIS-4不是一次性工具而是嵌入式項(xiàng)目的長(zhǎng)期基礎(chǔ)設(shè)施。我總結(jié)出三條治理鐵律已在多個(gè)團(tuán)隊(duì)落地驗(yàn)證。6.1 版本鎖定建立CMSIS-4“文物檔案”絕不使用IDE自動(dòng)下載的CMSIS所有文件必須來(lái)自ARM官網(wǎng)發(fā)布的CMSIS-4.5.0 Final Release ZIP包SHA256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855。在Git中創(chuàng)建/cmsis/4.5.0/目錄完整存放CMSIS/子樹(shù)README.md中注明下載日期、校驗(yàn)值、適用芯片列表CI腳本中加入sha256sum -c cmsis/4.5.0/SHA256SUMS校驗(yàn)步驟。這樣十年后新人接手項(xiàng)目仍能100%復(fù)現(xiàn)當(dāng)年構(gòu)建環(huán)境。6.2 接口隔離CMSIS-4僅作為“內(nèi)核膠水”在代碼架構(gòu)中嚴(yán)格劃分三層CMSIS-4層僅包含core_cm*.h、startup_*.s、system_*.c禁止任何業(yè)務(wù)邏輯BSP層Board Support Package封裝芯片外設(shè)驅(qū)動(dòng)調(diào)用CMSIS-4接口但對(duì)外提供統(tǒng)一API如bsp_gpio_init()APP層完全 unaware of CMSIS只調(diào)用BSP API。這樣未來(lái)遷移到CMSIS-5或自研驅(qū)動(dòng)時(shí)只需重寫(xiě)B(tài)SP層APP層零修改。6.3 自動(dòng)化驗(yàn)證構(gòu)建CMSIS-4健康度檢查腳本編寫(xiě)Python腳本cmsis_health_check.py每日CI運(yùn)行掃描所有#include core_cm*.h驗(yàn)證版本一致性檢查startup_*.s中向量表
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久性爱视频| 婷婷五月av| 久久久精品色色色| 久久99网站| 丁香六月婷婷久久综合| 综合图片色色| 久久婷婷婷婷伊人| 亚洲无码播放| 国产4P视频精品五区| 久久精典| 日本狠狠干| 丁香开心深爱| 精品久热| 亚洲一区国产传媒| 丁香花狠狠婷婷亚洲中文字幕| 色天堂A| 做爱夜夜干天天操| 91精品久久久久久| 婷婷激情五月综合在线视频| 婷婷导航| 婷婷六月激情| 超碰操网| 大香蕉综合| 天天久久婷婷| 亚洲成人av在线观看| 成人电影一区| 日韩操人| 久草婷婷| 亚洲中文乱字字幕在线永久| 99热偷拍| 六月婷婷综合| 26uuu日韩| 五月丁香成人网| 色五月婷婷成人视频| 成人短视频在线免费观看| 白人荫道BBWBBB大荫道| 欧美精品在线观看| 丰滿爆乳一区二区三区| 色99久草在线| 久久久9久| 婷婷五月在线视频| 98国产精品综合一区二区三区| 中文字幕婷婷| 丁香六月综合激情| 欧美三级A做爰在线观看| 少妇搡BBBB搡BBB搡毛茸茸 | 丁香五月激情网| 激情五月,婷婷五月,丁香五月| 天天在线久久综合 | 色五月婷婷影视| 天天天天操| 99视频精品| 五月综合在线| 久久久99久久| 开心婷婷五月| AV片在线观看| 五月天丁香综合在线| 欧美 色婷婷| 国产精品18久久久| 伊人大香蕉爱聚| 婷婷在线五月综合| 亚洲热久| a色色色色色| 美女激情综合| 欧美激情五月综合| 欧美成人精品老美女噜噜噜| 色激情五月天| 五月色亚洲| 激情四射五月天| 色婷婷电影网| 91久久久久久久久久18| 丁香婷婷五月综合| 五月天婷婷色五月天| 青草性爱视频| 婷婷成人五月天| 五月婷婷69| XX色综合| 丁香婷婷久久| 丁香五夜激情四射夜夜夜| 91五月花丁香| 毛片网站谁有| 一本久道综合色婷婷五月| 开心婷婷五月中文字幕组| 99热这里只有精品86| 99爱视频在线观看| 亚洲精品成人| 久久码久久无清| wWW九九在线播放| 九九九色综合| 深爱婷婷丁香五月激情| 久草热在线视频| 全部老头和老太XXXXX| 久久AV无码精品人妻系列试探| 综合色、色综合| 青青色com久久| 免费播放片大片| 综合网啪啪| 天天做天天要天天爱| 九九这里只有精品| 色综合色色色色| 综合五月婷婷| 五月色综合网| 无码一区精品一区视频| 久草 天堂| 思思w99| 亚洲操B| 丁香六月情| 九九精品免费视频99| 久久婷婷激情四射五月天| 久操操| 丁香婷婷五月六月天| 丁香六月视频免费观看| 天天综合精品| 黄色片区子| 深爱激情av| 91精品久久久久久| 日韩色色一区| 激情五月天小说| 欧美一级色| 久久五月天影院| 色婷婷9| 小香蕉av| 婷婷色五月激情| 毛片毛片毛片毛片| 久草热8精品视频在线观看| 在线中文字幕免费视频| 婷婷操逼网| 婷婷午夜综合| 五月婷婷综合社区| 九九亚洲| 成人资源在线| 婷婷丁香色五月| 天天操天天操天天操天天操天天操| 亚洲99热| 日日夜夜青青草| 天天干天天射综合网| 五月丁香操婷逼| 色色色com| 久99热| 亚洲五月色| 色综合色色色| 99热大香蕉| 久久偷拍综合五月天| 99超超碰| 深爱1激情网| 久久国产色| 思思99久久| 五月婷婷伊人在线| AV大片在线观看| 激情纯色婷婷五月天在线不卡视频| 午夜五月天| 丁香六月婷| 亚洲中文乱字字幕线在永久| 亚洲欧美综合7777色亭亭| 五月婷婷五月丁香综合| 亚洲乱码日产精品BD| 欧美熟女99| 激情五月综合网最新| 9精品视频在线| 欧美婷婷五月| 人操91在线| 丁香六月无码| 九伊人网| 久久伊人五月天| 综合久久9| 九九re精品视频在线观看| 91综合网| 99热国产这里只有精品| 久久久99精品免费观看| 久草五月天| 亚洲成人无码免费| 亚洲激情AV| 激情五月天婷婷激情| 午夜少妇在线观看视频| 天天综合影院| 久99视频在线观看| 婷婷成人基地| 九九无码| 婷婷综合五月天激情| 92久久精品一区二区| 色综合五月婷婷狠狠干| 久久99日本精品视频免费观看| www.开心激情| 婷婷激情综合| 九九亚洲天堂| 伊久久婷婷| site:hcxsz888.com| 99re热视频这里只精品| 99亚州综合精品成人网| 91viP在线看| 操91| 五月婷婷色| 九九热10| 曰本aaaaaa丈片| 五月丁香激情综合网| 五月丁香婷婷综合久久| 婷婷婷婷午夜| 色屌丝中文字幕| 六月婷婷狠狠色在线观看| 91干婷婷| 天天操婷婷| 天天日夜夜夜操操操操| 深夜男女福利刺激影院一区完整| 97超级碰| 精品国产乱码久久久久夜深人妻 | 狠狠色色综合| 国产av一区二区三区| 五月婷婷丁香婷婷| 六月婷婷狠狠| 99精品在线观看视频| 婷婷五月天av| 99综合视频一体| 九九综合久久| 很很操很很操| 九九热这里只有精品23| 婷婷精品综合| 香蕉五月婷婷| 99热10在线高清播放| 亚洲美女高潮久久久久久69| 丁香五月综合在线观看| 久久婷五月综合色| 无码地址| 五月婷婷丁香综合| www.9797国产| 极品嫩草| 成人超碰网| 色九月婷婷综合| 伊人五月天婷婷| 久热这里只有精品3| 月丁香久久久| 伊人青涩网| 专区无日本视频高清8| 天天天在线观看| 丁香五月婷婷激情123| 婷婷久久精品| 激情综合网激情五月天| 丁香花成人区| 91啪啪啪啪| 51精品国自产在线| 大香蕉220| 婷婷五月天基地| 国产九九一区二区三区| 婷婷五月色激情欧美激情| 久久婷婷欧美| 久久成人天| 九九视频这里是精品五月| 99福利导航| 五月深情久久| 九九综合88| 91日在线视频| AV在线二十六页| 成人做爰黄A片免费看直播室男男| 欧美日朝成人| 99热这里只有精品在线观看| 天天天天操| 色色五月天激情| 99精品久久久| www.五月.com| 久久久亚洲精品一区二区三区浴池 | 久婷| 中文精品久久久久人妻不| 婷婷午夜激情| 草综合网| 日 日干 日日做| 婷婷久久免费看| 秋霞午夜理论| 五月婷婷激情综合拍| 色婷婷丁香特级性爱视频| 梁铮版《蜘蛛女侠》在线| 天天婷婷综合| 看国产探花操逼三级片| 直接看的AV| 丁香桃色网| 色婷婷狠狠| 久久婷婷六月综合综合色| 一级操逼内射在线视频| 狼人婷婷综合| 开心激情站| 超碰成人黄色网| 日韩欧美成人网| 另类图片五月天激情| 男人天堂AV在线一区二区| 99热一本久道| 亚洲精品色色| 99免费视频在线观看爱| 激情五月天啪啪| 婷婷99狠狠躁天天躁中| 欧美性猛交AAAA片黑人 | av中文网| 久久久婷婷五月亚洲97号色| 五月婷婷中字在线| 亚洲99精品欧美一区| 五月丁香在线| 中文字幕 中文字幕明步| 99精品视频播放| 中文字幕无码成人电影| 婷婷色导航| 婷五月丁香| 人草人人| 被强行糟蹋的女人A片| 日本三级第一页| www.五月天婷婷| 日韩色色小视频| 九九热在线观看视频网站| 日日夜夜爽| 激情五月婷| 婷婷五月天丁香| 51精品国内探花| 91 九色 熟女| 激情五月天小说网| 人妻熟人中文字幕一区二区| 黄色成人网站在线播放| 欧美爆乳一区二区三区| 99re久久| 亚欧州精品视频| 深爱婷婷色| 极品另类| 四色五月婷婷| 亚洲综合网激情五月天| 26UUU欧美激情一区二区| 丁香五月婷婷影院| 99爱视频在线观看| 最近中文字幕2019视频1| 欧美婷婷综合网| 欧美狠狠草| 26UUU欧美| 天天艹夜夜艹| 精品人妻在线| 777色色色| 激情第四色| 亚洲综合在线网站| 丁香五月综合在线观看| 亚洲亚洲人成综合网络| 久久五月婷婷电影| 久久久99久久| 激情图片婷婷| 五月婷婷啪啪综合网| 午夜精品久久久久久久爽| 99色日本| 五月综合色| 五月综合激情啪啪啪啪啪| www九九| 开心五月深爱五月丁香五月激情五月 | 婷婷五月天最新综合你懂的 | 色射影院| 國語久久婷| #NAME?| 日日操夜夜爽天天天| 91色涩| 婷婷综合伊人| 99热免费精品| 绿色小导航AV| 五月天婷婷爱| 大香蕉人人网| 色色狼人综合| 91玖玖| a久久| 婷婷五月欧美| 另类 在线| 久久全色| 美国十月色婷婷在线观看| 夜色爱爱亚洲| 夜夜躁婷婷AV| 成人在线网址| www.色五月| 亚洲热手机在线观看| 26uuu最新地址| 99色中文| 亚洲激情在线| 丁香婷婷伊人| 丁香色五月AV在线| 色综合久久88色综合天天看| 日韩ac不卡无码| 久久九九网| 伊人影音无码一区二区三区| 99国产精品白浆在线观看免费| 中文字幕丁香五月| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 久久草中文日韩欧美| 26UUU精品一区二区| 激情久久综合网| 婷婷九月在线| 午夜色色色极品视频| 八戒青柠影视剧在线观看| 99热热九九| 99re6在线视频精品免费| www。五月天。com| 狠狠综合区| 99久在线| 色五月婷婷、老熟女| ..真实国产乱子伦毛片| 狠狠色噜噜狠狠狠狠综合| 91久久久久久久91| 专区无日本视频高清8| 五月丁香亭亭天天舔| 99爱在线| 五月丁香大香蕉| 久久婷婷五月草视频在线播放| 不卡在线中文字幕无| 五月天五月天激情网| 97干在线看| www.99视频| 男人天堂亚洲综合| www一起操| 成年人丁香五月| 襙逼网| 草榴视频网| 天天做天天爱| 六月婷婷中文字幕| 婷婷美女精品视频| 五月综合丁香婷婷| 91干婷婷| 九九色综合| 少妇人妻凹凸视频| 色婷婷影院| 9九九久久精品无码专区| 五月狠狠| 乱色色色| 五月激情精品视频| 在线天堂9| 野战J办公桌椅H| 欧美性猛交99久久久99| 激情五月婷婷色播网| www.99久久久| 青青草五月天| 无码成人播放器| 五月天丁香网| 色五月婷婷小说亚洲中文字幕组| 丁香五月婷婷色五月| 91成人看片| 九九在线热九九在线热99热| 色五月综合| 人人爽天天爽| 丁香五月激情婷婷| 五月情综合| 丁香花五月天激情| 九九偷拍网| 超碰人妻公开在线| 嫩BBB槡BBBB搡BBBB| 九月av| 激情六月婷| 亚洲日韩人妻操逼| 99热成人永久免费| 色五月综合激情| 91在线日本| 婷婷丁香成人色综合| 亚州操人在线视频| 色婷婷99| 婷婷五月天小说网| 另类视频五月天| 日本久久精品18| 日本颜色视频人人爱| 色欲丁香久久| 深爱婷婷色| 午夜色色色极品视频| www色色色com| 久久丁香| 久久老码第一| 亚洲色婷婷婷婷人人爽| 六月丁香啪| 日韩成人av在线| 色情丁香五月婷婷精品| 99久.| 97婷婷狠狠| 五月天婷婷色情| 丁香五月综合久久| 九色七七| 五月丁香六月婷综合成人综合 | 这里只有精品偷拍| 天天插综合在线| 久久色五月天| 天天噪夜夜爽| 五月婷婷人妻| 五月亭亭开心网| 天天干天天操天天爽| 99热这里只有精品在线播放 | 99久久五月天| 色婷婷久久| 99综合视频| 欧美激情五月综合| 欧美黑人巨大猛烈cuckold| 五月激情开心婷婷| 久色欧美| 综合久久影院| 国产精品天天狠天天看| 五月天婷婷无码| 丁香婷婷综合色五月激情国产基地| 色综合婷婷99| 亚洲综合视频网| 五月天激情综合在线| 丁香五月花婷婷开心| 日本va欧美va精品发布视频| 丁香婷婷激情网站| 综激情网| 男男野外做爰全过程69| 久久久噜噜噜www成人| 激情啪啪五月| 99久热这里有精品| 开心网五月色婷婷| 99性色| 一本大道熟女人妻中文字幕在线 | 久婷婷五月综合欧美| VA色婷婷| 久久精品视频9| 99热亚洲| 嫩草AV久久伊人妇女超级A| 艹B高清无码| 九九www| 激情久久久| 天天爽,天天操。| 性生活久久人妻| 欧美日本国产欧美日本韩国99| 五月综合无码| 色欲色香,www,com| 丁香五月天色综合| 五月天婷婷亚洲| 日韩无码色色| 色色丁香五月天社区| 成人丁香五月| 激情五月天综合婷婷网| 日本欧美成人片AAAA| 亚洲AV永久无码影院黑人| 亚洲精品国产setv| www,天天干| 丁香五月影院| 桃色激情五月天| 久久综合天天综合| 久热这里| 色九月婷婷| 伊人AV五月婷| 嫩草AV久久伊人妇女超级A| 亚洲视频无| 热这里只有精| 九九九九国产| 色噜久| 97深爱伊人综合| 人妻久热| 激情丁香久久| 开心五月激情五月丁香五月婷婷| 色婷婷狠狠| 99热 在线播放| www.日日日.com| 91人妻PORNY九色大屁股| 精品国产a| 婷婷五月丁香基| 色5月婷婷| 久久久久久久久久久44| 播五月丁香六月| 狠狠操综合| 97婷婷狠狠| 色婷婷婷婷五月天| 久久成人亚洲欧美电影| WWW.桔色成人.COM入口| 综合久| 成人AV免费观看| 久久金品黃色| 五月天久草| 久久婷婷丁香六月天| 色五月av| 亚洲激情五月婷婷日日| 超碰免费在线| 丁香五月色播中文在线播放| 丁香五月色| 99久久精| 激情av| 丁香五月天无码AV| www.色婷婷| 丁香六月婷婷久久综合八月| 人人爱人人草| 午夜理论片最新午夜理论剧| 婷色五月| 激情www.98com| 第九色区av天堂| 深爱丁香网| 久操婷婷| 五月丁香久久激情网| 亚洲乱码日产精品BD| 这里只有视频精品| 无码视频国内精品久久久| 久久婷婷欧美| 99九九免费精品| 色5月丁香婷婷| 2017狠狠干| 日韩999| 开心婷婷五月天综合| 色婷婷久久综合| 丁香六月激情综合| 亚洲无码99| 欧美性爱特黄一级aaaassss| 成人精品免费在线观看| 婷婷五月成人| 99色这里| 中日韩美欧成人一区二区精品在线| 久久机只有这里精品| 色九月综合| a久久| 超碰免费在线| 欧美色男人网站| 午夜激情五月天| 婷婷狠狠97| 婷婷丁香久久| 天天干肏夜夜| 肏屄色播伊人97婷婷| 99久久激情视频| 亚洲婷婷月丁香五月| 亚洲色99综合天堂| 99re在线精品视频| 婷婷五月天xxx| 久久月天堂| 亚洲午夜视频| www,五月丁,com| 伊人三级激情| 国产亚洲成AV人片在线观黄桃| 夜夜爽天天日| 亚洲无码播放| 1级欧美日韩| 久久婷婷五月丁香网| 99在线观看视频精品| 六月婷婷天堂| 亚洲综合五月天| 色婷婷AV久久久久久久| 婷婷五月天最新综合你懂的| 玖玖玖婷婷婷| 婷婷五月天av| 久久激情天堂| 五月天激情网页| 男女99免费视频| 91呦呦呦| 欧美一级色| 婷婷丁香五月综合免费视频百花| 色婷婷激情小说网| 91九色小视频| 久久丁香网| 久久激情网| 九九婷婷五月天| 少妇日麻屄| 久久99综合网| Av在线不卡一区| 欧美性爱五月天| 9九色首页| 亚洲色vA| 五月天色婷婷av| 色99日韩| 欧美激情伊人| 九一娱乐在线观看视频| 亚洲视频一区| 五月天亭亭俺也| 色婷婷狠狠| 99福利视频| 99免费成人网| 日韩一级A片黄色| 国产探花一片区| 国产精品日本一区二区在线播放| 久久久久这里只有精品| 五月天激情久久| 99亚洲精品视频| 情婷婷五月天| www开心激情网| 就爱操www com| 激情小说五月天社区丁香 | 激情五月色综合国产精品| 特黄三级片| 热久69| 综合网网欲色| 丁香色影院| 久久色午夜在线导航| 五月婷婷丁香日韩在线| 亚洲精品无人区| 丁香五月av| 色婷五月天| 色婷婷丁香五月| 99热国产免费| 91丨九色丨43老版熟女| 天天日天天色| 嫩BBB搡BBBB榛BBBB| 成人视频网| 无码激情AAAAA片-区区| 强辱丰满人妻HD中文字幕| 开心五月婷婷| 婷婷色情 | 综合色五月亭亭| 丁香五月激情图片婷婷| 丁香操逼| 97超级碰碰碰| 亚洲欧美综合7777色婷婷| 亚洲九区| 六月丁香婷婷色综合| 亚洲五月婷天天操| 狠狠五月天激情| 五月婷婷开心丁香| 超碰猛烈的性猛交| 久久九九热视频| 五月丁香综合激情| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 五月天色婷婷图片| 婷婷五月天BBw| 久久人妻乱| 五月丁香婷婷综合久久| 天天爽夜夜操| 色啦啦视频| 日笨久久网| 亚洲综合无码| 亚洲五月天天| 五月激情六月综合| 91九九| 中字幕视频在线永久在线观看免费| 综合aV在线| 操日本三片99| 色色色综合视频| 午夜色丁香| 色三级色三级| 国产SUV精品一区二区6| 91在线观看www| 亚洲无码另类| 99爱免费在线视频| 伊人婷婷大香蕉| 久热超碰| 91精品国产综合久久蜜芽解析速度| 人人操91| 无月播播激情在线观看视频| 婷色五月天| 日本精品人妻无码77777| 激情久久婷婷| 久久国产性爱A V| 国产成人亚洲综合A∨婷婷| 五月丁香影院| 婷婷五月欧美| 天天操夜夜啊 | 五月婷婷丁香| 99国产99| 久热这里只有精品3| 91色情播放| 91婷婷| 91婷婷在线观看| 五丁香激情综合| 五月丁香成人| 99视频综合网| 五月色丁香综合| 五月婷婷激情| 免费黄网不卡AV| 色综合久| 天天爽天天| 亚洲成人在线观看av| 爱射综合| 久re热视频| 先锋影音男人的天堂AV| 丁香六月婷婷缴情欧美| 五月综合丁香婷婷| 国产精品 的国产| 丁香婷婷六月天| www狠狠| 超碰激情五月| 我要看激情五月天| 丁香五月天激情| 插逼综合网| 天天草比天天爽| 国产午夜精品AV一区二区麻豆 | 天天色视频| 色色欧美色色色| www.天天干.com| 9|无码久久久久久| 国产成人AV在线播放| 色婷婷AV久久久久久久| 琪琪色综合网站| 三区激情四射av| 色五月六月| 丁香激情四射| 久久九九国产精品怡红院| 丁香五月伊人| 亚洲无码九九| 99cao婷婷| 六月伊人婷婷| 亚洲精品久久久无码| 丁香五月婷婷久久久| 大香蕉久操| 丁香五月综合婷婷| 丁香婷婷六月天| AV无码免费| 99爱爱网| 久久婷狠狠色| 丁香五月香蕉| 国产激情综合| 婷婷综合视频| 99精品视频在线免费观看| 丁香六月婷| ay2区| 国精产品一区一区三区免费视频| 一区二区中文字幕| 国产激情久久久| 亚洲丁香五月天在线视频| 天天干,天天日| 最新精品视频99| wwwav大香蕉| 丁香综合网| 996re热精品视频| 激情五月小说婷婷| 激情文学第四色婷婷丁香五月| 精品色色| 免费观看全黄做爰的视频| 日韩xx在线| 日欧大屏操| 二级黄色毛片| 婷婷色网站| 天天想夜夜爽天天爽| 天天操人人干| 日日干夜夜撸夜夜骑| 国产乱子轮XXX农村| 99色热视频| 久久九九亚洲| 五月丁香激情婷婷| AV堂狠狠干| 香蕉久久国产AV一区二区| 99综合激情久久精品久久| 亚洲AV永久无码影院黑人| 亚洲成人高清在线| 婷婷五月成人有| 婷婷碰碰| 五月天婷婷基地综合网| 久久视这里只有精品| 在线18av | 五月丁香婷婷爱| 丁香综合婷婷开心激情网| 疯狂做受XXXX高潮A片动画| 五月婷婷五月天亚洲无码| 91热网址| 亚洲精品久久久久AV无码| 色性日本| 婷婷中文在线| 91热久88| 一级性爱视频| 亚洲色欲AAAAAA| 五月叮香啪| 丁香五月激情综合| 综合激情五月天六月婷免费视频| 婷婷丁香成人| 99久久婷婷精品视频| www.99热在线观看| 狠狠色精品综合| 色色色99| 久久婷婷大香蕉| www.色婷婷.com| 亚洲五月停停| 啄木鸟黑丝一区二区| 日韩美女羞羞网站在线观看| www.久久| 区美毛片子| 亚洲综合狠狠艹| 99久久99久久综合| 丁香熟女乱| 国产暴力强伦轩1区二区小说| 丁香六月婷婷色播| 婷婷五月丁香色情| 久久黄A片| 日本久久9| 国产欧美性成人精品午夜| 99色热视频| 99re热视频这里只精品| 色亚洲中文| av在线观看网站| 沈娜娜av| 中国丰满熟女A片免费观| 五月婷婷激情性爱| 九九热只有精品| 久久av电影| 99精品无码视频| 伊人久久大香蕉网| 99热www| 九九热狼人| 成AV人片一区二区三区久久| 激情四射网| 丁婷婷五月天在线播放| 丁香社区婷婷五月| 亚洲婷婷丁香五月天激情小说| 99啪啪视频| 99碰网站| 涩涩婷婷五月| 五月天丁香看婷婷| 嫩草免费视频| 欧美午夜乱妇午夜福利| 久久久久婷婷| 五月天婷婷在线AN| 久热欧美| 9l视频自拍九色9l视频自拍九色9l社区| 婷婷五月花丁香| 久久五月婷天天干| 狠狠狠狠狠草| 开心五月婷婷激情网| 月婷婷亚洲| 91精品熟女| 久久色五月| 涩涩五月天综合| 亚洲色婷婷色| 色黑鬼导航| 五月天色婷婷激情综合| 、激情六月天| 九九视频免费| 激情q青青草在线婷婷| 亚洲色色色色色| 激情深爱综合| 五月丁香天堂网婷婷| 巴基斯坦粉嫰无码视频| 26UUU亚洲欧美| 蜜臀av在线成人电影| 久久九九蜜| 伊人五月天在线| 五月丁香综合在线| 色婷六月| 91精品久久久久久综合五月天| www超碰| 9l视频自拍9l九色成人| 国产精品18久久久| www.99精品日操伊人乱碰在线| 久久视9精| 色婷婷无吗| 亚洲欧洲午夜成人精品av| www.91.com黄| 99热99成人| 免费久久这里只有精品99| 99爱精品视频| 日韩黄色电影| 综合久久99| 人妻体体内射精一区二区| 91狼友视频在线观看| 99色免费| 99黄色性生活| 亚州日本欧州韩美高青高潮一| 这里只有精品免费视频在线观看| 激情网五月| 亚洲a色| 久久黄色片| a色婷婷| 五月天另类小说亚洲| 五月天激情中文字幕| 天天爽天天摸天天爱| 综合网色| 久久综合九色综合97婷婷| 操操操91| 看黄的网站18禁| 俺去也在线视频| 中文在线成人| 公的粗大挺进了我的密道| 偷拍99在线视频观看| 五月婷婷色影院| 婷婷五月永远18免费久久久| 亚洲这里只有精品| 激情五月天在线视频| 七月丁香五月婷婷在线| 激情久久久久久久久久久| 婷婷五月丁香五月丁香| 丁香婷婷激情网站| 五月婷丁香| 五月激情综合婷婷| 99er6免费视频热播| 99视频一区| 婷婷色综合| 超碰妻人人| 婷婷香香五月| 99这里只有精品|v| 激情综合网五月天| 丁香五月婷婷亚洲激情四射| 久久五月六月| 少妇性按摩无码中文A片| 久草热8精品视频在线观看| 伊人玖玖婷婷| 婷婷成人丁香色情基地30| 婷婷五月综合社区| 国产av网| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 九九视频在线观看| 国产亚洲精品AAAAAAA片| 丁香 久久| 亚洲人人操BD| 亚洲人妻AV| 4399人妻无码久久久| 99爱精品视频| 被强行糟蹋的女人A片| 99爽视频| 婷婷五月丁香基地| 99精品偷自拍| 好好干Av| 色99在线视频| 色色丁香五月| 99re视频精品| 日本不卡高字幕在线2019| 天堂A∨在线| 丁香五月六月婷婷综合| 色狠狠婷婷| 538久久| 天天天天天天操| 九月婷婷色色| 婷婷五月六| 久777| 综合色99| 久草五月婷| 99热成人在线观看| 国产乱子轮XXX农村| 丁香色婷婷| 色情五月综合婷婷| 色噜噜狠狠色综合网| 婷婷五月色天| 91大神在线免费看视频全集男男一起操| 最新激情五月天| 久操婷婷| 99在线视频免费| 五月丁香啪啪| 异能之下短剧免费观看全集| 性视频久久| 色婷婷色九月| 亚洲天堂色色| 青青久久大香蕉| 婷婷五月色情天| 综合久久伊人| 99色热| 免费97碰碰| 亚洲色夜| 色停停香蕉视频| 91热在线| 大香蕉520| 97精品综合| 久久机热这里只有精品免费视频| 天天日天天摸| yazhou seshipin| 成人视频网| 激情丁香五月激情婷婷| 人人色人人弄人人操| A A色色| 亚洲AV电影av| 五月天婷婷免费视频| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 婷婷五月色情| 婷婷涩五月| 欧美色狠婷久| 校花娇喘呻吟校长陈若雪视频 | 97色婷婷| 先锋av性爱成人电影| 99热10在线高清播放| 亚洲色色香蕉| 在线观看免费狠狠色丁香香综合| 97超碰人人操| 色丁香五月天射婷婷爱婷婷| 亚洲乱码日产精品BD在线观看| 婷婷在线精品| 激情激情激情网| 噜噜五月天综合| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 色色亚洲99com| 五月婷婷五月丁香| 婷婷精品免费久久| 色五月婷婷在线| 26uuu另类亚洲欧美日本一| 九热视频精品| 99这里只有精品|v| 丁香五月激情视频在线| 婷婷综合av| 狠狠草狠狠草| 狠狠五月天激情| 精品牛仔裤超碰| 欧美肉大捧一进一出免费视频| 狠狠色噜噜狠狠| 成人欧美日韩| 99精品偷自拍| 九九综合| 2025最新亚洲激情在线| 亚洲欧洲一二| 99热这里只有精品5| 婷婷五月色丁香在线看| 五月婷婷|欧美| 婷婷五月在线观看| 怡红院一二三| 婷香五月网在线| 99玖玖精品| 色婷婷综合网| 激情五月综合亚洲另类| 五月天天丁香婷婷在线中| 色五月噜噜| 天天玩夜夜操| 精品乱码久久久久| 欧美色色色色色色色色色色影视| 色婷婷色综合| 色情综合网| 五月天婷婷免费视频| 色五月丁香激情视频| 91精品综合久久婷婷九色| 成人无码精品1区2区3区免费看| 第四色大香蕉| 亚洲99在线视频| 91久久婷婷| 日本欧美999久久久三级片| 婷婷激情四射| 六月丁香五月婷婷| 伦99热| 久久这里只有精彩| 婷婷五月激情综合啪啪| 中国女人内射6XXXXX| 日韩另类| 亚洲综合色网| 天天情色综合网| 国产婷婷五月中文字幕高清| 欧美日韩成人免费在线| 亚洲AV无码电影| 色婷婷香蕉| 玖玖午夜视频| 色婷婷综合视频| 岛国资源网| 婷婷6月综合网| 99热免费精品| 99综合入口| 国产AV一区二区三区日韩| 色五月激情| 亚洲色人妻| 五月天丁香婷婷久久九| 色婷婷狠狠18禁| 99re免费精品视频| 五月天婷婷无码| 五月激情黄色小说| 欧美久久五月婷婷| 永久思思热在线| 亚洲av成人在线| 成人在线高清| 婷婷性爱五月天丁香网| 双性美人被调教到喷水A片| 日韩999| 另类激情中文| 久久激情五月婷婷| 久99热| 久久久久9| 91丨九色丨熟女|新版| 无码髙清| 99这里有精品视频| 激情图片婷婷丁香五月| 久久精品人妻| 99热这里精品| 久久伊人五月天| 日日日日操| 五月天综合激情网| 欧美xx激情视频在线观看| 狠狠操婷婷| 激情五月小说婷婷| 日本五月天激情| 99色色爰| BBWCUCKOLD精品熟妇| 欧美性爱五月天| 丁香五月av| 伊人久久婷婷| 一本色道久久88综合日韩精品| 中文字幕在线免费看线人| 国产日韩精品SUV| 99ER热精品视频| 玖玖99婷婷| 色色婷婷婷丁香五月天| 国产午夜精品一区二区| 成年人夜夜喷水| 久久天天天| 色播五月丁香婷婷| 就去涩涩丁香五月天| 啪啪小说五月天| 五月丁香啪综合| 伊人五月天在线| 色婷婷成人做爰A片免费看网站| 亚洲黄色网址| 人妻五月天激情开心网| 久综合| 这里只有精品免费在线视频| 九九热这里都是精品6| 97婷婷丁香五月| 五月亭亭狠狠| 五月婷婷五月天| 能看的av| 殴美97色| 五月丁香精品| 乱女乱妇熟女熟妇综合网站| 啪啪啪五月天| 色色色99| 亚洲色婷婷| 久久99大| 99九九热在线观看| 天天操天天操| 婷婷五月综合体验看| 丁香六月五月天| 欧美婷婷丁香社区在线播放| 综合玖玖偷拍| 天堂婷婷五月在线| 天天天操天天天日| 五月婷婷色情| 在线18av | 婷婷综合97| 色青青视频| 五月丁香六月婷婷久久肏| 香蕉久久国产AV一区二区| 啪啪视频99| 色噜噜狠狠色综| 99日这里只有精品| 97碰碰人人| 色婷婷很很十八禁| 超碰日日操| 久色五月| www激情| 99爱在线| 欧美狠狠一在草| 色综合色| 亚洲精品无AMM毛片| 全高清无码视頻| 色色婷婷综合网| 激情婷婷| 丁香天堂夜| 怡红院院久久| 九九99免费视频| 超碰免费观看| 五月丁了香蕉综合| 亚洲人成色A777777在线观看| 中文字幕免费高清电视剧| 日本久草福利| 夜夜撸日日骑| 色色婷婷丁香| 五月丁香久| 天天色天天爱天天爱天天爱y| 精品久久99| 色久影院| 另类五月激情| 成人美女网| 99热九九这里只有精品| 天天爱天天操| 久热A片| 久久精品在线| 综合色久| 日本成人综合| 五月激情综合美女久久| 日韩黄色中文字幕| 丁香婷婷五月天校园春色| 99热综合网| 大香蕉九九操| 深爱激情六月天| 教师性爱毛片| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 婷婷五月色丁香在线看| 五月大香蕉| 天天干,天天舔| 大香蕉五月天婷婷| 97日本在线| 婷婷丁香五月综合网上| 激情都市另类| 婷婷操逼网| 成人无码髙潮喷水A片| 色情综合网| 色五月综合网| 女同激情久久av久久| 麻豆雪千夏| 久久新| 婷婷婷久久久| 九色地址91视频| 婷婷五月天视频亚洲| 日韩啪啪自拍| 99热费观看| 色九九九综合| 激情综合网 激情五月天| 色婷婷呢狠禁久禁| 五月丁香伊人网| 噼里啪啦完整版中文在线观看 | 亚洲精品国产成人AV在线| 8区视频在线| 久久婷狠狠色| 激情五月综合网最新| 色玖玖综合网| 俺去也综合| 五月天六月天| 草了bav视频在线观看|