色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

FreeRTOS heap_4內(nèi)存管理深度解析:STM32嵌入式開(kāi)發(fā)避坑指南

FreeRTOS heap_4內(nèi)存管理深度解析:STM32嵌入式開(kāi)發(fā)避坑指南 1. 為什么FreeRTOS在STM32上一跑就崩內(nèi)存管理才是真正的“地基工程”我第一次把FreeRTOS移植到STM32F407上時(shí)系統(tǒng)能跑起來(lái)但只要?jiǎng)?chuàng)建第三個(gè)任務(wù)串口就開(kāi)始亂碼LED閃爍節(jié)奏全亂最后直接卡死。用ST-Link Debugger單步跟進(jìn)去發(fā)現(xiàn)PC指針停在vPortSVCHandler里堆棧指針SP已經(jīng)跑到RAM末尾之外——不是代碼寫(xiě)錯(cuò)了是內(nèi)存被悄悄吃掉了。后來(lái)翻遍官方文檔才明白FreeRTOS不是“裝上就能用”的黑盒它對(duì)內(nèi)存的索取方式和裸機(jī)開(kāi)發(fā)有本質(zhì)區(qū)別。你給它劃一塊configTOTAL_HEAP_SIZE大小的區(qū)域它就真的一分不剩地拿去用而且用得非?!按直?。heap_4這種動(dòng)態(tài)內(nèi)存分配器表面看只是malloc/free的替代品實(shí)則是一套精密的內(nèi)存碎片控制機(jī)制而STM32的RAM資源尤其是F1/F4系列常見(jiàn)的64KB–192KB根本經(jīng)不起無(wú)序分配的折騰。很多人以為FreeRTOS移植就是復(fù)制幾個(gè).c/.h文件、改幾行宏定義結(jié)果項(xiàng)目跑幾天就莫名重啟查來(lái)查去發(fā)現(xiàn)是pvPortMalloc返回NULL后沒(méi)做判空任務(wù)創(chuàng)建失敗卻繼續(xù)往下走最終觸發(fā)HardFault。這根本不是FreeRTOS的問(wèn)題而是我們沒(méi)真正理解它怎么“呼吸”——它的每一次內(nèi)存申請(qǐng)都像在狹窄巷道里搬運(yùn)家具方向不對(duì)、尺寸不合整條通道就堵死。本文不講抽象理論只拆解你在STM32上實(shí)際配置heap_4時(shí)必須親手摸過(guò)的每一個(gè)字節(jié)ucHeap數(shù)組怎么對(duì)齊、xBlockAllocatedBit位怎么標(biāo)記、合并相鄰空閑塊的判斷邏輯為何要檢查前后塊頭、xMinimumEverFreeBytesRemaining這個(gè)變量到底在什么時(shí)刻被更新……所有內(nèi)容都來(lái)自我在GD32H759、STM32F407、STM32H743三款MCU上反復(fù)燒錄、斷點(diǎn)、內(nèi)存dump的真實(shí)記錄。2. heap_4內(nèi)存池的物理布局不是一段連續(xù)數(shù)組而是一張“帶鎖鏈的木板床”很多人把ucHeap簡(jiǎn)單理解為一大塊RAM認(rèn)為只要configTOTAL_HEAP_SIZE設(shè)得夠大就萬(wàn)事大吉。錯(cuò)。heap_4的內(nèi)存池結(jié)構(gòu)本質(zhì)上是一張由“木板”內(nèi)存塊和“鎖鏈”指針組成的床——每塊木板有固定頭部記錄自身長(zhǎng)度和狀態(tài)鎖鏈把空閑木板串成單向鏈表供分配時(shí)遍歷查找。這張床的物理布局直接決定你能否安全使用80%以上的RAM空間。2.1 內(nèi)存池起始地址的強(qiáng)制對(duì)齊規(guī)則heap_4要求ucHeap起始地址必須按portBYTE_ALIGNMENT對(duì)齊。在ARM Cortex-M系列中該值通常為8字節(jié)即地址末三位為0。如果你在KEIL或STM32CubeIDE中直接聲明uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute__((section(.freertos_heap)));編譯器可能將其放在任意地址比如0x20000103——末三位是011不滿足8字節(jié)對(duì)齊。此時(shí)調(diào)用pvPortMalloc(32)會(huì)觸發(fā)configASSERT失敗系統(tǒng)直接掛起。正確做法是顯式對(duì)齊// KEIL環(huán)境下需啟用--no_multibyte_chars static uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute__((aligned(8), section(.freertos_heap))); // GCC環(huán)境下推薦兼容性更好 static uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute__((aligned(8), section(.freertos_heap)));提示__attribute__((aligned(8)))確保編譯器將ucHeap起始地址向上取整到最近的8字節(jié)邊界。實(shí)測(cè)發(fā)現(xiàn)若未對(duì)齊即使pvPortMalloc成功返回指針后續(xù)對(duì)該內(nèi)存的訪問(wèn)也可能因未對(duì)齊訪問(wèn)異常如讀取32位數(shù)據(jù)時(shí)地址非4字節(jié)對(duì)齊導(dǎo)致HardFault尤其在啟用MPU或Cache的H7系列上更敏感。2.2 塊頭Block Header的精確字節(jié)構(gòu)成每個(gè)內(nèi)存塊頭部占用8字節(jié)heapSTRUCT_SIZE結(jié)構(gòu)如下以小端序ARM為例偏移字節(jié)含義實(shí)例值十六進(jìn)制0x004字節(jié)xBlockSize塊總長(zhǎng)度含頭部用戶(hù)數(shù)據(jù)尾部填充0x0000002840字節(jié)0x044字節(jié)pxNextFreeBlock指向下一個(gè)空閑塊的指針0x20001234下一個(gè)空閑塊地址注意xBlockSize的最低位bit 0被復(fù)用為xBlockAllocatedBit標(biāo)志位。當(dāng)該位為1時(shí)表示此塊已被分配為0時(shí)表示空閑。因此一個(gè)空閑塊的實(shí)際可用長(zhǎng)度 xBlockSize ~0x01。例如若xBlockSize 0x00000029則實(shí)際長(zhǎng)度為0x2840字節(jié)bit 0的1表示已分配。2.3 尾部填充Trailing Padding與內(nèi)存浪費(fèi)的量化計(jì)算為了保證用戶(hù)數(shù)據(jù)區(qū)起始地址也滿足portBYTE_ALIGNMENTheap_4會(huì)在塊頭后插入填充字節(jié)。假設(shè)請(qǐng)求分配n字節(jié)塊頭占8字節(jié)則最小總長(zhǎng)度為8 n。但還需滿足(8 n padding) % portBYTE_ALIGNMENT 0。以portBYTE_ALIGNMENT8為例請(qǐng)求分配1字節(jié)819→ 需填充7字節(jié) → 總長(zhǎng)16字節(jié) → 浪費(fèi)7字節(jié)請(qǐng)求分配8字節(jié)8816→ 無(wú)需填充 → 總長(zhǎng)16字節(jié) → 浪費(fèi)0字節(jié)請(qǐng)求分配9字節(jié)8917→ 需填充7字節(jié) → 總長(zhǎng)24字節(jié) → 浪費(fèi)7字節(jié)關(guān)鍵結(jié)論每次分配的內(nèi)存浪費(fèi)量 (8 n) % 8 ? (8 - (8 n) % 8) : 0。這意味著若你的任務(wù)頻繁申請(qǐng)奇數(shù)長(zhǎng)度結(jié)構(gòu)體如struct {uint8_t a; uint16_t b;}共3字節(jié)平均每次浪費(fèi)約4字節(jié)。在RAM僅64KB的F1系列上累積浪費(fèi)可達(dá)數(shù)KB——這正是很多項(xiàng)目“明明沒(méi)用多少內(nèi)存卻頻繁O(jiān)OM”的根源。2.4 空閑鏈表Free List的初始化與維護(hù)邏輯系統(tǒng)啟動(dòng)時(shí)整個(gè)ucHeap被初始化為一個(gè)超大空閑塊。pxEnd指針指向該塊末尾并設(shè)置其xBlockSize為0作為鏈表終結(jié)符。隨后xStart.pxNextFreeBlock被設(shè)為指向該塊首地址形成單向鏈表。每次pvPortMalloc成功分配后若剩余空間≥heapMINIMUM_BLOCK_SIZE通常為16字節(jié)則將剩余部分切分為新空閑塊插入鏈表pvPortFree釋放時(shí)會(huì)檢查相鄰塊是否空閑若空閑則合并——合并邏輯只檢查前一塊通過(guò)pxPreviousFreeBlock指針和后一塊通過(guò)pxEnd或下一空閑塊地址不遍歷整個(gè)鏈表。這意味著若你頻繁分配/釋放不同大小的內(nèi)存空閑塊會(huì)逐漸碎片化即使總空閑量充足也可能無(wú)法滿足一次大塊申請(qǐng)。實(shí)操心得我在調(diào)試GD32H759項(xiàng)目時(shí)發(fā)現(xiàn)xPortGetFreeHeapSize()返回值穩(wěn)定在12KB但pvPortMalloc(8192)始終失敗。用Memory Browser查看ucHeap區(qū)域發(fā)現(xiàn)空閑塊最大只有3KB其余被切成上百個(gè)24~40字節(jié)的小碎片。解決方案不是增大configTOTAL_HEAP_SIZE而是重構(gòu)內(nèi)存使用模式將頻繁變動(dòng)的小對(duì)象如網(wǎng)絡(luò)包頭、傳感器臨時(shí)緩沖統(tǒng)一用靜態(tài)數(shù)組環(huán)形隊(duì)列管理只讓heap_4承擔(dān)生命周期明確的大塊內(nèi)存如TCP socket buffer、GUI圖層幀緩存。3. configTOTAL_HEAP_SIZE的設(shè)定陷阱不是越大越好而是要“剛剛好”configTOTAL_HEAP_SIZE是FreeRTOS內(nèi)存管理的總開(kāi)關(guān)但它的值絕不能憑感覺(jué)填寫(xiě)。設(shè)小了任務(wù)創(chuàng)建失敗、隊(duì)列無(wú)法初始化設(shè)大了不僅浪費(fèi)寶貴的RAM更可能掩蓋深層設(shè)計(jì)缺陷甚至引發(fā)災(zāi)難性后果。3.1 RAM資源的硬性分割SRAM1、SRAM2、CCMRAM的物理隔離STM32不同型號(hào)的RAM分布差異巨大必須嚴(yán)格匹配鏈接腳本.ld或.icf。以STM32F407為例其RAM布局為SRAM1112KB0x20000000–0x2001BFFF用于常規(guī)變量、堆棧SRAM216KB0x2001C000–0x2001FFFF常被DMA專(zhuān)用CCMRAM64KB0x10000000–0x1000FFFFCPU可高速訪問(wèn)但DMA不可見(jiàn)若你在FreeRTOSConfig.h中設(shè)置#define configTOTAL_HEAP_SIZE (64 * 1024)卻未在鏈接腳本中指定ucHeap存放于SRAM1編譯器可能將其放入CCMRAM——此時(shí)pvPortMalloc返回的地址雖可讀寫(xiě)但若該內(nèi)存被用于DMA緩沖區(qū)如UART TX DMA將導(dǎo)致DMA傳輸數(shù)據(jù)錯(cuò)亂。正確做法是在鏈接腳本中明確定義heap段/* STM32F407 GCC linker script (.ld) */ _estack 0x20020000; /* SRAM1 end address */ /* FreeRTOS heap placed at end of SRAM1, before stack */ ._freertos_heap_start .; . . 64K; ._freertos_heap_end .; /* Ensure stack grows downward from _estack */ _estack 0x20020000;并在C代碼中關(guān)聯(lián)extern uint8_t _freertos_heap_start[]; extern uint8_t _freertos_heap_end[]; #define ucHeap _freertos_heap_start #define configTOTAL_HEAP_SIZE (_freertos_heap_end - _freertos_heap_start)3.2 動(dòng)態(tài)內(nèi)存需求的逐項(xiàng)核算表盲目設(shè)置configTOTAL_HEAP_SIZE等于埋雷。必須對(duì)每個(gè)使用動(dòng)態(tài)內(nèi)存的組件進(jìn)行精確核算。以下是我為STM32F407項(xiàng)目建立的核算模板單位字節(jié)組件計(jì)算公式示例值備注內(nèi)核基礎(chǔ)開(kāi)銷(xiāo)sizeof(StaticTask_t) * configMAX_TASKSsizeof(StaticQueue_t) * configQUEUE_REGISTRY_SIZE208 * 10 128 * 5 2720StaticTask_t在Cortex-M4上為208字節(jié)含TCB、棧、名稱(chēng)任務(wù)??偤汀?usStackDepth * sizeof(StackType_t))128*4 256*3 512*2 2304StackType_t為4字節(jié)32位系統(tǒng)棧深度需預(yù)留中斷嵌套余量隊(duì)列內(nèi)存uxQueueLength * (sizeof( QueueItem_t ) itemSize)16*(44) 8*(432) 416QueueItem_t為4字節(jié)存儲(chǔ)消息長(zhǎng)度itemSize為消息體大小信號(hào)量/互斥量sizeof( StaticSemaphore_t ) * count128 * 3 384StaticSemaphore_t為128字節(jié)含TCB定時(shí)器服務(wù)隊(duì)列configTIMER_QUEUE_LENGTH * (sizeof(TimerEvent_t)sizeof(void*))10*(124)160TimerEvent_t包含時(shí)間戳、回調(diào)函數(shù)指針等用戶(hù)動(dòng)態(tài)緩沖區(qū)MAX_HTTP_REQ_SIZE MAX_JSON_BUF LOG_BUFFER_SIZE2048 1024 512 3584必須考慮峰值場(chǎng)景如大JSON響應(yīng)總需求 表中各項(xiàng)之和 × 1.3安全系數(shù)。若核算總和為12KB則configTOTAL_HEAP_SIZE至少設(shè)為15360。但注意此值必須≤可用RAM減去靜態(tài)變量占用。用KEIL的map文件可查Execution Region RW_IRAM1的ER_ZI段大小即靜態(tài)變量總和。3.3 堆溢出檢測(cè)的實(shí)戰(zhàn)部署不止于xPortGetFreeHeapSize()xPortGetFreeHeapSize()只能告訴你當(dāng)前空閑量無(wú)法預(yù)警即將發(fā)生的溢出。真正有效的防護(hù)是雙保險(xiǎn)機(jī)制分配前校驗(yàn)在所有pvPortMalloc調(diào)用處添加斷言void* p pvPortMalloc(size); configASSERT(p ! NULL); // 若為NULL系統(tǒng)立即停止避免后續(xù)野指針運(yùn)行時(shí)監(jiān)控在空閑任務(wù)prvIdleTask中周期性檢查void vApplicationIdleHook( void ) { static uint32_t ulMinFreeBytes configTOTAL_HEAP_SIZE; uint32_t ulCurrentFree xPortGetFreeHeapSize(); if(ulCurrentFree ulMinFreeBytes) { ulMinFreeBytes ulCurrentFree; // 記錄日志或觸發(fā)LED報(bào)警 if(ulMinFreeBytes (configTOTAL_HEAP_SIZE / 4)) { // 剩余不足25%視為危險(xiǎn)閾值 HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); } } }注意xPortGetFreeHeapSize()本身會(huì)遍歷空閑鏈表求和頻繁調(diào)用影響性能。建議在空閑任務(wù)中每秒執(zhí)行1次即可。我在江科大STM32項(xiàng)目中曾將此檢查頻率設(shè)為10ms導(dǎo)致CPU占用率從1%飆升至12%必須調(diào)整。4. heap_4源碼級(jí)調(diào)試用Memory Browser親手“看見(jiàn)”內(nèi)存塊的生死流轉(zhuǎn)紙上談兵不如親眼所見(jiàn)。當(dāng)你遇到pvPortMalloc返回NULL卻找不到原因時(shí)最有效的方法是用ST-Link Utility或J-Link Commander直接讀取ucHeap內(nèi)存區(qū)域觀察塊頭變化。以下是我總結(jié)的四步定位法4.1 步驟一定位ucHeap物理地址與長(zhǎng)度在調(diào)試器中執(zhí)行 monitor arm semihosting enable loadbin your_project.bin 0x08000000 dump 0x20000000 256 // 假設(shè)ucHeap起始于0x20000000或在KEIL中打開(kāi)Memory Browser輸入ucHeap符號(hào)名右鍵“Go To Address”確認(rèn)其地址如0x20001000和大小configTOTAL_HEAP_SIZE。4.2 步驟二解析首個(gè)空閑塊的塊頭在0x20001000處查看8字節(jié)0x20001000–0x20001003xBlockSize小端序如28 00 00 00 0x00000028 40字節(jié)0x20001004–0x20001007pxNextFreeBlock如00 00 00 00表示無(wú)下一空閑塊若xBlockSize的bit 0為1如29 00 00 00說(shuō)明此塊已被分配其后0x28字節(jié)即為用戶(hù)數(shù)據(jù)區(qū)。4.3 步驟三追蹤分配后的鏈表斷裂創(chuàng)建一個(gè)任務(wù)后再次dumpucHeap起始處。你會(huì)發(fā)現(xiàn)首塊xBlockSize從0x0000A00064KB變?yōu)?x00000200512字節(jié)bit 0為1 → 已分配新增空閑塊起始于0x20001200原首塊地址512其xBlockSize為剩余大小pxNextFreeBlock指向下一空閑塊若此時(shí)pxNextFreeBlock為0x00000000說(shuō)明鏈表已斷——大概率是pvPortFree時(shí)未正確更新pxPreviousFreeBlock指針或內(nèi)存被意外覆寫(xiě)。4.4 步驟四識(shí)別內(nèi)存踩踏Memory Corruption的典型痕跡最常見(jiàn)的踩踏是數(shù)組越界寫(xiě)入ucHeap。現(xiàn)象是某空閑塊的xBlockSize值異常如0xCAFEBABE、0xDEADBEEF或pxNextFreeBlock指向非法地址如0x00000000、0xFFFFFFFF。此時(shí)需反向排查檢查所有使用malloc/pvPortMalloc的指針確認(rèn)其free/vPortFree調(diào)用是否配對(duì)檢查數(shù)組訪問(wèn)buffer[i]中i是否可能≥sizeof(buffer)檢查結(jié)構(gòu)體指針強(qiáng)制轉(zhuǎn)換(MyStruct*)p中p是否確實(shí)指向足夠大的內(nèi)存塊實(shí)戰(zhàn)案例我在基于STM32的智能臺(tái)燈項(xiàng)目中pvPortMalloc(128)返回地址0x20005678但后續(xù)memcpy(p, data, 130)越界2字節(jié)恰好覆寫(xiě)了0x200056781280x20005700處的下一個(gè)空閑塊頭。結(jié)果xPortGetFreeHeapSize()返回值突降且vPortFree(p)后鏈表斷裂。用Memory Browser定位到0x20005700處xBlockSize被寫(xiě)成0x00000000真相大白。5. 替代方案對(duì)比heap_1/heap_2/heap_3/heap_4/heap_5在STM32上的取舍邏輯FreeRTOS提供5種內(nèi)存管理方案但并非所有都適合STM32。選擇錯(cuò)誤輕則浪費(fèi)資源重則引入不可預(yù)測(cè)行為。5.1 heap_1最簡(jiǎn)但最危險(xiǎn)——只增不減的“內(nèi)存雪球”heap_1僅實(shí)現(xiàn)pvPortMalloc無(wú)vPortFree。所有內(nèi)存一旦分配便永不釋放。適用于超低資源MCU如STM32L0RAM僅8KB任務(wù)數(shù)量固定、生命周期明確的系統(tǒng)如僅3個(gè)任務(wù)啟動(dòng)時(shí)創(chuàng)建永不刪除致命缺陷若誤調(diào)vPortFree函數(shù)為空實(shí)現(xiàn)無(wú)任何提示若pvPortMalloc失敗返回NULL但上層代碼若未判空將導(dǎo)致野指針。我在STM32L0項(xiàng)目中曾用heap_1因一個(gè)未檢查的malloc失敗導(dǎo)致LED控制寄存器被寫(xiě)入隨機(jī)值設(shè)備持續(xù)閃爍無(wú)法關(guān)閉。5.2 heap_2帶合并的簡(jiǎn)單分配器——適合中小項(xiàng)目heap_2支持vPortFree并能合并相鄰空閑塊但使用最佳適配算法Best Fit需遍歷整個(gè)空閑鏈表查找最小合適塊。在RAM有限的STM32上遍歷開(kāi)銷(xiāo)顯著。其塊頭僅4字節(jié)xBlockSize無(wú)pxNextFreeBlock指針依賴(lài)線性掃描。對(duì)于configTOTAL_HEAP_SIZE 16KB的系統(tǒng)分配耗時(shí)可能達(dá)數(shù)百微秒影響實(shí)時(shí)性。5.3 heap_3標(biāo)準(zhǔn)malloc封裝——隱藏風(fēng)險(xiǎn)最高h(yuǎn)eap_3直接調(diào)用malloc/free看似省事實(shí)則暗藏殺機(jī)標(biāo)準(zhǔn)庫(kù)malloc在嵌入式環(huán)境無(wú)重入保護(hù)多任務(wù)下極易崩潰無(wú)法監(jiān)控內(nèi)存使用xPortGetFreeHeapSize()永遠(yuǎn)返回0鏈接時(shí)需額外加載libc.a增加Flash占用KEIL下約8KB絕對(duì)禁止在STM32 FreeRTOS項(xiàng)目中使用heap_3除非你已為標(biāo)準(zhǔn)庫(kù)malloc打補(bǔ)丁并驗(yàn)證其重入性。5.4 heap_4平衡之選——推薦90% STM32項(xiàng)目的默認(rèn)方案heap_4采用首次適配算法First Fit找到第一個(gè)足夠大的空閑塊即分配速度遠(yuǎn)快于heap_2。其塊頭8字節(jié)支持雙向合并前/后塊空閑則合并碎片化程度可控。唯一缺點(diǎn)是無(wú)法處理跨內(nèi)存區(qū)域的分配如同時(shí)使用SRAM1和CCMRAM。對(duì)于絕大多數(shù)STM32項(xiàng)目F1/F4/F7/H7heap_4是最佳平衡點(diǎn)。5.5 heap_5多區(qū)域支持——為H7等大內(nèi)存MCU而生heap_5允許將多個(gè)不連續(xù)內(nèi)存區(qū)域注冊(cè)為heap如同時(shí)使用SRAM1192KB和SRAM364KB。其內(nèi)部維護(hù)一個(gè)區(qū)域描述符數(shù)組分配時(shí)遍歷所有區(qū)域。但額外開(kāi)銷(xiāo)約200字節(jié)RAM和復(fù)雜度對(duì)F4/F7級(jí)別MCU純屬過(guò)度設(shè)計(jì)。僅當(dāng)你的STM32H7項(xiàng)目需要將CCMRAM64KB專(zhuān)用于實(shí)時(shí)任務(wù)棧SRAM11MB用于動(dòng)態(tài)緩沖時(shí)才值得啟用heap_5。選型決策樹(shù)RAM ≤ 32KB任務(wù)≤5個(gè) → heap_1確保所有malloc判空RAM 32–256KB通用項(xiàng)目 → heap_4默認(rèn)首選RAM 256KB需混合使用SRAM/CCMRAM → heap_5調(diào)試階段快速驗(yàn)證 → heap_2便于觀察碎片生產(chǎn)環(huán)境追求極致確定性 → 自研靜態(tài)內(nèi)存池如TLE9183驅(qū)動(dòng)中的預(yù)分配緩沖區(qū)6. 靜態(tài)內(nèi)存替代方案當(dāng)動(dòng)態(tài)分配成為性能瓶頸時(shí)的終極解法在電機(jī)控制、音頻處理等硬實(shí)時(shí)場(chǎng)景pvPortMalloc的不可預(yù)測(cè)延遲因鏈表遍歷、合并操作可能破壞時(shí)序。此時(shí)必須放棄動(dòng)態(tài)分配轉(zhuǎn)向靜態(tài)內(nèi)存管理。這不是倒退而是對(duì)資源的精準(zhǔn)掌控。6.1 靜態(tài)任務(wù)創(chuàng)建TCB與棧內(nèi)存的顯式綁定FreeRTOS提供xTaskCreateStatic要求開(kāi)發(fā)者顯式提供TCB和棧內(nèi)存// 靜態(tài)分配TCB和棧 static StaticTask_t xTaskBuffer; static StackType_t xStack[ configMINIMAL_STACK_SIZE ]; // 創(chuàng)建任務(wù)不再消耗heap xHandle xTaskCreateStatic( prvTaskCode, NAME, configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, xStack, xTaskBuffer );優(yōu)勢(shì)創(chuàng)建時(shí)間恒定 1μs無(wú)內(nèi)存碎片風(fēng)險(xiǎn)TCB和棧地址完全可知便于Memory Protection UnitMPU配置編譯時(shí)即可確定RAM占用杜絕運(yùn)行時(shí)OOM代價(jià)需手動(dòng)計(jì)算每個(gè)任務(wù)的棧深度configMINIMAL_STACK_SIZE僅為最小值實(shí)際需加30%余量無(wú)法動(dòng)態(tài)增刪任務(wù)系統(tǒng)架構(gòu)需提前固化6.2 靜態(tài)隊(duì)列/信號(hào)量用宏生成編譯期確定的內(nèi)存塊// 靜態(tài)創(chuàng)建隊(duì)列 static QueueHandle_t xQueue; static uint8_t ucQueueStorage[ 16 * sizeof( uint32_t ) ]; // 16個(gè)32位整數(shù) static StaticQueue_t xStaticQueue; xQueue xQueueCreateStatic( 16, // uxQueueLength sizeof( uint32_t ), // uxItemSize ucQueueStorage, // pucQueueStorage xStaticQueue // pxStaticQueue );ucQueueStorage數(shù)組在.data段分配xStaticQueue在.bss段分配全程不觸碰heap。我在STM32F407移植Modbus主站時(shí)將所有RTU幀緩沖、寄存器映射表均改為靜態(tài)分配使通信循環(huán)時(shí)間抖動(dòng)從±15μs降至±0.5μs。6.3 環(huán)形緩沖區(qū)Ring Buffer替代動(dòng)態(tài)申請(qǐng)的高頻小數(shù)據(jù)流對(duì)于串口接收、ADC采樣等持續(xù)小數(shù)據(jù)流用malloc申請(qǐng)緩沖區(qū)是災(zāi)難。應(yīng)采用預(yù)分配環(huán)形緩沖區(qū)typedef struct { uint8_t *pcHead; uint8_t *pcTail; uint8_t *pcBuffer; size_t xLength; size_t xSize; } RingBuffer_t; static uint8_t ucUartRxBuf[256]; static RingBuffer_t xUartRxBuffer { .pcBuffer ucUartRxBuf, .xLength 0, .xSize sizeof(ucUartRxBuf) }; // 初始化時(shí)只需設(shè)置指針無(wú)內(nèi)存分配開(kāi)銷(xiāo) void vRingBufferInit(RingBuffer_t *pxRB) { pxRB-pcHead pxRB-pcBuffer; pxRB-pcTail pxRB-pcBuffer; }最后分享一個(gè)小技巧在STM32CubeIDE中右鍵工程→Properties→C/C Build→Settings→Tool Settings→LD→Miscellaneous勾選--print-memory-usage。每次編譯后Console窗口會(huì)輸出各內(nèi)存段精確占用如.freertos_heap: 65536 bytes比手動(dòng)計(jì)算可靠百倍。我曾用此功能發(fā)現(xiàn)一個(gè)未使用的printf格式字符串竟占用1.2KB Flash果斷替換為精簡(jiǎn)版uprintf。內(nèi)存管理終究是一場(chǎng)與字節(jié)的精密博弈——贏在細(xì)節(jié)敗在疏忽。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
少妇内射视频| 久草精品国产蜜臀 | 一区操逼日比视频| 日本韩高清无砖码22o| 欧美一二三区四五区| 亚洲欧美日韩夜夜| 岛国网址国产| 人人操我人人干| 91制服丝袜| 久久久男人的天堂| 中文字幕一区二区三区人妻少妇在线| 99色热| 日韩有码 一区二区三区| 欧美日韩系列| 国产久久男人天堂| 四虎精品一区| 1204av韩国| 69精品少妇一区二区三区蜜桃| 久久av一级av少妇av高潮| 国产日韩怡红院| 熟女91网| 另类老少妇| 欧美激情超碰777| 91久久国产综合久久| 无码少妇精品一区二区60岁老人| 91精品无码人妻系列| 又大又长又粗又爽又黄| 亚洲国产成人7777| 白丝被操91| 亚洲丝袜少妇在线| 国产一区二区免费福利片| 亚洲无992tv| 中文字幕av片| 欧美色综合网| 中文字幕激情小说| 天美传媒精品一区二区| 日本精品一级二级三级| 欧美性爱精品七区| 色成人Www精品永久观看| 操逼啊啊啊91| 日本女人操逼| 国产激情久久| 久操B网| 国产自产91区13区| 91色综合激情| 中文字幕女同在线| 成人天天爽| 黑人粗大V S日韩女优视频| 走光一区92下载| 中文字幕一区二区三区蜜桃视频| 78超碰| 最新制服中文第一页| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 性暴力欧美猛交在线直播| 台湾成人无码AV| 91精品女厕偷拍视频| 先锋色眉乱伦资源| 日本在线视频导航| 大香蕉AV丝袜| 亚洲色图欧美另类在线| 欧美第一页| 亚洲小说视频| 日韩精品免费高清视频在线| 成 人 影视 一区 二区 三区 四区| 91黑丝少妇| 超碰久久草| 久草毛片| 欧美成人A√在线一区二区| 中日韩久久久| 香蕉99秘 精品一区丁香| 久久久国产精品人妻丝袜| 东京热精品97综合网| 色偷偷2020免费视频播放| 中文字幕一区二区三区人妻不卡| 91在线欧美| 国产91av在线播放| 六月丁香五月婷婷| 99国内熟女露脸视频| 少妇熟女视频一区二区三区| 国产中文字幕在线点播| 丰满少妇一区二区三区四区观看| 97超碰超欧美。| 91社区伊人| 成人七区| 91美女视屏| 天天综合站| 九热中文字幕| 99色色网| 漂亮人妻被强中文字幕hd| 91肉片| 亚洲精品无码久久AV| 人妻av在线| AND人妻系列| 国内外激情在线| 欧美1区二区三区公司| 色婷婷电影| 少妇内射www在线观看视频| 日韩一级二级三级免费看完整版 | 国产热av| 可能人人看人人摸| 九九拍拍精品视频在线播放 | 手机在线视频国内精品| 欧美性爱一内片一区二区三区| 国产AV线| www.狠狠| 啊啊啊啊啊啊啊啊在线观看| 99久在线精品99re8热| www久久精品| 欧美黄色大片在线观看| 久久国产视频专区一二三| 立川理惠被中出无码| www.99热| 国产午夜精品理论片a大结局| 国产精品自拍欧美在线| 久草精品一区| 日本一区二区不卡精品| 亚洲图片 激情小说| 久久久久久精| 久九九九九九九热| 精品九九九| 午夜天堂精品久久久久91| 亚洲做性| 99久久九九| 午夜福利 成人 91| www99热| 一区二区三区一亚洲中文字幕、综合区灬| 在线观看精品国产免费| 日韩三级av片| 国产高清1234区| 日韩欧美性爱电影在线观看| 亚洲精品久久久久久久久豆丁网| 天美传媒精品一区二区| 精品九九淫乱男| 欧美亚洲素人制服精品| 综合97亚洲| 亚洲成a人片在线观看中文!!!| 91精品又粗又猛又爽| 欧洲成人性爱视频| 亚洲久久久久| 欧美97在线观看| 激情熟女12P| 91精产一区二区三区| 国产操逼逼网| 九九热精品视频六| 国产精品一区二区在钱播放| 天天看天天在线精品| 性欧美精| 伊人网av| 欧美日日操| 香蕉国产97| 色97| 精品在线观看视频在线| 天堂性色| 97在线欧| 97亚洲国产影视| 欧美伊人久久综合网| 婷婷九月国产| 欧美最婬乱婬爆婬性视频 | 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 欧美日韩中文视频播放| 欧美色图成人网一区二区| 久草视频观看视频在线| 欧美性xxxxx狂欢| 九九九九九九九九九五码| 国产偷拍自拍在线视频| 妇女性内射冈站HDWWWCOM| 狠综合网| 日韩女优在线| 午夜婷婷| 3d成人精品一区二区| 91精品人妻一区二区三区蜜臀| 午夜精品久久久久| 人妻在线臀日韩| 欧美色性爱| 91亚洲图片| 日韩精品99久久久久久中文字幕| 偷拍 精品另类 凸凹了四区| 亚洲最新av无码成人精品区| 国产中出内射一区二区| 97操97干| 久久久久78| 色播五月丁香| 成人八戒网站| 无码直播久久久| 玖玖资源视频一区二区三区| 久久成年精品| 宗合情欲网| 天天操天天插| 色综合色欲色综合色综合色综合| 人人操人人摸人人看人人插| 国产女大学生AV| 亚春色色| 综合一区二区影视| 久久少妇人妻| 欧美一区二区三区成人性生活| 精品.99999| 丁香五月影院| 国产AV久久久蜜爱影集| 亚洲第一无码播放立川理惠| 精品偷拍13p欧美dodk视频| 国产精品白丝在线播放| 岛国1区2区3区在线观看| 青青色在线观看| 亚洲精品99999| 亚洲色图欧美| 天天综合网网欲色| 超碰人人操97碰| 亚欧高清| 澳门黄片一香蕉视频| 日韩性爱长视频免费| 亚洲 欧美 第一页| 91丝袜| 婷婷综合伊人一区| 欧美99999| 天天做天天爱| 日韩免费三级黄片电影| 欧美大香蕉同搞| 人人摸.人人色| 成 人 影视 一区 二区 三区 四区| aaaa少妇高潮大片| 人人综合| 97色爱| 国产玖玖| aV中文麻| 老熟女乱伦片| 玖玖人人爱| 欧美熟妇乱码在线一区| 精品人妻一区| 黄色性爱网网| 亚洲有薄码区日本系列中文字幕| 99热这里只有精| 日韩内射视频| 亚州高清av| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 91日韩在线| 伊人久久青青草| 亚洲国产一区二区三区在线 | 国产女人高潮嗷嗷嗷叫小说 | 日本大香蕉| 久久偷偷色综合蜜桃| 亚洲91射| 亚洲AV成人无码一二三久久| 亚洲成人福利电影免费| 97福利视频| 99re69综合| 丝袜天堂网| 熟妇女伦乱视频| 第四色奇米影视777| 欧美少妇性爱网站| 综合网,亚洲,欧美| 日韩欧美蜜桃精品久久中文字幕久久| 极品肉射| 人人摸人人添人人操| 五月香婷婷| 亚州综合色图| 亚洲色图图片| 很很热性爱视频| 91人妻超碰| 97国产精选| 欧亚无码视频| 人妻啊啊人妻啊| 婷婷五月天无码 | 久艹日日日| 成人亚欧免费视频| 中文字幕制服欧美久久一区| 久久有码视频| 久操视频资源站公开| 亚洲色图欧美色图制服丝袜| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 日韩精品国模| 超碰日韩人妻| 亚洲熟妇乱女区二区三区| 密臀成人视频久久久| 麻豆国产视频精品观看| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 婷婷精品| 久久风骚城市| 岛国视频免费在线观看| 美女97超碰| 日本一区不卡| 狠狠色丁香| 亚洲玖玖爱| 韩国一级婬片A片无码天美| 亚洲欧美激情另类色图| 黄色工厂这里只有精品| 日韩无码专区| 在线欧美亚洲| 青草青青久久久久久国产| 亚洲美女精品九九视频| 色五月大香蕉| 大逼色网站| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 久久日本熟女精品一区| 超碰成人公开| 久久久专区| 人人操肉肉| 国产极品久久久| 欧美一区二区三区不卡高清视频| 2001天天操| 青青在线视频日韩欧美| 亚州操操穴网| 欧美的性爱网站免费| 欧美高潮在线| 逼逼逼逼操操操操操操操操操午夜剧场 | 天天色综合图片| 91A欧美电影网站| 欧美 亚洲 制服 精品| 78久久| 91亚州日韩高清| 日日夜夜免费| 神马午夜久久久| 伊人精品久久网站| 好色美女九七第一页| 婷婷99狠狠| 果冻传媒A片麻豆熟妇人妻| 青草青青久久久久久国产| 男人天堂欧美| 一二三四视频在线社区中文字幕| 日本熟妇人妻中出视频| 国产老太乱伦一区| 岛国不卡超碰护士AV在线播放| 久久精视频美日韩在线视频| 精品无码少妇| 欧美性区| 色婷视频| 亚洲精品毛片在线观看| 91中出在线| 久久精品人体| 欧美强奸乱能| 精品无码久久久久久久久果冻糖心| 打av高清| 激情五月丁香五月| 特级特黄一级毛片免费| 这里都是精品| 91真人天天在线| 99色色网| 国产欧美精选自拍一区| 91美女视频在线观看| 青娱乐大香蕉| 中文字暮97| 亚洲少妇综合在线播放| 午夜美女福利视频| 久久99干一本高清| 高清肉丝中文无码| 五月天伊人| 色色色综合网| 人人人人插| 午夜性生活av免费在线看| 久久久久921| 天天综合AV| 日本操BAV| 久久黄片国产一区二区| 999精品乱码| 激情婷婷丁香| 亚洲日韩XXX| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 涩涩这里只有精品视频| 色99999| 中日韩久久久免费看| 91美女在线看| 大稥蕉免费视频这里只有精品| 日韩av在线免费网站| 思思热在线视频免费| 国产日韩怡红院| 素人伊尹大香蕉免费下载视频| 综合网欧| 老熟女区| 欧美有码亚洲中文字幕一区二区三区四区| 色爱综合网| 久久久久九九九| 天天操夜夜操狠很操| 蜜臀久久99精品久久久久久无删减 | 亚洲欧美日韩免费观看| 亚欧美色| 国产白丝精品在线观看| 成年无码动漫av片无尽在线| 97免费在线观看| 青青青青青手机视频| 婷婷探花久久精品一区| 熟女久久| 97在线免费视频观看| 超碰导航97| 欧美人妻熟女在线| 国产精品天堂| 欧美v亚洲v综合v国产v妖精| 大学生口爆吞精| 国产v片在线免费观看| 成全动漫视频观看免费下载| 成人无码电影在线观看网| 成人性爱av| 黄色一区二区秘书性感| 国产 v乱码一区二| 一区二区三区激情在线观看| 国产无套粉嫩白浆在| 99热这里只有精品地址 | 久久久无码精品人妻二区| 97久久国产精品| 日本久久久久久久久久| 欧美双插| 欧美中文字幕日韩在线| 亚洲欧美在线观看免费| 乱伦系列一区二区| 蜜桃久久综合视频| 中文字日本乱码| 91 丝袜在线观看| 欧美日韩一二三| 夜夜骑夜夜操| 日韩美女操b| 久久婷婷综合国际产色怕| 婷婷综合网| 曰韩欧美国产传媒麻豆第一区| 天美国产精品| 九九自拍伦理| 欧美美女视频| 九月激情婷婷| 日韩啪啪啪啪啪| 亚洲精品天天影视综合网 | 亚洲第一免费视频| 超碰免费人人| 日本日日色视频| 后入式视频国产自| 视频不卡中文字幕| 亚洲高清无码在线桃色| 天天日老熟妇| 我要色综合网站| 中文字幕美女91| 日本三级日本三级99| 久久这里都是精品| 久久久月天| 国产亚洲精品A在线观看下载| 天天色综亚洲91污| 国产精品久久久蜜臀| 九久久精品| 婷婷超| 久久男女激情视频网站 | 日韩高清黄片| 一本道综合色图| av久日| A级国产欧美激情在线| 亚洲天堂7777| 日韩 成人 有码| 亚洲成人ab| 国产精品无码在线| 日韩人妻无码精品系列| 96精品久久久久久久久久| 色综合久久88色综合久久天天| 91亚州日韩高清| 国产久9| 欧美黄色大片在线观看| AV丝袜少妇| 超碰91在线| 激情五月天综合网| 欧美韩日精品99综合| 无码人妻精品一区二区中文| 岛国人妻少妇av在线观看| 91精品老女人| 国产原创精品| 视频一区二区免费在线| 欧美熟爽综合| 精品免费视频国产一区| 大稥蕉免费视频这里只有精品| 国产又粗又长的视频| 国产强奸超碰AV| 欧美超碰人妻97| 再深点灬舒服灬太大了添视频| 日韩熟女精品无码专区一区二区| 思思久热在线精品66| 国产精品久久久亚洲一区| 四虎AV在线播放| 久久亚洲婷婷| 麻豆91熟妇人妻中文字幕茄子| 欧洲熟妇xxXx欧美老妇裸体 | 亚洲中文一区二区三区| 99精品人人爽| 草莓精品视频| 久久久久久久久久久精| 日本精品第一视频在'| 美女骚尻视频| 五月婷婷久久综合| 97精品久久| AV天堂电影网| 无码日韩人妻av一| 精品二区久久| 91亚·色| 在线观看AV片| 大香蕉草草| 日韩在线视频1234| 欧美日韩另类在线| 中文无线日韩一区| 五月综合色| 日本成a人v网站在线观看| 亚洲官网在线| 欧美网站免费| 青春草莓视频在线观看网址| 欧美亚洲厕所精品偷拍91 | 9 1果冻精品视频| 97资源制服丝袜| 91被操| 91美女视频电影| 97色碰| 亚洲人体视频在线观看| 久久超碰天天| 欧美性爱一内片一区二区三区| 一区二区三区在线美女| 伊人97| 欧美色图片91| 自慰白浆在线观看| 色黄污美女啪啪啪免费网站| 97在线欧| 久久仑合| 人人摸人人干| 蜜乳AV一区| 久久综合97| 熟女高潮合集-永久久久-成人AV| 美女刺激久久国产欧美| 欧美一级久久久久久久大片动画| www.91视频网| 久草线上视频免费看| 亚洲91av| 国产成人综合网| 亚洲欧洲综合av在线| 淫淫综合网| 韩日巨乳美女免费视频在线观看| 中文字幕老熟妇黄色视频| 无码精品一区二区三区潘金莲| 九九九九9999| 无码粉嫩白虎一线天b区| 欧美色图 人妻| 中文字幕91综合| 日本岛国黄色网址| 亚洲少妇综合在线播放| WWW啪啪的com| 国产中出内射一区二区| 99热这里只有精品18| 加勒比综合a∨| 神马久久久久久久久久久久| 亚洲欧美激情另类色图| 久操热线| 性爱av在线免费观看| 岛国网址国产 | 在线观看A啊啊啊| 青青草九九九九九| 天天日少妇逼AV| 亚洲偷拍自拍在线视频| 色噜噜精品一区二区三| 久久黄色性爱视频| 青娱乐欧美激情一区二区| 97综合在线| 久久精品导航| 91制服丝袜| 青青草国产一区二区三区| 秋霞午夜视频一区二区| 欧洲与亚洲欧美精品中文字幕| 九九玖玖精品| 男人的天堂2018.| 人夜夜精品网站香蕉嫩草| 色播五月婷婷| 日本超碰在线国产一区| 亚洲.欧美.丝袜.中文.综合| 欧美后进式| 精品少妇后入一区二区三区四区人妻巨乳 | 亚洲日本男人天堂网| 日本免费不卡二区| 宗合情欲网| 欧美亚洲一区二区久久久婷精品大包诱| 天天综合在线4| 91美女视屏| 97欧美精品综合| 九九热视频这里只有精品| 上床不卡网站| 日本三级韩国三级美三级91| 亚洲精品黑丝| 60秒不遮不挡| 黄片www视频免费| 玖玖爱在线视频免费观看| 久久黄片国产一区二区| 亚洲一欧洲中文字幕在线 | 老熟女阿 国产91| 亚洲人妻五月丁香婷婷| 日本中文熟女视频| 国产人妖视频一区在线观看| 蜜乳av首页| 欧美|91色综合| 人人澡综合涩| 久久人妻一区二区三区高清| 91亚洲黄色网| 国产精品成久久久久午夜午夜| 美国精品国产精品| 国产精品成人无码av| 久7色| 小骚逼被操的爽不爽| 亚洲色图8| AVE乱伦| 333kkkk·亚洲com久久| 久久五月份| AV在线资源| 午夜噜噜噜| 国产精品久久久久久亚洲色欲| 亚洲欧洲精品视频发布| 亚洲 图片 综合91| 色婷婷一区二区三区久久午夜成人不| 蜜臀99久久精品久久久久| 中文人妻av高清一区| 在线观看黄色电话| 哈哈操电影AV| 欧美日本不卡在线| 欧美日本中字另类在线| 野狼激情网| 久久久91福利姬| 亚洲伊人久久综合97| 亚洲福利中文字幕在线| 欧美激情片一区二区| henhen91| 亚洲天堂 视频你懂的| 性色A∨91| 蜜乳AV一区| 亚洲不卡不卡中文字幕不卡| 熟人人妻少妇精品久久| 免费亚洲黄色视频在线观看| 九九热九九热| 丰满人妻-区二区三区免费看| 亚洲一区二区三区中文字幕| 中文字幕av色| 欧美日韩另类激情图片| 乱伦系列一区二区| 日韩人妻精品| 伊人久久综合影院| 国产一级久久久| 玖草在线视频| 97精品国产97久久久久久| 久久久九| 亚洲AV成人无码久久精品播放| 精品乱码久久久久| 黑人美精品 A片| 99天天超碰| 亚洲精品国语在线播放| 欧美不卡在线美女| 一区二区高清视频| 久热色情精品| 三上悠亚在线毛片91| 嗯啊不要啊在线| 日本媚薬中文字幕在线| 久久怡红院| 992视频一区| 婷婷五月成人| 久草成人| 区一在线观看| 操淫穴亚洲五月丁香| 亚洲欧美人妻| 久久中文字幕女同性恋一区| 五月丁香黄色网| 蜜臀久久99精品久久久老,,| 91老司机视频| 97色色色| 上特色A在线| 麻豆60秒| 中文字幕天堂在线| 青青草啪啪网| 色呦呦呦在线观看视频| 亚洲日韩黑丝| 成人情色一区二区| 99re免费| 啊啊啊不要啊啊受不了了视频在线| 免费少妇一区二区| 九九九九九九九| 免费AV播放| 蜜臀视频网站| 1204金沙人妻懂旧版免费| 亚洲AV秘 精品久久老牛影视| 色踪合AV| 丝袜美腿诱惑亚洲欧美视频在线观看| 69天堂| 麻豆AV短剧| 国产色精品午夜大片| 国产97/欧美| av天天在线观看| 人妻干天天| 另类图片五月天| 色综合中文字幕不卡| 密乳AV免费观看| K8久久久久| 欧美日韩人人精品| 人妻aa| 黄骗免费网站| 91N综合网在线| 天无日色综合| av在线免费一区二区| 一本色道人妻久久| 国精综合一二三区影视| 亚洲中文字幕av| 91AV入口| 操久久久久| 国产精品久久久久久久久久久久久久久久久久 | 国产精品久久久久久久久久二区三区| 五月婷婷综合在线| 国产高清免费不卡av| 免费视频一二三区| 九九九九免费视频| 亚洲男人的天堂V| 成人日本视频人妻在线| 免费观看网黄| 欧美97色| 骚熟女AV网| 人妻人人澡人人爽人人| 大香樵伊人网| 精品在线观看视频在线| 26uuu国产亚洲综合| 加勒比中文av| nuu12国产麻豆精品| 一区二区三区日韩欧美| 亚洲天堂,男人| 色欲日韩欧美在线一区| 蜜乳视频网站| 日日骚AV| 天天干18禁| 久久久久幕乱码| 少妇第一页| 亚洲限制级| 自拍盗摄一区| 67914在线精品观看| 久久怡红院| 探花激情视频| 日韩人成网站在线播放| 逼操网站| 国产女同视频在线播放| 91精品国产91久久福利| 欧美色亚洲| 91天天综合日韩欧美| 极品人妻少妇综合| 99久久免费看精品国产一区| 99国产精品自在自在| 久久久久久久久久久久久久久久9| 江都AV在线| 亚洲美女精品| 欧美熟妇乱码在线一区| 丝袜制服字幕在线| 欧美亚综合色图| 色爱欲亚洲| 久久夜嗨| 欧亚成人在线视频| 天天色踪合| 蜜桃臀久久| 欧美色图片色哟哟| 3P丝袜熟女 色综合| 果冻传媒A片麻豆熟妇人妻| 日日躁天天躁狠狠躁| 欧美草草高清日韩视频| 亚洲Av诱惑| 亚洲国产成人精品女人久久久| 99re在线| 日婷婷| 中国国产精品一区视频| 久久久精品无码亚免费| 亚洲国产无码精品首页久久久| 五月天综合在线| 荡小穴在线观看| 午夜天堂精品久久| 1000午夜黄色| 9精品久久久久| 日本一二区不卡| 久久久久久99AV无码免费网站| 眼镜人妻101.com| 日本熟妇人妻中出视频| www.99热| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 亚洲男人久久综合天堂| 国产免a费看黄片在线| 日韩成人大片在线观看| 蜜臀av一区二区三区免费观看| 亚洲最大黄网| 91影视亚洲| 91欧美网| 欧美性爱免费短视频| 留下AⅤ黄色片| 日本有码久久| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 美女被啪到深处抽搐视频| 国产精品久久久久久照片| 中文字幕jul-617人妻熟女| 91女人的网站| 日本 情色 1区2区3区| 日本天天干天天操一区| 无码人妻精品一区二区中文| 久99热| 丁香五月天久久精品视频一区二区三区| 日本中文字幕一区| 91人妻在线视频| 久久亚洲AV成人精品无码| 日韩另类色图| 欧美青青草视频| 久久精品国产亚洲AV先锋| 欧美日韩国产高清在线一二三区| 亚洲色图久久精品蜜| 欧美熟女丝袜| 色吧5亚洲| 亚洲操人| 伊人少妇久久久| 92性色国产午夜福利在线661| 久草视频分类在线| 最新av在线| 亚洲一区二区在线观看91| 岛国黄色大片网站| 久久久久久久国产| 亚洲人妻在线精品| 99熟女| 国产蜜臀在线| 岛国黄| 97内射偷拍| 东京热天堂网| 香蕉综合网| 欧美爱国产综合、| 精品国产丝袜一区二区三区乱码| 久久熟女人| 国产精品农村妇女| 欧美婷婷五月天| 九九九热精品| 色色色欧美| 97色色,97综合| 欧美gv在线观看| 99re6国产精品99re在线| 天堂亚洲欧美| 亚洲色啪| 一二三区视频在线观看| www.av在线观看| 东方亚洲在线操逼天堂| 亚洲一级性爱视频免费看| 成人网欧美风情| 91av熟女人妻| 久9久| 97精品一区二区视频| 青娱乐av在线| 人人操,人人液| 神马久久久久眼| 亚洲天堂精品日韩电影| 日本一区三级韩国| 亚洲色图91| 亚洲精品丝袜| 八戒午夜福利理论片| 久久夜色一区二区| 蜜乳AV.COM| B049AV在线播放| 国产精品成人福利在线| 日本久久999| 手机看av网站在线看| 丝袜视频网国产90| 五月丁香激情综合网| 午夜精品久久久久久久久久久久久| 五月激情影院| 日韩无码极品| 日韩钢筋无码高清啾啾啾| 国产精品网址| 综合网亚洲1| 久久女婷| 一区二区乱码福利| 粉嫩AV一区夜夜嗨| 日本在线不卡v二区| 亚洲图片 欧美电影| 蜜臀久久99精品久久久久久久久| 日韩人妻丝袜中文字幕| 熟女色图在线| 欧美十八禁网站| 99re视频在线播放青草| 宅男91视频在线播放| 乱伦一区二区三区‘| 色香91| 校园春色 男人天堂| 亚洲人体视频在线观看| 综合激情一一91| 天天日夜夜| 国产三级在线现体验区| 欧美女同在线| 一区久久久二区| 高清无码 国产精品| 久久久久国色αv免费观看| 欧美亚男人的天堂| 成人网站 免费观看| 亚洲天堂2020| 久久伦理视频久久大香蕉视频| 欧美性爱精品一区二区| 伊人热综合| 亚洲骚男同com| 精品.99999| 天天躁日日躁AAA片李宗瑞| 上特色A在线| 国产精品久久久久久久久久久久久久久久| 国模精品一区二区三区苹果色戒| 欧洲在线性爱视频| 91激情国产| 精品乱子一区二区三区99| 强免费黄色网址| 久久久久久久九九九九九九| 青青草一区二区高清无码视频| 97色色国产视频| 中文字幕一区av| 黄色免费网页无码| 天天做天天爱夜夜爽毛片试看| 97超碰色中文字幕| 超碰性爱97| 亚洲欧美精品一区天堂久久| 欧美亚洲尤物久久| 久久在线观看免费视频| 国产搭汕a级片| 亚洲偷91色| 久久久久密臀一区二区| 欧美黄页在线| www.激情| 黄色一级视| 国产传媒操逼视频| 日韩av在线精品观看| 熟妇人妻丰满久久久久久久无码 | 亚洲成人福利电影免费| 亚洲一区日韩精品| 97在线视频免费| 黑人性暴力毛片| 天天爱综合网| 夜夜操一区二区| 伊人久久大香蕉线AV五月天| 91人人看| 色一射色一射| 日韩素人无码一区二区三区三州| 日本九九九九| 人妻少妇av在线观看| av网页一区二区三区| 八戒无码国产午夜福利| 日韩激情无码影院| 欧洲性爱无码区| 99久久久无码国产精品性啊聊| 超碰人妻久久| 男人天堂欧美| 97视频在线播放| 91亚洲色图| 婷婷色综合欧美日韩| 99re9| 亚洲美女AV无码| 精品人妻一区二区三区在| 91五十路| 秋霞色色影院| 强奸抽插av| 人妻一区二区三区视频 | 后入式视频国产自| 色偷偷男人的天堂麻豆| 超碰97久久国| 骚日日av| 精品97久久| 综合另类| 内射夫妻三片| 久草国产在线视频| 亚州操逼网| 91精品91久久久中77777| 亚洲人成网www| 丰满翘臀美女影院视频| 欧美日本久久精品一区| 国精综合一二三区影视| 国产精品久久久久久久久久久久久久久| 97在线观视频免费观看| 久久久久久久久国产| 亚洲精品蜜桃久久久| 亚洲色人阁| 青青青国产手线观看视频2| 亚欧免费| 国内三级自拍小视频在线观看| 天天操综合网| 在线天堂999| 久久夜夜夜| 国产精品夜夜夜| 啊啊啊爽爽| 人人操我人人干| 在线视频日韩欧美国产| 艹我哪美一区无码| 97久久久精品| 91久久国产精品| av网站国产主播在线| 久操网线| 69超碰综合| 熟妇高潮精品一区二区三区下载| 97精品视频在线| 国产老太乱伦一区| 在线观看AV片| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 欧洲站一级二级三级h| 欧美极品| japan日本高清乱xxxx| 高清无码网址| 欧美传媒一区| 97综合网| 9999免费精彩视频| 啊啊啊啊啊好大好舒服想要| 欧美,日韩,中文,另类| 久久国产在线一区二区| 手机看av网站在线看| 九九九久千久久激情蜜桃在线看 | 狠狠色五月亚洲91| 在线无码视频| 国产女上位好爽在线| 无卡一区=区| 天天日天天干天天色| 久久婷婷视频| 桃色人妻在线视频| J?P?NESEHD熟女熟妇伦| 超碰在线成人| 97精选久久| 欧美大香蕉久| 国产精品女同| 久久这里只精品| 岛国大片在线观看网站入口| 色噜噜国产在线| 亚洲色婷婷综合久久久久中文| 亚洲第一免费视频| 久久精品免费| 600国产精品视频| 五月丁香社区婷婷日韩欧美精品影院 | 欧美,日韩,中文,另类| 一牛影视成人片免费| 夜夜操av亚洲一区二区| 777超碰| 日本日逼视频网| 本道在线| 51一区二区三区| 无码视频一区二区| 另类亚洲一区二区三区| 91色碰| 欧美少妇色图| 久久,精品一二三| 97超碰精品图片| 久久曰曰| 天美av在线| 老汉网| 狠狠操,使劲操| 欧美日韩国产中文精品字幕自在自线, | 黄色工厂这里只有精品| 操逼日韩无码| 天天摸天天操视频| 丁香九月激情| 国语精品av| 久久草大香蕉| 91欧美网| 曰韩欧美国产传媒麻豆第一区| 亚洲美女精品九九视频| www.天天干| 少妇高潮九九九九| 天天日老熟妇| 精品性爱| 夜夜久久| 韩国黄片aaaa| 韩国毛片一区二区三区| 欧美精品久久久久久久久88| 公司1区2区3区精产精| 中国亚洲呦女专区| 九九九国产| 天美传媒国产原创中文字幕亚洲欧美另类 | 国产久久天堂资源| 国产少妇与亚洲av| 久久永久无码人妻视频| 99re只有精品| 在线观看AV片| 中文字幕青青草| http://qxhbdz.com| 另类亚洲一区二区三区| 97精品综合久久网| 青青操狠狠撩| 久草这里只有精品 | 天天噜| 懂色AV中文| 久久无码电影| 四虎精品一区二区| 欧美第38页| 无码聚合| 欧美AB在线| 亚洲和欧美裸体美女双飞视频| 日本性爱少妇| 天美传媒AV在线播放| 99 国产丝袜在线| 国产尹人在线视频免费| 91人妻少妇| 9999九九九久久久| 99自拍视频在线观看| 在线日韩精品一区二区三区| 国产二区三区粉嫩在线| 天天天天天干夜夜夜夜夜操| 国产9区| 蜜桃丰满熟妇av无码区不卡| 五月婷婷综合在线| 中文字幕一区二区日韩网| 欧美少妇高潮视频| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 自拍视频大全亚洲专媒视频/一区二区三区| 国产一区二区a毛片| 欧美激情 一区| 狠插 制服 自拍| 综合久久欧美| 欧美gv在线观看| AV色女综合| 欧美 熟女 日韩| 中文字幕第页| 欧美,日韩,亚洲视频| 国产免费一区2区3区| 亚洲久久东京热一二三四五区视频| 国产女人高潮视频| 欧美自拍偷拍免费观看| TS人妖另类精品视频系列| 后入式999| 国产超碰在线一区| 色色亚洲| 亚洲一区二区三区欧美日韩| 日日干天天干夜夜爽| 性欧美999| 亚洲日韩少妇一道本视频| 亚洲国产欧美日韩人妻日中文| 欧美激情综合色综合啪啪五月| 91九色首页| 99re免费视频精品全部| 一二三区精品视频| WWW美腿丝袜香蕉中文| 一区二区首页| 中文字幕第页| 中文久久爆乳| 色官网色综合| 中文字幕日韩人妻视频| 久热一区二区| 久久精品28| 中文字幕欧美精品亚洲日韩蜜臀| 人人超碰在线观看黄| 欧美精品另类人妖xxxx| 五月天精品| 九九久久99| 人、人、摸,人、人、草| 亚洲中文字幕久久人妻| 久久这里只精品免费福利| 91肉丝| 日本男人天堂| 亚洲男人天堂手机版| 素人伊尹大香蕉免费下载视频| 青青伊人加勒比海| 91爱做| 97一区二区三区视频| 10000部十八禁看电影| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 亚洲天堂女优在线| 国模限制级电影| 97九色人妻| 91色碰| 吉川爱美98堂在线| 亚欧中文字幕在线视频| 一区二区三区蜜桃成人撸久久东京热 | 97爱碰| 男女香蕉一区二区| 日本国产二线女色| 亚洲春色欧美| 日韩精品一区二区人人人| 玖玖久久久| 国产精品第一页国产大屁股视频免费区| 欧美性爱一区二区三区| 天天肏视频| 日韩欧无码一区二区三区免费不卡 | 女人高潮抽搐喷水视频网站| 日韩午夜啪啪视频| 99热免费| 啊啊啊啊视频免费| 国产福利夜| 天天操人人操骚逼网站|