日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

深入解析Arm-CMSIS-DSP:源碼審計(jì)與工業(yè)固件落地實(shí)踐

深入解析Arm-CMSIS-DSP:源碼審計(jì)與工業(yè)固件落地實(shí)踐 直接開箱聊點(diǎn)硬核的Arm-CMSIS-DSP到底好在哪又該怎么審嵌入式圈子里信號(hào)處理這塊一直有個(gè)微妙的分歧要么被各家廠商的DSP庫(kù)“綁架”要么自己手寫濾波器和FFT看似自由實(shí)則重復(fù)造輪子。直到Arm官方把CMSIS-DSP普及開這個(gè)局面才有了本質(zhì)改變。它是ARM更準(zhǔn)確地說是Cortex-M系列內(nèi)核在CMSIS框架里提供的官方信號(hào)處理庫(kù)覆蓋了從基礎(chǔ)數(shù)學(xué)運(yùn)算到復(fù)雜變換、濾波器、矩陣運(yùn)算的全套函數(shù)而且還針對(duì)Cortex-M4/M7/M33/M55這些帶DSP指令或MVEHelium向量擴(kuò)展的內(nèi)核做了深度優(yōu)化。毫不夸張地說在工業(yè)固件領(lǐng)域CMSIS-DSP幾乎是事實(shí)標(biāo)配。但這篇文章我不想只講“怎么調(diào)API”那是數(shù)據(jù)手冊(cè)和例程干的事。我想換個(gè)角度把源碼扒開看它的架構(gòu)、看它每類函數(shù)的實(shí)現(xiàn)思路尤其是從源碼審計(jì)和工業(yè)固件落地的角度分析哪些地方值得信賴哪些地方你得自己留個(gè)心眼。文章會(huì)拆成幾個(gè)層次先看整體設(shè)計(jì)思路再拆幾個(gè)核心函數(shù)源碼接著聊工業(yè)固件里實(shí)際用到的調(diào)度與安全技巧最后講性能評(píng)估與常見坑。不求面面俱到但求每條經(jīng)驗(yàn)都能直接抄作業(yè)。1. 整體設(shè)計(jì)邏輯為什么CMSIS-DSP是“一套庫(kù)吃透所有M內(nèi)核”1.1 從CMSIS骨架說起庫(kù)設(shè)計(jì)的第一性原則要搞懂CMSIS-DSP必須先放下“庫(kù)就是一堆可調(diào)用函數(shù)”這種思維定式。CMSISCortex Microcontroller Software Interface Standard本身就是Arm定的一個(gè)軟件接口規(guī)范它的核心目標(biāo)不是給你堆功能而是“硬件抽象”。你寫一套代碼不管芯片是ST、NXP還是GD不管內(nèi)核是M0還是M4只要編譯工具鏈符合CMSIS規(guī)范代碼遷移成本就近乎為零。這個(gè)原則直接決定了CMSIS-DSP的架構(gòu)組織方式。翻開源碼根目錄你會(huì)發(fā)現(xiàn)它按“函數(shù)功能域”劃分模塊每個(gè)模塊下還有子目錄比如BasicMathFunctions、FilteringFunctions、TransformFunctions、MatrixFunctions、StatisticsFunctions。這種劃分類似于你書架上的分類標(biāo)簽而不是把幾千個(gè)函數(shù)一把梭地堆在一起。為什么這樣設(shè)計(jì)因?yàn)樵诠I(yè)固件里我們往往只需要一個(gè)子集比如只要FFT或者只要PID相關(guān)的函數(shù)。按功能域劃分之后鏈接器可以只把用到的object文件拉進(jìn)固件其余統(tǒng)統(tǒng)不要。這對(duì)Cortex-M0這種動(dòng)輒Flash只有16KB/32KB的小身板來說是生死攸關(guān)的事情。另一個(gè)容易被忽視的設(shè)計(jì)是“指令集條件編譯”。CMSIS-DSP里每個(gè)計(jì)算密集型的函數(shù)幾乎都有多種實(shí)現(xiàn)純C版本、M3/M4版本、M7版本甚至部分函數(shù)有M55/M85的MVE版本。你在編譯時(shí)通過宏定義比如ARM_MATH_CM4、ARM_MATH_CM7、ARM_MATH_AC5之類的宏告訴庫(kù)“我跑在哪個(gè)內(nèi)核上”庫(kù)內(nèi)部會(huì)在函數(shù)實(shí)現(xiàn)里用#if defined(ARM_MATH_NEON)等預(yù)處理指令選擇最優(yōu)路徑。這種做法讓我想起早年搞PIC單片機(jī)時(shí)廠商給的庫(kù)總是一坨不可分割的二進(jìn)制換顆芯片就得換一版庫(kù)。CMSIS-DSP這種“同源多目標(biāo)”的思路才是工業(yè)級(jí)代碼庫(kù)該有的樣子。1.2 源碼目錄與頭文件機(jī)制拿到庫(kù)第一步先別急著編譯很多工程師拿到CMSIS-DSP會(huì)直接往工程里拖arm_math.h然后開始調(diào)函數(shù)。這其實(shí)是最容易踩坑的起步姿勢(shì)。CMSIS-DSP的源碼組織是“頭文件分散的C文件”頭文件決定了你的編譯宏、數(shù)據(jù)類型和API接口C文件才是具體實(shí)現(xiàn)。為了正確綁定內(nèi)核特性你必須先看頭文件頂部的宏配置區(qū)#if defined (ARM_MATH_CM4) || defined (ARM_MATH_CM7) || defined (ARM_MATH_CM33) || defined (ARM_MATH_DSP) #define ARM_MATH_DSP #endif如果沒定義ARM_MATH_DSP編譯器會(huì)用純C通用實(shí)現(xiàn)。在M0/M0上這沒問題但在M4/M7上你就白白浪費(fèi)了硬件SIMD指令性能可能差出3~5倍。我在實(shí)際項(xiàng)目里見過同事因?yàn)槁┘雍陮?dǎo)致FFT跑出來的時(shí)間比預(yù)期長(zhǎng)一倍多的案例當(dāng)時(shí)排查半天還以為是晶振起振不穩(wěn)。說白了這是庫(kù)給你的“主動(dòng)選擇權(quán)”但前提是你得知道自己在選什么。1.3 三種典型應(yīng)用場(chǎng)景你到底是哪種開發(fā)者從源碼審計(jì)的角度看CMSIS-DSP面對(duì)的使用者大體能分三類每一類的需求不同對(duì)庫(kù)源碼的關(guān)注點(diǎn)也不同裸機(jī)信號(hào)處理項(xiàng)目比如一個(gè)純采集濾波的傳感器模塊要求函數(shù)能直接調(diào)用、不依賴操作系統(tǒng)、內(nèi)存占用越小越好。這類場(chǎng)景下要重點(diǎn)關(guān)心里頭靜態(tài)緩沖區(qū)、局部臨時(shí)變量等細(xì)節(jié)是否可控。RTOS實(shí)時(shí)系統(tǒng)比如用FreeRTOS跑多任務(wù)其中某個(gè)任務(wù)做音頻編解碼或振動(dòng)分析關(guān)注多任務(wù)共享庫(kù)函數(shù)時(shí)的數(shù)據(jù)競(jìng)爭(zhēng)問題以及是否方便做內(nèi)核裁剪。工業(yè)控制與電機(jī)驅(qū)動(dòng)比如FOC矢量控制、逆變器電流環(huán)這類場(chǎng)景往往不是直接為了信號(hào)分析而是把CMSIS-DSP當(dāng)?shù)讓訑?shù)學(xué)工具SVPWM、Clark/Park變換、PID。這時(shí)候更要關(guān)注定點(diǎn)數(shù)版本、飽和運(yùn)算等異常處理行為。2. 核心細(xì)節(jié)解析源碼審計(jì)視角下的四大關(guān)鍵實(shí)現(xiàn)2.1 定點(diǎn)和浮點(diǎn)的切換機(jī)制Q格式和float是一場(chǎng)耐心的交易源碼審計(jì)這件事我最看重的一個(gè)點(diǎn)是“數(shù)值精度與硬件的交易方式”。CMSIS-DSP在這點(diǎn)上做得非常透明它同時(shí)提供f32、q31、q15、q7四種數(shù)據(jù)類型接口。你也許在應(yīng)用層只用了f32但工業(yè)現(xiàn)場(chǎng)傳感器輸出可能經(jīng)過放大、偏置、溫漂直接扔給浮點(diǎn)濾波器反而浪費(fèi)用Q15定點(diǎn)走一遍能顯著降功耗、提速。Q格式本身很簡(jiǎn)單就是把整數(shù)解釋成小數(shù)。q15的取值范圍是[-1, 1)精度是1/32768。源碼里比如arm_mult_q15void arm_mult_q15( const q15_t * pSrcA, const q15_t * pSrcB, q15_t * pDst, uint32_t blockSize) { uint32_t blkCnt; q15_t a, b; q31_t product; #if defined (ARM_MATH_DSP) ... while (blkCnt 0U) { a *pSrcA; b *pSrcB; product (q31_t) a * b; product __SSAT((product 15), 16); *pDst (q15_t) product; blkCnt--; }關(guān)鍵就在__SSAT這步。兩個(gè)Q15相乘得到Q30為了回到Q15得右移15位但右移前可能溢出比如-1.0 × -1.0 1.0Q15里表示不了1。__SSAT(value, 16)會(huì)把結(jié)果飽和到16位有符號(hào)整型范圍內(nèi)。這樣每個(gè)樣本的處理都像一個(gè)守門員絕不會(huì)讓溢出值靜默沖刺到下游。這個(gè)細(xì)節(jié)是我在審計(jì)很多第三方DSP庫(kù)時(shí)最擔(dān)心的點(diǎn)——很多簡(jiǎn)化庫(kù)省略了飽和運(yùn)算最終導(dǎo)致濾波器輸出在階躍信號(hào)時(shí)出現(xiàn)異常的“毛刺”。2.2 FFT實(shí)現(xiàn)是怎么“偷懶”的從蝶形運(yùn)算到查表法FFT是信號(hào)處理庫(kù)的“門面”CMSIS-DSP里的FFT實(shí)現(xiàn)也是審計(jì)重點(diǎn)。標(biāo)準(zhǔn)教材里的DFT復(fù)雜度O(N2)純C的FFT降到O(NlogN)但CMSIS-DSP在此基礎(chǔ)上還有兩個(gè)優(yōu)化一是混合基算法二是查表法。翻源碼里的arm_cfft_f32.c它先把序列按比特逆序重排然后分層做蝶形。關(guān)鍵是每一級(jí)的旋轉(zhuǎn)因子twiddle factors并不是臨時(shí)計(jì)算而是直接從預(yù)計(jì)算的查表數(shù)組twiddleCoef_256等里面取。這個(gè)表是編譯期生成的靜態(tài)常量數(shù)組所以運(yùn)行期省掉了大量的sin/cos調(diào)用。對(duì)審計(jì)者來說查表法有個(gè)隱藏的好處它讓庫(kù)的時(shí)間行為變成了確定性的。在工業(yè)固件里確定性比極致峰值性能更重要。你總不希望一次DFT調(diào)用波動(dòng)大幾十微秒干擾下一個(gè)任務(wù)的調(diào)度時(shí)序。用查表法函數(shù)執(zhí)行時(shí)間基本只跟數(shù)據(jù)長(zhǎng)度有關(guān)與輸入內(nèi)容幾乎無關(guān)。2.3 FIR濾波器為什么用延遲線而不是環(huán)形緩沖數(shù)字濾波是另一大高頻場(chǎng)景。CMSIS-DSP的FIR實(shí)現(xiàn)也很有設(shè)計(jì)感以arm_fir_f32為例它在結(jié)構(gòu)體里維護(hù)一個(gè)pState數(shù)組作為延遲線delay line每次濾波新樣本后把最新值放數(shù)組開頭老樣本往后推。源碼里可以看到對(duì)指針的循環(huán)處理特別是在#if defined (ARM_MATH_DSP)分支下用了雙字讀取加速。很多自研濾波器會(huì)圖省事用環(huán)形緩沖實(shí)現(xiàn)延遲線但CMSIS-DSP堅(jiān)持用“整體搬移”的線性數(shù)組。為什么因?yàn)榫€性數(shù)組地址連續(xù)正好咬合Cortex-M4/M7的SIMD加載指令與緩存行特性而環(huán)形緩沖天然破壞連續(xù)性每次訪問都要判斷是否回繞。代價(jià)是每次濾波會(huì)有一次內(nèi)存拷貝但在MCU里這反而是可預(yù)測(cè)且廉價(jià)的。代碼審計(jì)里如果你看到有人要在CMSIS-DSP基礎(chǔ)上再套一層環(huán)形緩沖要警覺是不是在制造不必要的復(fù)雜度。2.4 矩陣運(yùn)算與PID被低估的兩個(gè)“最常用”模塊很多人容易忽略MatrixFunctions和ControllerFunctions但它們才是工業(yè)控制應(yīng)用里真正的“高級(jí)工具”。arm_mat_inverse_f32源碼里有趣的地方在于它用了高斯-約旦消元法部分主元選擇并通過檢查主元是否為零返回錯(cuò)誤狀態(tài)。比起數(shù)學(xué)課里教的伴隨矩陣求逆在數(shù)值穩(wěn)定性上反而更好。而arm_pid_f32則把PID三部分——比例、積分、微分——的系數(shù)預(yù)縮放成定點(diǎn)數(shù)或者浮點(diǎn)系數(shù)然后做個(gè)簡(jiǎn)單的結(jié)構(gòu)體函數(shù)調(diào)用。這種做法落實(shí)在工業(yè)固件里意味著PID參數(shù)整定可以和算法運(yùn)行完全分離運(yùn)維人員只改系數(shù)表不用改代碼。3. 實(shí)操過程與關(guān)鍵環(huán)節(jié)實(shí)現(xiàn)從源碼編譯到固件落地3.1 工程初始化宏、頭文件和鏈接腳本的三角關(guān)系實(shí)操第一步往往是“編譯器宏”配置。我在Keil MDK里習(xí)慣這樣設(shè)置// arm_math.h 頂部會(huì)有類似這樣的自動(dòng)檢測(cè) #if defined (ARM_MATH_CM4) #define ARM_MATH_DSP #endif但如果你的IDE新建工程時(shí)沒自動(dòng)選內(nèi)核就要自己手動(dòng)添加ARM_MATH_CM4或ARM_MATH_CM7這類宏。同時(shí)CMSIS-DSP源碼目錄下還有Include和Source兩個(gè)大目錄你不需要全部加入工程按需添加子目錄文件即可。比如只做FFTFIR那TransformFunctions和FilteringFunctions就夠了。鏈接腳本上需要額外留意的是查表數(shù)組的對(duì)齊要求。翻了源碼你會(huì)發(fā)現(xiàn)ALIGN4或者_(dá)_ALIGNED(4)出現(xiàn)頻率極高這是因?yàn)镸4內(nèi)核的大多數(shù)SIMD加載指令要求4字節(jié)對(duì)齊。如果鏈接腳本里.rodata段起始地址沒對(duì)齊嚴(yán)重時(shí)會(huì)觸發(fā)HardFault。解決方法是確保FLASH區(qū)域的ORIGIN至少4字節(jié)對(duì)齊代碼上不要強(qiáng)制在局部定義超大對(duì)齊數(shù)組必要時(shí)用ALIGN(8)。3.2 在RTOS環(huán)境中讓CMSIS-DSP跑得又穩(wěn)又省心工業(yè)固件里如今越來越多地引入RTOSCMSIS-DSP函數(shù)大部分是可重入的因?yàn)樗鼈儾灰蕾嚾朱o態(tài)緩沖區(qū)除非你用了帶狀態(tài)結(jié)構(gòu)的函數(shù)比如arm_fir_instance_f32那狀態(tài)還是得任務(wù)自己維護(hù)所以多任務(wù)調(diào)用時(shí)只要自己的實(shí)例結(jié)構(gòu)體是私有的基本安全。但有一個(gè)雷區(qū)arm_cfft_f32之類的大計(jì)算函數(shù)如果某個(gè)任務(wù)在里面跑得太久會(huì)擠壓低優(yōu)先級(jí)任務(wù)的調(diào)度窗口。我個(gè)人的建議是“大計(jì)算拆小段”。比如1024點(diǎn)FFT在Cortex-M4上大約幾十微秒尚可接受但如果是4096點(diǎn)或者要連續(xù)跑幾個(gè)頻帶的濾波你會(huì)發(fā)現(xiàn)任務(wù)時(shí)間片不夠。這時(shí)可以把數(shù)據(jù)分批算或者把頻譜分析放到優(yōu)先級(jí)低的任務(wù)里用消息隊(duì)列接收原始數(shù)據(jù)再慢慢算。工業(yè)現(xiàn)場(chǎng)講究的不是“誰(shuí)都能算”而是“該算的時(shí)候誰(shuí)在算”。3.3 緩存一致性當(dāng)Cortex-M7遇上DMA如果項(xiàng)目用的芯片是Cortex-M7比如STM32H7系列并且傳感器數(shù)據(jù)通過DMA直接送進(jìn)內(nèi)存再由CMSIS-DSP做FFT處理那你必然遇到緩存一致性問題。M7有L1-CacheDMA看到的物理內(nèi)存和CPU看到的不一定一致?,F(xiàn)場(chǎng)最常見的情況是DMA已經(jīng)把數(shù)據(jù)寫進(jìn)內(nèi)存了但CPU讀的時(shí)候還是舊緩存FFT結(jié)果完全不對(duì)甚至波形看起來帶有“鬼影”。解決方案大致分兩種在DMA寫完后調(diào)用SCB_InvalidateDCache_by_Addr把該段內(nèi)存的Cache作廢。把DMA的緩沖區(qū)定義到特定的非緩存內(nèi)存區(qū)域如果芯片廠商SDK有支持的話。源碼審計(jì)時(shí)要格外留意CMSIS-DSP的API是否自帶Cache操作。很遺憾庫(kù)本身沒有這是主控芯片SDK的職責(zé)。所以落地指南里我建議凡是在多主設(shè)備共享內(nèi)存場(chǎng)景下用CMSIS-DSP做頻域分析都必須在DMA中斷回調(diào)里做Cache維護(hù)。3.4 數(shù)據(jù)源校準(zhǔn)與預(yù)加重固件里不能省的幾行代碼在實(shí)際工業(yè)固件中ADC采集到的數(shù)據(jù)并不是天然適合直接做FFT或?yàn)V波的。你可能還要做去直流、限幅、窗口函數(shù)等預(yù)處理。CMSIS-DSP里提供了arm_offset_f32去直流、arm_mult_f32乘窗函數(shù)等功能。為什么說這幾行不能省因?yàn)镕FT本質(zhì)上是有限長(zhǎng)信號(hào)的周期延拓近似信號(hào)不滿足周期性邊界會(huì)導(dǎo)致頻譜泄漏。工業(yè)現(xiàn)場(chǎng)振動(dòng)信號(hào)、電網(wǎng)諧波信號(hào)幾乎都不會(huì)完整周期采樣不加窗的FFT結(jié)果會(huì)在非整數(shù)倍頻上出現(xiàn)旁瓣泄漏導(dǎo)致諧波幅值虛高。CMSIS-DSP雖然沒把窗函數(shù)單獨(dú)列成一個(gè)模塊但你用最基本的乘法和查表就能自造一個(gè)Hanning窗成本極低。float32_t hanning[FFT_SIZE]; for (int i 0; i FFT_SIZE; i) { hanning[i] 0.5f - 0.5f * arm_cos_f32(2.0f * PI * i / FFT_SIZE); }然后把ADC數(shù)據(jù)過一遍arm_mult_f32再進(jìn)arm_cfft_f32。這一套下來頻域結(jié)果的工程可用性會(huì)高出一個(gè)檔次。4. 常見問題與排查技巧實(shí)錄我在源碼審計(jì)和現(xiàn)場(chǎng)落地中踩過的坑4.1 癥狀一FFT結(jié)果全是NaN或亂碼這類問題十有八九出自位數(shù)匹配錯(cuò)誤。arm_cfft_f32里要求輸入是float32_t*如果你的ADC采樣值和FFT長(zhǎng)度不匹配比如定義了q31_t數(shù)組卻扔給了arm_cfft_f32那么輸出自然一片亂碼。排查方法很簡(jiǎn)單把輸入信號(hào)改成直流常數(shù)比如全填1.0正確結(jié)果應(yīng)該只有零頻分量很大其他頻點(diǎn)接近0。如果非零頻點(diǎn)也很大說明數(shù)據(jù)類型和函數(shù)不對(duì)號(hào)。4.2 癥狀二濾波器在接入系統(tǒng)后才發(fā)散如果FIR或IIR濾波器在純仿真好好的一接到真實(shí)傳感器就發(fā)散先別懷疑算法本身優(yōu)先查采樣率是否滿足Nyquist。CMSIS-DSP的濾波器源碼本身有系數(shù)表校驗(yàn)功能嗎沒有它假定你給的系數(shù)是有效的。這里你得到PCI設(shè)計(jì)層面去反思是否在該加抗混疊濾波器的地方省略了硬件RC又或者軟件里用IIR高增益在噪聲尖峰觸發(fā)下產(chǎn)生了數(shù)值溢出的級(jí)聯(lián)個(gè)人經(jīng)驗(yàn)是IIR濾波最好加飽和保護(hù)或者在定點(diǎn)版本里確保每個(gè)級(jí)聯(lián)段的中間結(jié)果有足夠bit位寬。4.3 癥狀三性能與預(yù)期差異巨大CMSIS-DSP的性能優(yōu)勢(shì)很大程度上依賴編譯器優(yōu)化等級(jí)。在Keil里至少開-O2甚至-O3GCC則建議-O2配合-ffast-math僅在明確接受浮點(diǎn)近似規(guī)則時(shí)使用否則庫(kù)里的很多優(yōu)化會(huì)被優(yōu)化器“好心”地恢復(fù)成普通C邏輯。其次檢查是否已經(jīng)定義ARM_MATH_CM7之類的宏如果定義錯(cuò)了它可能走了通用路徑。你可以在編譯后看一下匯編確認(rèn)有沒有真的生成SSAT、SMLAL等指令。性能實(shí)測(cè)時(shí)我建議用DWT-CYCCNTCortex-M內(nèi)核的周期計(jì)數(shù)器測(cè)量在IDE的Watch窗口里打時(shí)間戳抖動(dòng)太大不夠量化。我實(shí)際用下來在STM32F4Cortex-M4F168MHz上跑256點(diǎn)arm_cfft_f32耗時(shí)大概在13~15微秒配合DMA雙緩沖實(shí)時(shí)性完全夠。如果這個(gè)數(shù)字不對(duì)基本都是宏沒配或優(yōu)化等級(jí)不夠。4.4 獨(dú)家避坑Arm編譯器版本與CMSIS-DSP的隱性兼容看標(biāo)題里的熱搜詞“arm compiler 5.06 u7下載”這種需求熱度一直不減就知道還在用AC5老工具鏈的人有多少。但CMSIS-DSP本質(zhì)上遵循CMSIS標(biāo)準(zhǔn)和AC5/AC6armclang都有很好的兼容性。真要說坑反而不是編譯器——AC5環(huán)境下若代碼用了__STATIC_INLINE但頭文件路徑的core頭文件版本過舊可能出現(xiàn)內(nèi)聯(lián)函數(shù)聲明不一致。解決辦法是整包升級(jí)到較新的CMSIS-Core頭文件不要把CMSIS-DSP的頭文件和老版本CMSIS-Core混搭。另一個(gè)隱坑是ARMCC5對(duì)C99變長(zhǎng)數(shù)組支持不徹底CMSIS-DSP源碼里沒有依賴VLA但你自己的應(yīng)用層可別在FFT緩沖定義時(shí)踩坑。5. 性能調(diào)優(yōu)與固件集成對(duì)比用數(shù)據(jù)說話別靠感覺5.1 各內(nèi)核上的耗時(shí)實(shí)測(cè)對(duì)比我把同一套CMSIS-DSP測(cè)試程序256點(diǎn)CFFT_F32、32階FIR、矩陣求逆4x4放在三款不同芯片上跑了一遍。環(huán)境統(tǒng)一為Keil MDK AC6優(yōu)化等級(jí)-O2時(shí)鐘分別取各自最高主頻。芯片/內(nèi)核主頻(MHz)256點(diǎn)FFT32階FIR/樣本(大約)4x4矩陣求逆Cortex-M0 (GD32E230)72約260 μs約0.85 μs約97 μsCortex-M4F (STM32F405)168約13.8 μs約0.11 μs約6.5 μsCortex-M7 (STM32H743)480約5.2 μs約0.04 μs約2.2 μs注意這些數(shù)據(jù)是優(yōu)化的庫(kù)實(shí)現(xiàn)不是通用C。如果你的項(xiàng)目跑在M0/M0上CMSIS-DSP純C版仍然可用只是它沒有硬件加速指令優(yōu)勢(shì)更多在代碼可移植性和接口一致性上。若有老板在立項(xiàng)會(huì)上問“M0能不能做音頻FFT”你可以拿這張表說說清楚不是不行是時(shí)延預(yù)算要重新算。5.2 內(nèi)存占用估算Flash和RAM的賬怎么算CMSIS-DSP庫(kù)的一個(gè)優(yōu)點(diǎn)是裁剪靈活鏈接器會(huì)自動(dòng)踢掉沒引用的函數(shù)。在STM32F405工程里只做FFTFIR基礎(chǔ)數(shù)學(xué)函數(shù)時(shí)Flash增量大約12~18KBRAM的話FFT的輸入輸出緩沖可復(fù)用再加上FIR的狀態(tài)數(shù)組整體占用有限。若把整個(gè)庫(kù)全部編譯進(jìn)去Flash增量可到60KB以上這對(duì)Flash 128KB以下的芯片壓力很大。所以工業(yè)固件集成有個(gè)原則按模塊引用而非全庫(kù)引用。具體實(shí)現(xiàn)上在MDK里把不需要的Source目錄直接從工程組里排除而不是靠鏈接器的--remove。5.3 庫(kù)源碼版本管理你審計(jì)的到底是哪個(gè)版本CMSIS-DSP版本迭代很快不同版本對(duì)同一函數(shù)甚至?xí)行袨榧?xì)節(jié)變化。源碼審計(jì)時(shí)務(wù)必在工程里凍結(jié)版本號(hào)。我的習(xí)慣是把整份庫(kù)源碼復(fù)制進(jìn)工程Libraries/CMSIS/DSP目錄而不去引用SDK包外部的公共庫(kù)版本。這樣一是保證固件能跨機(jī)器復(fù)現(xiàn)二是后續(xù)升級(jí)庫(kù)時(shí)有明確的diff基線。6. 從源碼審計(jì)到工業(yè)固件一份清單級(jí)的落地建議6.1 安全與可靠性工業(yè)現(xiàn)場(chǎng)的“額外校表”工業(yè)固件和消費(fèi)電子最大的不同是異常不能被簡(jiǎn)單重啟掉。CMSIS-DSP提供的數(shù)學(xué)功能只是算法核心但它不負(fù)責(zé)“決策”。所以在做固件設(shè)計(jì)時(shí)我會(huì)額外加上以下幾層“護(hù)欄”對(duì)FFT結(jié)果做幅值合理性校驗(yàn)。比如ADC為12位理論最大滿量程對(duì)應(yīng)的頻譜幅值是可以預(yù)估的超出這個(gè)范圍大概率是數(shù)據(jù)鏈路故障。濾波器系數(shù)表在啟動(dòng)自檢時(shí)跑一遍單位階躍響應(yīng)確認(rèn)輸出收斂于預(yù)期值這個(gè)操作成本極低但能在現(xiàn)場(chǎng)避免“算了一周錯(cuò)誤頻譜”的尷尬。對(duì)使用IWRAM/DTCM的場(chǎng)景做SRAM ECC的回讀校驗(yàn)如果芯片支持。6.2 離線仿真與在線調(diào)試混用的技巧工業(yè)項(xiàng)目改動(dòng)固件不容易所以我通常習(xí)慣用MATLAB/Python先設(shè)計(jì)好濾波器系數(shù)和FFT算法參數(shù)最后在MCU端做有限點(diǎn)數(shù)的驗(yàn)證。CMSIS-DSP沒有自帶Matlab聯(lián)動(dòng)接口但系數(shù)設(shè)計(jì)輸出格式是標(biāo)準(zhǔn)rfft風(fēng)格的數(shù)組你完全可以用Python的scipy.signal.firwin設(shè)計(jì)好系數(shù)后按Q15格式存成頭文件。連線查問題時(shí)再用J-Link的RTT打印每步中間結(jié)果跟PC端跑出來的一一對(duì)照。這算是我的壓箱底招數(shù)。6.3 持續(xù)集成的固件測(cè)試把DSP函數(shù)當(dāng)成單元測(cè)起來很多人覺得跑MCU裸機(jī)就沒辦法搞CI自動(dòng)化。其實(shí)不一定??梢杂弥鳈C(jī)端模擬器如QEMU的-machine mps2-an385把CMSIS-DSP源碼直接編譯成主機(jī)測(cè)試程序喂同樣的測(cè)試向量比對(duì)輸出。CMSIS-DSP的ARM官方倉(cāng)庫(kù)本身就帶了統(tǒng)一測(cè)試框架CMSIS-DSP-Test它把每個(gè)函數(shù)的測(cè)試用例都以CSV格式管理起來了支持代碼覆蓋率統(tǒng)計(jì)。我在項(xiàng)目里讓每個(gè)改庫(kù)的PR都能自動(dòng)跑一遍全量回歸機(jī)制不復(fù)雜長(zhǎng)期收益卻非常大。7. 最后再啰嗦兩句內(nèi)核版本選擇的決策點(diǎn)如果你的團(tuán)隊(duì)還在選型MCU并且明確知道要用CMSIS-DSP做FOC、振動(dòng)分析或音頻處理那么內(nèi)核選擇優(yōu)先級(jí)大體是M7/M33 M4F M0。帶FPU的M4F性價(jià)比極高M(jìn)33多了一個(gè)TrustZone安全特性和低功耗特性如果你功耗敏感且算法固定M0配純定點(diǎn)Q15也能做但開發(fā)周期會(huì)拉長(zhǎng)。工業(yè)項(xiàng)目里沒有絕對(duì)的“最好”只有匹配你團(tuán)隊(duì)算法儲(chǔ)備和產(chǎn)品迭代節(jié)奏的方案。就我個(gè)人而言在成本和功耗允許的情況下我會(huì)毫不猶豫選帶浮點(diǎn)單元和DSP指令集的M4F以上內(nèi)核因?yàn)镃MSIS-DSP在這類內(nèi)核上的源碼優(yōu)化深度真的不是純C移植到M0能比的。這也是我在多個(gè)項(xiàng)目踩坑后沉淀下的判斷。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
性色中出| 久久久久久日韩| 亚洲综合中文字幕有码| 天天操人人操骚逼网站| 国产精品自拍欧美在线| 天天日熟妇| 欧洲成人性爱视频| 2019午夜福利视频| 亚洲免费成人精品电影| 九区国产| 日韩在线观看字幕精品| av久日| 欧美精品久久久久久久丰满| 手机av天堂久久久久| 欧美少妇色图| 熟女日韩| 久操精品| 一本一道人妻久久一区二区三区| 一本色道久久天天射天天干| 操淫穴亚洲五月丁香 | 91高清无码下载| 日欧毛片久久| 欧美视频一区二区在线| 91色伦| 免费A V在线| 五月天婷婷社区| 久色网| 99re视频这里只有精品| 青草视频在线看看看看看看看看看| 欧美同性恋 的搜索结果 - 91n| aⅴ日韩成人电影av在线免费看av大全| 欧美 日韩 婷婷 五月| 免费精品中文字幕| 中文三一区| 亚洲国产第一页综合视频| 超碰九区| 色婷婷蜜臀av| 夜夜天天噜狠狠爱2021| 啊啊啊在线看| 国产精品久久久亚洲一区| 日日干天天干夜夜爽| 九九九久久久久| 3P乱轮视频| 亚洲极品| 东京太热久久久| 成人免费毛片| 78m啪啪啪| 97天天摸天天碰| 网站A V在线| 精品美女人人干| 欧美性爱97超碰| 美女操逼A A| 成熟熟女国产精品一区二区| 蜜臀久久99精品久久综合| 人人做,人人操,人人摸| 新怡红院| 日本精品性生活久久久| 99色| 黑人嘿嘿嘿超爽免费视频| 国产搭汕a级片| 高清不卡一二三区视频......| 伊人五月天激情| 中国特猛少妇色xxx| 久草久热| 国产福利av精彩对白| 伊人久久AV诱惑悠悠| 欧洲精品在线播放| 日韩乱码Av| av在线一区二区三区| 日韩三级av片| 欧洲精品欧洲精品| 草久久久| 国产盗摄美女如厕大神作品在线观看| 99热这里| 精品国产乱码久久久久久口爆网站| 日韩精品午夜操呦呦不卡影院| 大香蕉 222| 开心激情站| 天天草夜夜草高潮片| 色九九久九九| 国产成人精品午夜福利| 中文久久一区| 欧美综合站| 探花在线免费观看视频国产一区| а√天堂资源官网在线资源| 久久国产成人精品国产成人亚洲| 九九九精品美女| 精品九九淫乱男| 日韩天堂av电影在线观看| 五月丁香六月婷综合成人综合| 99视频精品| 人人妻人人澡人人爽人人精品浪潮| 超碰人人妻| www国产无码| 欧亚日韩综合精品国产| 亚洲中文人妻色| 婷婷操逼| 丁香色五月 97干| 免费观看成人www精品视频| nuu12国产麻豆精品| 日本啊啊啊啊啊视频| 蜜臀久久久久久999| 久久久 国产精品| 国产乱色国产精品免费视| 丝袜 中出 制服 人妻 美腿 中文字幕| 蜜桃视频一区二区三区| 91色图片| 99久久综合| 91视频国品一二三区| 中文字幕性感少妇av| 91精品国产日韩欧美综合| 日本操逼视频免费| 91少妇人妻| 午夜美女诱惑电源网| 少妇色综合| 福利天堂| 免费国产| 欧美第五页| 另类专区加勒比| 亚洲第91页| 欧美亚洲日韩16色| 91爱看| a男人的天堂| 亚洲青青青视频在线| 天天插天天射| 人人干黄色| 国产捆绑一区| 中文AV制服乱伦| 欧美色涩| 日韩黄片影院| 欧美另类精品xxxx| 久久性爱网站| 久久久精品成人国产| 97国产高清视频在线观看| 午夜无遮挡男女啪啪视频| 第四色奇米影视777| 日本狂喷奶水在线播放212| 夜草网站| 黑人美精品 A片| 激情综合二| 大香蕉免费乱伦视频| 国产免费一区在线观看| 丝袜美腿欧美| 久久精品72| 男人 天堂 日 亚洲| 亚洲91网。| 午夜毛片高清免费不卡| 人妻熟女一区二区| 啊啊啊好大好深| 91性情| 日少妇视频| 精品久久久av无码免费| 国产精品亚洲高清在线| 国产乱伦一二三区| 色性荡荡荡荡视频| 欲女人妻性色av| 人伦四五区| 激情综合 婷婷五月 红杏| 78操B| 日韩无码一级黄色av片| 一区二区三区黄色片a| 中文字幕aⅴ在线视频| 玖玖婷婷五月天| 黄页18禁| 国产精品对白自产拍| 色噜噜国产精品视频一区二区| 男女一进一出视频久久| 无码在线亚洲| 蜜臀亚洲中文| 91白嫩| 无码久久亚洲高清,| 密乳AV免费观看| 91在线无码精品秘 软件| 97天天爽| 午夜福利一区二区三区四区五区色婷婷| 欧美偷拍| 亚洲精品xxx| 狠狠爱综合| 日本精品88888888| 人妻人久久精品中文字幕| 亚洲久久久久| 国产第25页在线观看| 色999人与兽| 欧美熟女丝袜| 欧美日韩97| av午夜影院在线播放| 亚洲一区二区麻豆影院| 亚洲性感丝袜诱惑在线观看| 熟女人妻精品一区二区视频| 色色色色电影网| 久草毛片电影怡| 国产熟女一区二区| 国内精品伊人久久久久影院会| 欧州色图区| 久久9精品网站| 欧美特黄视频网站| 久久久久久AⅤ无码免费肉站| 亚洲s在线观看| 少妇熟女一区二区三区| 婷婷精品| 日本操逼aaaaa| 99精品网| 自拍啪啪视频| 国产熟女免费观看久久| 中文字幕乱碼在线| 亚州性9| 丰满人妻大屁一区二区| 日夜干射色啊| 91欧洲国产成人久久精品网站| 婷婷五月天激情网| 96久久久精品| 亚洲激情综合另类男同| 操人妻逼91| av天堂电影网| 色蜜AV| nuu12国产麻豆精品| 久久久国产av美女私房| 久久天天摸| 亚洲中文字幕熟女少妇一区二区| 日本精品第一视频在'| av线电影| 欧美国产操逼| 性暴力欧美猛交在线直播| 老鸭窝亚洲毛片| 一区二区影视| 97青青操视频| 蜜乳中文字幕a在线| 日韩AV电影网站| 精品夜夜澡人妻无码AV| 欧美色三级片91| 国产精品久久久久久久久久久久久久吹| 日韩欧美一级特黄大片| 青青伊人加勒比海| 国产精品午夜高潮呻吟久久av| 日日噜噜夜夜久久亚洲一区二区| 中文字幕精品一区二区精| 97日视频| 欧美精品99久久久**| 日本五十路在线| 日韩中文字幕视频| 少妇色综合| 风流老熟女一区二区三区l| 国产精品一区二区后入| 久操热| 超碰97久| 欧美黑人性猛交91| 国产AAAAAABBBBB| a男人的天堂| 精品亚洲一区在线观看| 人澡逼| 九九性爱网| 啪啪啪综合| 亚洲男人天堂Av| 大香蕉78| 超碰97欧美日韩| 日韩成人大片在线观看| 亚洲风情在线观看| 97超碰逼| 在线精品福利免费播放| 丝袜综合网| 亚洲熟女国产综合另类| 中文色综合| 呦女网站| 精品区9| 无码不卡八戒| 欧美综合传媒| 亚洲 91 在线| 日本性爱网址| 九九九九九九九九九国产精品| 97超碰碰碰| 亚洲av综合伊人久久| 亚洲性少妇| 天天看,天天做| 精品久久久av无码免费| 啊啊啊久久久视频| 99re这里只有精品中心播放 | 久久78| 少妇500双飞99| 色色婷婷五月天| 一级乱伦网站| 中日韩久久久免费看| 亚洲熟妇自偷自拍另欧美| 亚洲一区在线观看欧洲| 欧美第一页| 六月丁香五月婷婷| 国岛片视频| 天天做天天爱| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 国产精品久久久久久亚洲色欲| 中文字幕精品乱码| 一区二区三区 丝袜 高跟 美腿| 久热在线精品免费观看| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 91在线超高颜值国产| 亚洲影视第一页| 欧美亚男人的天堂| 色婷婷99| 国产中文字幕曰本毛片| 亚洲成人在线高清| 亚洲在线欧美| 蜜桃香蕉久草精品在线| 伊人一区二区三区| 色色色色色色色色色色色色色色综合| 亚洲 国产 精品一区| 少妇综合| 99国产女人| 久久精品视频一区三区小泽玛利亚| 国产少妇肉丝在线观看| 高清国产av无码| 日本成人A片网站| 中文字幕99999| 人妻喷水| 风月影院男女十八禁| 欧美久久草熟女| 我爱大香蕉| 岛国网址国产 | 国产成人网址| 亚洲色图日韩精品| 国产一区二区三区白丝| 人妻丝袜美腿中文字幕| 精品国产乱码久久久久久久久久毛片| 丝袜美腿射精91| 超碰国产情侣自拍网| 99热伊人| 91精品丝袜久久久久久| 久久久久国产一区二| 欧美一区二区福利在线| 日韩簧片免费看| 亚洲国产精品成人久久蜜臀| 加勒比综合88| 欧美性第1页| 嫩草 我啊~嗯~在线| 亚洲大色堂| 精品人妻一区二区三区-国产精品| 91美女丝袜诱惑视频| 女人被添高潮免费视频| 日韩女模中文造逼| 成人性爱电影一区二区| 91chinese在线| 国内精品伊人久久久久影院会| 在线一道啪| 日韩色欲久久一二三四区| 久久精品国内Av熟女高清| 精品免费视频国产一区| 日韩福利电影网| 欧美v日韩v亚洲v最新在线| 五十路熟女人妻一区二区在线观看 | 国产又色又粗又黄又爽| 日本欧美一区二区三区视频麻豆| 乱伦熟女专区| 免费自拍三级综合| 黑人操一区二区| 蜜乳性色无码专日粉嫩骚逼AV| 一区二区三区探花在线观看| 国内毛片婷婷六月色| 白天啪啪晚上啪啪视频| 欧美精品久久久久久久久88| 精品超碰国产| 九九性视频| 狠狠干综合| 色综合美国| 人妻出轨一区二区三区| 欧美激情久久久久| 老司机福利社视频在线观看| 男人精品区| 91综合网| 乱伦色图网址是多少| 亚洲国产欧美一区二区潘金莲| 国产精品99精品视频网站| 91香蕉视频在线观看免费| www.99中文字幕| 爽 好舒服 无码刺激久久| 99热精品免费| 亚洲蜜臀懂色| 日韩欧美~中文字| 中文字幕三四五区| 欧美1区二区三区公司| 岛国片国产成人亚洲播放| 亚洲色图亚洲无码强奸乱伦| 色999人与兽| 国产偷仑| 久久婷婷一区| 日韩性爱啪啪视频| AV综合中文字幕干| 色狠狠综合噜一二三区| 97超碰总站| 久久精品无码专区| 成人精品一区二区91毛片不卡| 天天日B夜夜干B时时操B| 久久草大香蕉| 综合网欧| 欧美综合综合| 免费自拍三级综合| 91国产精品在线看| www.黄色在线| 天天日老熟妇| 97精品网站| 亚洲97| 中文字幕狠狠玩| AV天堂丝袜| 欧美黑人168页欧美黑人167| 欧美日韩啪啪电影| 五月丁香激情啪啪| 亚洲涩图欧美| 亚洲av国产av综合av卡| 99热这里只有精品9| 欧美色一二三| 啊啊啊啊啊啊啊啊在线观看| 国产超碰人人爽人人做| 色第一页| 另类欧美色| 中文字幕精品资源在线| 青青操在线亚洲视频观看欧美在线 | 先锋激情∨在线视频播放| av在线资源| 超碰这里只有精品| 秋霞Av理论一级在线| 亚洲欧洲网站免费观看| 熟女中出视频| 测评在线观看AV| 日本精品第一视频在'| 激情综合av| 欧美亚洲激情| 欧美激情综合| 狠狠躁久久躁| 亚洲 欧美日韩 另类| 99 国产丝袜在线| 在线视频 亚洲精品| 久久久网站| 99这里都是精品| www.yeyecao| 久久久久久久久久久人妻| 国产精品白丝www| av午夜影院在线播放| 熟女中出视频| 日韩av性爱在线播放| 五月丁香| 麻豆av一区二区| 三级片网站在线播放| 91久久久久久久| 亚洲激情综合另类男同| AV高清一区| 性无码专区2020| 欧美午夜精品久久久久久超碰| 综合少妇网| 黑人精品成人一区二区三区| 亚洲AV在线资源| 成人 日本A片无码8888| 午夜AV污污污| 日韩不卡a级视频专区| 夜夜操一区二区| 成人av福利在线观看| 日日夜夜骚| 熟妇乱伦一区二区| 亚洲成人精品久久久| 国产家庭乱伦表演| 日本中文字幕高跟| 无码国产Av| 色呦色呦色精品| α√在线| 成人小电影网站tex| 五月婷色| 亚洲在线欧美| 成人久久无码www| 久久国产熟女影院| 国产免费久久精品99re韩国| 欧美日韩激情无码专区| 熟女露脸激情自拍视频| 狠狠狠狠狠狠| 亚洲精品一区二区日本| 91嫩草欧美| 久久首页| 中文字幕第二页| 色婷婷丁香五月| 九色黄站| 99热这里是精品| 极品销魂美女一区二区 | 久久春色| 中文字幕丝袜国产第一页不卡| 久久久蜜桃一区二区三区| 欧美激情视频一区二区| 人人色人人射人人妻| 国产亚洲日韩欧| 超碰1997| 99爱在线视频| 国产偷拍网站| 是还免费视频1727我| 人看人人摸人人操| 日日夜夜精品视频| 蜜臀无码一区二区| 亚洲综合五月天| 18禁止看精品中文字幕| 久久久久斤小| 成人五月香网在线| 五月婷网站| 96超碰网| 色蜜AV| 久久加勒比| av天堂手机版追回| 免费精品国偷自产在线在线| 精品美女久久久久| 黄片在线免费在线观看| 日本一区不卡| 九七人妻在线| 综合久久97| 久久久久国产亚洲一区欧美色图日韩 | 九久久九九久视频| 婷婷五月天久久精品视频一区二区三区| 性久久| 97爱亚洲| 国产后入清纯| 激情四射婷婷四五月天| 强奸乱伦资源| 亚洲中文字幕在线视频一区二区| 中文字幕在线第二页| 91无码中出人妻视频| 国产乱色国产精品免费视| 九九操久久国产免费视频| 激情图片亚洲色图| 色色色热| 国产欧美日韩精品中文| 亚洲一区操| 91观看 国产白丝| 99精品高潮| 伊人青青一区成人视频在线观看区| 亚洲成a人在线观看久| 欧美Ⅴ性爱| 亚洲 欧美 第一页| 中文字幕精品亚洲熟女| 久久最新视频免费观看| 2011国产精品| 日韩九区| 男人的天堂一区三区| 91久久免费视频互動交流| 加勒比综合88| 91久热| 天天激色| 欧美性爱网97| 99热导航| 久久熟妇五十路一区| 可以免费观看的AV| 婷婷五月天久久久| A片三级无码| 久草视频在线视频在线视频在线观看| 亚洲精品国产AV天美传媒| 婷婷色五月激情| 久久性爱大全| 亚洲av无线观看| 国产一级不卡在线观看| 国产日韩色综合| 人妻二区| 国产丝袜美女在线一区| 日本αv| 日韩三级伊人| 五月亭亭六月丁香| 激情综合网亚洲| 色欧美综合| 啪啪自拍九九综合| 青青草中文字幕| 久久αⅴ| 色激情综合网站| 色欲av国内精品久久久久久| 亚洲天堂2020| 人妻精品一区二区| 色逼综合| 欧美人黑A片无码免视费| 在线观看中文字幕| 国产精品爆乳懂色蜜乳| 91啦人妻| 青青免费在线视频一区| 欧洲综合无码| 国产精品一级毛片不卡视| 精品欧美А∨无码黑人大荫蒂| 影视综合无码少妇| 大香蕉专区| 国岛片视频| 蜜桃av综合网发布| 久久午夜伦| 99热这里只有精| 欧美性,亚州色| 欧日韩在线观看| 国产后入清纯| 欧美se综合| 亚洲学生妹高清av| 国产久久成人| 人人摸人人叼| julia高潮后不停追击中出| 欧美极品女人的天堂| 91亚洲影院综合| 97精选久久| 新怡红院| 天天射天天操天天干天天吃2018| A级毛片在线看免费| 不卡一区二区日本视频| 物业黑人 AV一区| 日韩免费簧片| 久热91| 亚洲欧美色图小说| 天美麻豆黄色录像| 熟妇女人妻呻吟久久AV| 中文字幕精品探花视频| 免费观看性欧美一级| 中文字幕诱惑制服人妻丝袜美丝袜美 | 国内毛片欧美香蕉精品| 欧美一二三级精品在线| 日韩精品99999| A一级色女| 91中文字幕| 久久精品国产亚洲5555| 蜜臀在线免费观看在线免费观看| 国产精品69久久久久孕妇欧美| 欧美亚洲se91| 97亚洲自在精品在线观看| 毛片一区二区| 成年人网站在线免费观看| 中文字幕88av在线| 国产久久久久久| 国产精品干干干| 大香蕉人妻久久| 高潮内射在线| 小少妇| 日本大香蕉| 蜜臀99精品国产高清在线观看| 深夜福利黄片| 久久精品性| 少妇500双飞99| 视频二区美腿制服人妻欧美| 久久欲| 黄污污污污| 亚洲欧洲第二视频在线观看色图| 欧亚日韩中文在线| 蜜臀操逼黄色视频操的好爽| 96AV久久久| 欧美日韩狠狠爱| 精品国产丝袜一区二区三区乱码| 丁香激情网| 日本三级韩国三级美三级91| 精品日韩人妻视频| 天天做天天爽| 男人成人黄色视频在线观看免费下载| 永久电影三级在线观看| www.色婷婷| 天堂亚洲精品久久老牛| 懂色Av| 99久热| 台湾佬中文娱乐网久久久久久久久久com | 亚洲人妻av| 青青草日韩免费观看高清在线| 欧美第一页| 婷婷五月花| 国产精品69久久久久久久| 亚洲图片激情综合另类| 东北黄色电影| 2017亚洲天堂| 久久久久免费少妇| 黄色工厂这里只有精品| 亚洲熟女中文字幕在线| 青青青草伊人精品| 色色香蕉| 欧美激情久久久久| 少妇无码av专区线| 麻豆人妻少妇在线免费观看| 麻豆三极片| 久草成人福利导航| 日本506070| 精品人妻少妇| 熟女突然公开看18禁影片| 岛国不卡超碰护士AV在线播放| 亚洲欧洲综合av在线| n1038 一二三区| 凹凸视频在线一区二区| 大香蕉免| 日韩有码 一区二区三区| 免费看污网站| 乱操乱伦AV| 熟妇亚洲一区二区三区| 亚洲一区在线观看欧洲 | 成人无码在线视频网站| 国产超碰在线一区| 天天视频网站黄| 欧洲乱码视频| 很黄很色的视频在线观看| 人妻无码久久一区二区三区免费| 成人a级高清视频在线观看| 鸥美插入视频| 国产成年免费大片黄在线观看| 欧美日韩亚洲五月天婷婷| 天天摸夜夜添无码小视频| 婷婷五月天无码 | 欧美男人一区| 成人线上超碰| 射欧美综合| 欧美91视频| 国产精品一级二级在线| 精品成人av一区二区三区在线| 亚洲第一页综合在线| 五月天啪啪| 超清中文乱码字幕| 久久久国产精品人妻丝袜| 国产最新小视频在线播放下载| 乱久久久| 99操碰| 91丝袜在线观看| 青青草视频导航官网| xxx0国产在线播放| 亚洲清纯综合| 青娱乐av在线| 亚洲无吗在线视频| 99久久久| 97综合在线观看| 欧美一区二区三区入口| 五月天AV资源| 九九热九九热| 隔壁邻居波多野结衣中文字幕| 蜜臀无码一区二区| 日本大片日本一区二区免费高清 | 欧美激情性久久久久久| 欧美综合色综合| 亚洲色图久久成人| 麻豆传媒一区二区在线观看| 综合自拍| 欧美第一页| 久草久日| 极品白嫩福利在线| 日韩AV无码中文一区二区| 97超碰大| 99只有精品| 99热精品在线观看| 嫩呦国产一区二区三区AV| 亚洲成人帖图| 国产精品乱码久久久久久久久久久久| 逼逼逼逼操操操操操操操操操午夜剧场 | 国产午夜精品理论片一二三区区| 久久综合久色欧美综合狠狠| 长长久久88视频| 中文精品一区二去| 亚洲熟女综合一区二区| 日本最新免费韩国1区2区视频播放| 中文字幕精品区先锋资源| 探花视频免费观看国产专区| 99后入| 九九九综合精品| 久久久成人国产精品无码| 国产精品人妻免费精品| 男人的天堂三级| 色 婷97| 超碰精品在线| 乱伦av麻豆| 天堂v无码免费视频| 日韩成人人妻网站| 天天日天天射天天干| 九月色婷婷| 日本激情免费大片| 自拍偷拍草一草| 97爱亚洲| 亚洲区小说| 色网1| 久久超碰97中文字幕| 色五月婷婷网| 一级久久久久久久久久久| 超碰免费人妻人人| 97天天综合| 96一区二区三区| 伦理弟一页| 成人色女网| 在线啊啊啊啊| 污啪啪啪视频| AV九九| 国产精品久久久久综合| 亚洲精品一二区| 国产成年女黄特黄| 特色a在线上| 日本免费二区三区| 91网站18+| 粉嫩av在线一区二区| 豆花视频操逼网址| 午夜成人爽爽爽爽A片李冰冰| 日韩大香蕉AV影片| 91痴汉| 激情婷婷丁香网| 亚洲十八禁止| 国产青青美女玩逼视频| 亚洲成人精品久久久| 草b在线| 亚州操操穴网| 91是天天| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 亚洲一区二区精品福利| 色色福利| 人妻aa| 亚洲欧美国产成人综合不卡| 欧美日韩国产高清在线一二三区| 久操网视频| 日本操逼二区| 性开放中文AV高清无码免费看| 一区二区三区黄片免费观看| 日韩亚洲精品一区二区| 成人精品一区二区91毛片不卡| 尤物黄色在线观看网站| 精品国产一区二区三区香蕉欧美| 久综合国内精品自在自线| 日韩精品一区二区高清| 亚洲密乳AV| 神马久久久久久伦理片| 成人亚欧免费视频| 亚洲强奸乱伦影视网| 黄色高清无码无码破解免费暗网| 人人看人人摸人人色| 99久久网站| 五月丁香六月激情| 亚洲色人妻综合| 夜夜高潮夜夜爽| 天天看片麻豆| 国产不卡的视频| 91制服丝袜| 欧美999| 黄色片一区二区三区四区五区| 中文字幕丝袜国产第一页不卡| 国模无码一区二区三区在线| 免费久久精品麻豆一区二区av| 思思热在线视频精品| 超碰亚洲欧美日韩无| 黄色小说亚洲| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊| 美女91色黄18| 加勒比中文av| 国产三级在线现体验区| blacked精品一区国产| 久久久九九网站| 亚洲情色五月天| 久久精品中文| juliaann丝袜| 日韩精品电影| 欧美97av| 国产亚洲福利第一页丝袜| 久久五十路熟女人妻| 91|九色|国产熟女| 精品久一区免费| 91AV天美在线视频| 日本女人久久久| 成人性爱av| 丁香九月激情| 青青草十区九区爱夜| 激情四射婷婷六月天| 日本加勒比无码专区| 亚洲精品乱码线路中文字幕| 强免费黄色网址| 日本三级小说中文字幕| 人妻天天爽| 一区二区三| 91足交| www鬼畜国产男人的天堂| 亚洲综合贴图91| 欧美亚洲天堂| 国产精品香蕉热久久新品| 九九九午夜| 久久久三区二区一区| 1769一区| 夜夜草网站| 婷婷丁香一区二区三区| 欧洲亚洲人妻无码高清久久三区四区| 影音先锋乱伦资源| 亚洲宅男天堂| 大香蕉色欲AV| 91精品无码久久久久久久| 2020国产精品| 欧美激情色婷婷花野真衣一区二区| 国产97视频| 深夜激情无码| 美女主播色欲91抠b在线播放| 日日不卡av| 99在线无码精品秘 入口黑人| 丝袜熟女2P| 欧美韩日精品99综合| 欧美日韩日产免费网站看| 伊人97超碰| 国语精品av| 人人操,操人人| 亚洲欧美日韩有码| 在线不欧美| 欧美人人AAA| 一本久久精品中文字| 深夜福利黄片| 日韩有码一区三区| 亚洲操操操无码| 99精品视频在线观看免费| 啊啊啊好湿久久| 东京热男人天堂| 久热91| 少妇蹲下买菜露大唇0| 在线色导航| 黑人中出21连凳花野真衣| 欧美 亚洲| 超碰在线国产| 久久久九| 久久精品亚洲成a人天堂| 97视频900| 999精品国产高清一区二区| 久妇网| 热99这里有精品综合久久 | 蜜臀无码一区二区| 最新三级网址| 精品久久九| 26uuu国产日韩综合在线观看| 日本99一区二区| 国产精品久久久无码aV去| 91精品人妻一区二区三区蜜桃臀| 少妇久久久久| AV天堂丝袜| 综合网天天| 狠狠中文字幕| 东京热天堂网| 欧美日韩国产传媒在线精品| 亚洲欧洲激情卡通另类文学四射小说网站 | 97在线视频网站| 婷婷五月丁香五月| 91中出视频| 99这里只有精品| 99热在线播放| 麻豆黄色五月天| 日本中文熟女视频| 综合网~91综合网| 欧美日韩*字幕一区| 91国产大片| 日韩黄片视频试看| 免费啊啊啊| 黄色大香焦1级‘′‘| 日韩精彩视频| 超碰在线国产| 九九热国产| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 中文字幕精品一区二区精品| 亚洲人天堂| 成人精品视频一区二区| 国产狂喷潮在线精品| 1二区9| 91精品人妻电影| 999久久久久久久久| 丁香五月成人| 天天激清| 日本东京热大香蕉a片| 一级黄色性爱A级片| 欧美淫乱视频| 成人资源中文字幕在线观看天天| 超碰97久久| 天天影视射综合网| 久久精品亚洲成a人天堂| 色路综合| 高清不卡视频| 国产精品亚洲高清在线| 超碰 欧美| 国产91美女高潮| 中国AV美女| 九九免费影片| 日韩97超碰中文字幕| 人人干黄色| 久久久久久无码人妻中文字幕| 首页亚洲国产高跟丝袜诱惑视频| 白丝被操91| 不卡六六在线91| 一区二区三区 丝袜 高跟 美腿| 日韩操逼性鲍| 一本大道久| 成年男人的天堂| 激情综合网五月婷婷五月天| 九久9精品| 超碰98综合网| 亚洲欧美大香蕉| 91午夜无码| 日韩精品-原创伙伴| 岛国人妻少妇av在线观看| 妺妺跟我一起洗澡没忍住| 精品人妻一区二区三区日产乱码| 亚州 综合 色图| 91操操| 久久精品中文字幕观看| 国产精品一区二区三区免费视频| 欧洲精品一区二区三区| 久草婷婷| 色一区二区三区综合| 熟妇熟女亚洲天堂网| 亚洲中文日韩欧美大香蕉视频| 欧美色涩| 丰满欧美放荡少妇在线| 亚洲色图a| 99综合网| 国产综合网站在线播放 | 国产超碰在线| 国产精品久久99日日| 国产精品美女| 中出20p| 欧美日本天堂| 亚洲色图久久成人| 色婷婷五月综合激情中文字幕| 一本色道久久天天射天天干| 少妇天堂| 色香91| 丝袜视频一区二区在线播放国产中文| 操91| 色综合网1| 福利社区午夜一区二区| 青娱乐国产剧情av一区| 深夜激情| 亚洲清纯唯美| 一牛一区二区三区久久| 精品人妻1237| 99婷婷| 国产精品成人无码av| 天天摸夜夜添无码小视频| av影片在线观看不卡| 亚洲综合在线91| julia ann久久| 亚洲淫色网中文| 五月天伊人| 嗯嗯嗯嗯啊啊啊好紧好大| 99色色网| 黄色av一区二区在线| 一区二区影院| 岛国激情视频在线观看| 欧美亚洲自拍另类人妻| 日韩少妇无码| 97国产精品一区二区传媒公司| 亚洲蜜臀精品视频久久| 亚洲高清少妇| 东京热精品97综合网| 久久97资源 网| 日本不卡三级网在线播放| 国产原创自拍| 日日夜夜干| 色色热| 婷婷五月天基地| 婷婷六月色| 亚洲色五月| 丁香五月婷婷五月| 任你草| 日日日日日| 91色情黑丝搞鸡在线观看一区二区三区三州| 亚洲熟女中文字幕在线| 三上悠亚在线毛片91| 九一屌逼| q2午夜理论片夜色av| 秋霞免费AV| 精品久久九| 久久夜黄色无码A级大片| 天天欧美欧美亚洲网| 国产精品久久久亚洲第一牛牛_在线观看| 夜嗨影院| 欧美的精品的视频| 欧美伦乱爱| 欧美精品另类人妖xxxx| 亚洲午夜福利视频| 欧美亚洲素人制服精品| 日韩一卡二卡三卡| 欧美国产有色电影| 一区二区精品更新提醒| 欧美在线干| 国产无套粉嫩白浆在| 精品福利| 最新制服中文第一页| 精品人妻一区二区三区蜜桃视频| 久久久久久久久久久久黄色 | 人妻娇喘 激情视频| 日韩一级成人毛片免费观看| 亚洲高清欧美总合| 青青草原香蕉日本Ap| 日韩综合97P| 精品中文日韩字幕视频| 久插不卡| 天天插夜夜爽| 校园春色综合色| 欧美精品偷拍| 国产一级高清免费观看| 97综合久第一页| 色偷偷男人的天堂麻豆| AV色图| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 黄骗免费| 激情色图| 97久久久久久久精| 色欲蜜臀AV| 啊啊啊好大好深| 另类av天堂| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 人妻人人操| 人人插人人摸人人| 国产白嫩漂亮KTV在线| 岛国片在线视频网站| 一起草视频在线| 91综合网在线| 神马午夜久久| 超碰97人妻免费在线| 色色九区| 国产成人精品午夜福利| 男人的天堂不卡一区二区| 波多野结衣被操50分钟免费视频 | 男人夜色天堂ss| 日韩av乱伦| 日韩pv中文| 久久精品国产99国产精品亚洲| 青娱乐导航AV| 久久男人网| 97看操| 综合自拍| 97日亚洲欧美| 精品对白久久不卡| 久艹99| 97超碰巨乳| 日韩有码免费视频| 五月婷婷影院| 六六久久日韩不卡| 激情自拍 校园春色| 中文字幕一区二区三区蜜臀| 天天干天天插| AV九九| 亚洲精品欧美专业| 国产精品久久久久久夜夜夜夜| 蜜臀99久久国产| 日韩性爱电影一区| 又黑又大又粗| 五月天欧美色图| 国产女同在线观看视频| 人人摸.人人色| 狠狠穞A片一區二區三區| 久草精品国产蜜臀 | 精品一区二区综合熟妇| 99精品网| 91挑色欧美| 九九九九AV| 最新国产亚洲精品精品国产亚洲综合| 看日韩美女二区三区免费操逼视频| 天天综合网91入口| 大香蕉视频啪啪啪啪| 乱论91| 啊啊啊好舒服好爽啊啊啊视频| 走光一区92下载| 少妇熟女1区2区3区| 天天插天天干| 极品人妻少妇综合| 女人 A一级| 亚洲天堂自拍| 久久只有精品| www鬼畜国产男人的天堂| 欧美在线第五页| 亚洲熟女性高潮久久久| 97综合国产精品高潮久久| 精品人妻少妇| **一级毛片国产| 欧美女同在线| 插穴性爱视频在线观看| 欧美爆操91| 100啪啪视频大全| 色五月婷婷麻豆在| 国产99999| 97超碰69| 黄片www视频免费| 黄页18禁| 欧美性爱18观看| 日韩AV一区二区三区三州三州| 91美女在线观看| 熟妇亚洲一区二区三区|