日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
爽爽淫人网| 久久婷婷色| 丁香五月天啪啪| 岛国小电影| 免费精品中文字幕| 久久9精品网站| 日韩无码第3页| 久久在线观看免费视频| 大香蕉手机在线视频| 超碰97精品| 一块操欧美| 久热大香蕉网站| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 2020中文字幕| 亚洲情色综合| 青青草在线视频人人想人人上 | 亚洲天堂7777| 香蕉大久久久| 国产激情综合五月久久| 亚洲第一视频 欧美风情 日韩| 欧美麻豆成人同性GⅤ在线| 久久有码| 成人短视频在线观看| 韩国嫰模上门援交视频| 91丨豆花丨熟女| 久偷拍| 天天插网| 330dv亚洲成年视频网| 日本大香蕉综合网| 97超碰色五月| 91精品无码人妻系列| 亚洲色图欧美色图在线播放| 久久久久成人蜜桃精品| 91露脸熟女专区| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚 | 福利操逼| 久久国产熟女影院| 日本幼女18+| 日本熟妇一区二区三区| 国产亚洲中文不卡二区| 91丝袜视频在线观看| 蜜色网色哟哟| 国产精品视频一区二区三区八戒| 久久久久久十| 天天色踪合| 男男H黄动漫啪啪无遮挡网站| 国产高清午夜成人在线观看| 一本色道久久综合精品婷婷| 在线观看午夜婷婷久久久久清性观看| 亚洲av影音先锋| 操逼免费视频无码国产| 精品一级毛片在线观看| 精品一区二区三区最新| 人人插人人摸人人| 一区二区三区一亚洲中文字幕、综合区灬 | 亚洲精品人妻在线| 人妖欧美一区二区| 夜夜爽爽爽| 偷拍 亚洲 欧美| 东京热男人的天堂网| 久久丁香久草综合网| 97免费视频网| 十八禁视频网站| 日韩成年人性爱视频| 农村妇女精品一区二区| 丰满人妻-区二区三区免费| 少妇综合| 男人天堂导航| 久久做97| 精品无码一区二区| 亚洲中文国际强奸字幕| 啊啊啊好想要| 国产精品69久久久久孕妇欧美| 丁香五月天啪啪| 中文久久| 午夜啊啊| 国产精品乱码久久久久久久| 久久嫩草国产成人一区| 日韩欧美国产高清视频| 亚洲阿v天堂无码z2018| 麻豆美女丝袜人妻中文| 国产精品午夜精品| 亚洲 中文 女同| 播播亚洲小说亚洲| 久久久久亚洲Av无码专区老牛影视| 精品无码久久久久| 黑丝少妇麻豆| 国产成人综合网| 级做a爱无码性色永久免费| 五十路成人在线视频二区三区| 久超碰在| 狠狠综合| 久热9| 另类亚洲一区二区三区| 大色网久久| 欧洲与亚洲欧美精品中文字幕| 四虎影院成年人片| 中文字幕精品日韩中文字幕| 国产视频人人网| 久操免费电影| 中文熟女五十乱码在线| 超碰97男人| 激情五月天网站| 国产精品久久久久久久黄无码| 国产深夜福利| 校园春色 欧美| 欧美性性性| av 模特一区了| 日韩紧密久久| 美女露胸露奶头| 97香蕉碰碰人妻国产欧美| 中文人妻av高清一区| 天天看天天日| 久久无码一区二区二三区性色| 久 久无码人妻AV| 欧美激情亚洲| 欧美高清91| 偷拍亚洲情色| 国产精品电| 操曰本熟女| 成人天天爽| 蘋果手機免費看成人Av| 人人操天天爽| 亚洲精品国产精品乱码不卡| 亚州欧美总和| 天欧美在线| 亚洲999综合| 1204金沙人妻懂旧版免费| 久久久久久久久久久久久久久乱码 | AV中文字幕三四五| 久久亚洲一区二区色婷婷| 欧美日韩精品久久久久东北老熟妇| 91爱欧美| 97在线/亚洲| 中文字幕丝袜| 欧美天天| 99老司机精品视频在线观看| www狠狠| 俺去俺来也在线www| 亚洲国产尤物yw在线观看| 久久伊人最新网址视频| 在线人成亚洲视频免费观看| 中文字幕精品区先锋资源| 国产精品69人妻无码久久久| 99热成人| 亚州色站 日韩电影| 国内97干免费看| 亚洲激情深爱文学小说网站| 欧美综合色,www| 中文字幕在线免费观看 | 天天影视综合色| 亚洲高清欧美总合| 欧美大波激情xxxx| 2021久久国产综合精品青草| 少妇一级婬片免费放一级a性色.| 亚洲精品 大香蕉| 91香蕉视频在线观看免费| 刺激性视频黄页| 97精品中文字幕| 久热这里| 国产AAAAAABBBBB| 日本色色视频网站| 综合久久99| 欧美在线色图| 国产av色网| 热99re69精品8在线播放| 亚洲国产综合视频| 婷婷激情五月综合| 久久超碰98| 日比av无码| 免费看片黄| 岛园激情| 99re在线视频| 欧美人与动性人交a| 男女激情黄色网址| 久久久熟妇熟女国产| 激情黄色片在线观看| 91足交| 国产日本久久免费精品| 欧美成人亚洲精品| 欧美偷拍| 国产精品午夜高潮呻吟久久av| 精品妇女一区二区三区| 国语精品av| 欧美日韩色综合网| 日本青青草在线| 日韩无码服务区| 懂色AV一区二区三区| 怡春苑东京热| 日韩欧美麻豆大片| 亚洲AV色图一区| 三男一女不戴套的A片| 久久这里只精品99re66图| 920日本午夜免费| 欧美久久久| 久久久久久久久久9| 亚洲成人福利电影免费| 日韩 欧美 校园一区| 91亚洲网站| 欧美性爱视频免费一区一A| 97大色网| 亚洲本色精品一区二区久久| 先锋精品av色鲁| 日韩精品人妻中文字幕不卡乱码| 无码精品久久久天天影视| 私色综合网| 天天躁日日躁狠狠狠躁| 六月婷婷综合| 亚洲色阁| 天天综合有色网| 国产精品 视频| 淫妻综合网| 2017天天插| 婷婷五月色| 色九九久九九| 五月婷婷六月天| 青青草依人大香蕉| 激情色播| 亚洲素人综合| 麻豆久久久一区二区| 日本 情色 1区2区3区| 999亚洲国产视频| 夜夜福利| 18禁的网站在线| 欧美三级一级| 超碰精品国产无码| 精品人妻一区二区乱码一区二区| 日本三级A片网站com| 欧美一二三区四五区| 欧美一二三级精品在线| 美女淫穴| 99久久久久久久久| 久久久日本电影| 久久黄色网址| 操逼啊啊啊91| 欧美草草| 116美女午夜| 国产无码三级视频在线观看| 一级黄碟在线观看| 熟女人妇一区二区三区| 97日亚洲欧美| 麻豆久久久久久久久丝袜 | 天天插天天舔舔天天干| 日韩激情毛片一级久久久| 欧美亚洲se91| 偷窥自拍亚洲天堂网爆| 凹凸视频在线一区二区| 精品人妻一区春色| 日韩av女优在线免费一区| 老司机天天操| 午夜超碰| 东京热不卡视频| 日韩精品一区二区三区色欲| 国产精品久久久无码aV去| 欧美男人亚洲天堂| 野狼激情网| 99视频这有这里有精品| 97人人夜| 精品十三区| 日韩成人网址| 久久久久亚洲三级电影| 国产白丝AV| 精品一区二区麻豆| 大香樵伊人网| 园内精品自拍视频在线播放| 中出20p| 九色 人妻 大香蕉| 粉嫩绯色AV一区二区在线| 欧美天天弄| 色阁阁AV综合网| 六月婷激情福利天堂69| 久久999久| 8x福利精品第一福利视频导航| 公司1区2区3区精产精| 欧美精品四区| 欧洲熟妇xxXx欧美老妇裸体| 乱伦熟女专区| 777超碰| 秋霞午夜视频一区二区| 啊啊啊啊嗯嗯嗯用力好爽| 370p日韩欧美亚洲精品| 国产精品一区二区手机看片| 蜜臀久久99精品久久久久久-DVD| 伊人9| 国产农村妇女精品1区二区| 欧美精品一区二区少妇免费A片 | 9+1视频网址| 久操com| 国产精品女aA片爽爽视频| 亚洲做性| 夜夜免费视频| 欧美一区二区三区成人性生活| 人妻加勒比东京热| 色婷婷综合网站| 国产精品久久久久中文字幕| 伦激情人妻另类人妻| 色香综合| 蜜臀网 一区| 国产伊人精品在线| 色噜噜狠狠色综无码久久| 久久欧美按摩999| 日本99热| 色婷婷99| 亚 欧 美 综合| 超碰在线人妻| 精品视频久久久久九九九九9999| 日韩中文字幕二区| 精品亚洲国产成人AV制服丝袜| 日本欧美一区二区三区免费| 熟女五十路一区二区三| 午夜AV人气不卡| 日日操免费视频| 九七超碰| 色综合一本| 久久精品| 亚洲欧洲综合成人av一区| 亚洲欧洲av影音| 欧美亚洲天堂| 搡老熟女免费视频 | 一区二区 韩日AV| 亚洲色综合| 色婷五月| 射丝袜高跟鞋99| 97大色网| 天天日美女的B| 成人精品视频| 久久精品国产97欧美精品亚洲 | 蜜桃在线观看一区二区三区 | 天美麻花大全视频| 亚州宗合另类| 东京成人一区| 97精品一二区| 五月丁香| 9久久9综合| 99热在线不卡| 青操影院| 人爽不卡视频| 人人操 欧美| 日本激情免费大片| 思思99热| 久久綜合很很很| 豆1无夜无码| 国产一区二区在线看| 超碰97久| 人人看人人插| 果冻国产精品麻豆成人av| 五月天婷婷基地| 日本天堂网| 亚洲大胆人体av| aV中文麻| 岛国黄片网站| 人、人、摸,人、人、草| 婷婷六月色| 嫩草 人人网精品| 日韩专区久久久| 美女t无毒不卡不卡| 毛片久久| 九九色色| 国产视频大全| 亚洲一区二区AV| 可以在线观看的黄色网址| 国产精品亚洲免费| 国产精品在线网站| 伊人天天久久动态图| 免费一级特黄特色大片在线观看看| 国产免费久久久久| 91肏屄网| 神马午夜久久| 熟女人妻一区二区三区| 欧美色图私拍91| 亚洲图片小说欧洲| 激情综合网五月婷婷五月天| 久都青青视频| 91综合熟女| 亚洲久久久久| 一本一道波多野毛片中文在线| 欧美成人黄网色网站| 91红杏| 人人操超碰在线| 影音先锋少妇| 伊人五月天青青草婷婷| 亚洲区 欧美区| 亚洲AV性爱电影| 国产精品久久久视频| 欧美,亚洲,日韩,v,天堂,手机在线观看| 中文久久| 精品久久久久,69国产成人精| 男人精品天堂一区| 亚洲高清无毛一区二区| 在线观看AV不卡| 五月天精品| 澳门特级毛片免费观看| 欧美日本视频一区| 国产树林里野战在线看| 精品人妻一区二区三区夜夜| 麻豆综合一区av| 中日无幕一二三四区| 97超级久久| 九九性爱网| 丝袜狂射91| 国产精品久久久久久照片| 手机不卡视频不卡在线一二三区 | 人妻丰满熟妇一区二区三| 欧美成人免费在线观看| 夜色五月天| 91中文字幕制服丝袜免费视频| 欧美麻豆成人同性GⅤ在线| 亚洲日本天堂| 少妇精品久久久八区九区| 黄页大片在线观看| 久草精品国产99| 中文字幕少妇色| 亚洲性爱成人| 爱爱动态试试看6 0秒| 欧美色网| 日日A∨| 色哟哟AⅤ| 日本日日色视频| 国产JDAV无码视频在线观看| 啊啊啊啊啊啊好湿好爽视频| 台湾一区国产高清在线| 熟女一区二区三区| 影音先锋乱| 一本一道久久综合久久| 青草视频在线看看看看看看看看看| 97鸡把在线视频| 人妻AV 中文字幕的| 亚州91| 激情一区二区三区在线观看| 久久透逼视频| 热热热热日日漂亮永久永久国产日| 国产日韩欧美中文在线播放| 亚州国产成人精品女人久久| 91粉嫩萝控精品福利网站_精品影音先锋国 | 国产熟女精品区| 久久天天性久久伊人| 无码动漫av中文字幕| 东北女人的毛片| 日韩国产成人自拍视频| 99操逼| 日本在线一二| 中文字幕日韩人妻视频一区二区三区| 性生活性生大爱77AV国产| 一区二区三区精品黑丝白丝酒店对鸡 | 日韩成年人性爱视频| 欧美狠狠弄| 国产成人无码高清| 操国产逼| 少妇的嫩逼图片| 亚洲日韩视频二区| 60秒免费小视频| 色官网在线| 97超碰影音| 亚洲人在线成线成人| 插穴性爱视频在线观看| 肥臀熟女一区二区三区视频| av情色影音| 色婷婷五月综合激情中文字幕| 91操操操操| 日韩人人精品| 欧美一区二区传媒| 国产精品一区二区黄片| 欧美日韩黄片精品在线| 爱爱啊啊啊| 99福利社| 和协影院中文字幕三区| 色一射色一射| 亚洲熟女乱色一区二区三区| 青青草好吊色| 一本大道青青| 国产精品久久久999| 日日碰狠狠添天天爽超| 国内精品久久人妻性色av| 色婷婷淫色网| 欧美情色男人的天堂| 五月婷婷六月天| 眼镜人妻101.com| 久久69| 亚洲丰满很很操| 久久久9品一区二区三区| 国产免费一区在线观看| 国语国产操逼伊人AV网| 亚洲国产91精品一区二区久久| 91丝袜人妻| 欧美九一精品久久久熟妇| 啊啊啊在线观看免费视频| 美女露胸露奶头| 九九热免费视频| 亚洲精品乱码久久久久久蜜桃麻豆 | 麻豆三极片| 色综合91好| 91超碰丝袜制服| 日本韩欧美在线播放a| 欧美综合91| 久区视频| 精品黄色电影| 国产精品精品系列在线观看| 精品国产乱码久久久久久蜜臀| 黑人精品欧美一区二区蜜桃| 久久久久久久久女黄| 久久久精| 国产嫩草精品A88AV| 激情另类激情| 少妇第一页| 加勒比伊人综合| 97精品国产手机| 大香蕉一人在线| 97超碰逼| 美女91av| 精品十八在线观看| 色综合中文字幕不卡| 九九九网页| 99自拍B亚洲| 天天天堂影视日韩亚洲91| 中文字幕视频在线观看一区二区| 国产精品久久久视频| 人人做天天爱| 艹精品| 超清福利精品视频在线| 免费啪啪av| www国产天美久久久| 国产精品久久久久久久久AV大片| 五月色网| 97人妻色| 熟女AV一区| 国产高清在线自在拍69| 久久久熟女一区| 国产成人无码高清| 国产精品色| 天天操天天射青青草| 淫色网综合| 成人一区二区三区四区| 日韩97超碰| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 600国产精品视频| 久久国产逼| 日韩不卡毛片Av免费高清| 超碰碰碰碰| 国产a级精品| 青青操97| daxiangjiao你懂的| 欧美九九九九九| 人人操 欧美| 国产女人91精品嗷嗷嗷嗷| 精品少妇一区二区三区免费观看| 天天综合有色网| 天天天肏屄欧美| 99久在线精品99re8| 亚洲精品99999| 涩涩这里只有精品视频| 色色五月婷| 老师充足的奶水小说| 无码精品啪啪啪一区二区三区三州| 精品无码少妇| 亚洲天堂7777| 日本三级小说中文字幕| 91热色| 欧美精品庄| 制度丝袜99| 丝袜AV一二三区| 男人精品天堂一区| 色在线视频导航| 国产吞精a级片激情电影| 91最新综合| 欧美日韩人妻精品系列一区二区三区| 一级片在线观看高清无码| 丁香五月偷拍| 极品色电影院| 欧美亚洲国产91在线| 91久久婷婷| 91在线美女| 97色操| 免费的很黄很污的全部视频| 一区二区你上我| 欧美激情亚洲情色| 国产精品毛片?v一区二区三区| 六九九九| 亚洲一区二区av| 国产一区二区欧美日本| 九一精品牛牛一区二区| av毛片aaaaa免费看| 99精品在线观看| 91精品婷婷国产综合久久| 欧美偷拍区| 厕所偷拍在线| 日逼97| 天美麻花大全视频| 好爽要喷了| 亚洲国产ⅴ高清在线观看| 久久久久久大| 日韩欧美性吧婷婷乱伦大香蕉 | 任你干在线视频| 啊啊啊免费视频| 日韩少妇一区二区三区| 呦女网站| 欧美一级黄片免费播放| 国模久久在线| 欧美综合区| 国产风韵犹存熟妇三区| 亚洲最大AV网| 超碰偷拍| 另类小说五月天| 亚州欧美在线| 色官网在线| 香港久久久| 91九色精品熟女内射| 欧美91网| 免费毛片在线播放| 国产白丝AV| 丰满人妻一区二区三区在线| 玖玖爱在线视频免费观看| 熟女色图在线| 久久九九视频九九视频| 超碰社区97| 五月婷视频| 91天天综合| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 夜草欧美| 亚洲综合中文字幕有码| 精彩久久中文| 狠狠色综合网| 亚州成人a∨| 日韩97P| 性开放中文AV高清无码免费看| 91美女高潮| 亚洲欧美精品一区天堂久久 | 丁香六月婷婷久久综合| 加勒比久久av| 国产欧美一区激情交| AV中亚| a人欧美综合天堂麻豆| 成人八戒网站| 九热久| 99无码精品| 五月丁香六月综合缴清无码 | av无码av无码专区| 久久在肏| 欧美夜色| 国产精品一二三免费网站| 欧美日韩亚洲天堂| 白丝jkav| 国产99热| 日韩免费a级毛片无码a∨| 欧美色图 人妻| 五月丁香啪| 黑人美精品 A片| 国产sv美女内射| 俄罗斯一区二区视频在线观看| 人妻精品一区一区三区蜜桃91| 色婷婷丁香五月| 人人操人人摸人人看人人插| 久久九九热| 国产欧美美女免费观看视频| 欧美日韩国产黄色片| 天天综合青苹果| 伊人伊人LD| 亚洲欧美精品一区天堂久久| 成人a大片在线观看| 蜜臀久久99精品久久久久| 大香蕉琪琪日本女优不卡| 多毛小伙内射老太婆| 蜜臀久久99精品久久久电影| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 国产毛片片精品天天看视频| 96AV久久久| 色哟哟511老熟女| 91国产丝袜白虎| 91男人天堂网| 久久綜合很很很| 亚洲精品一区中文字幕乱码| 五月天黄色激情视频| 超碰免费人妻人人| 特色a在线上| 久9久9久9久9久9久9| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 色天堂综合| 美女人妻色网站| 四虎影院成年人片| 人人操人人操草草| 超碰成人公开| 大香蕉中文201| 国产精品97超碰| 99热免费精品| 在线 亚洲 网爆 自拍| 五月激情综合网| 久久久久久国产精品免费网站| 无码久久亚洲高清,| 亚洲另类春色| 中文字幕欧美丝袜07资源| 亚洲综合嫩| 亚洲九九视频| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 嫩草 人人网精品| 区日韩亚洲乱码av电影| 久久久影院| 麻豆精品久久久久久久| 啊啊啊啊一区| 六六久久日韩不卡| 老女人爆菊| 小草精彩毛片| 特级大荫道BBwBBwBBW| 91亚洲青青草原精品1区| 高清不卡视频| 大香蕉在线免| 天美传媒av一区二区| 久久精品高清无码一区| 日韩电影免费网站麻豆视频| 美女t无毒不卡不卡| 啊啊啊好大好深| 本道在线| 台湾佬中文娱乐网久久久久久久久久com | 老女人老91妇女老热女| 麻豆九九九| 日韩欧美字幕亚洲一区二区| 亚乱色| 嗯啊视频免费在线观看| 色狠狠 - 百度| 女人被添高潮免费视频| 屌逼麻豆| 日韩无码AB| 天天综合欧美黑人| 中文字幕丰满人妻日本| www.伪伪| 婷婷天堂站| 精品国产99| 国产免费一区| 热热色中文无码| 1769一区| 大香蕉520| 好湿好紧好爽 视频| 熟妇艹鸡八| 亚洲男人天堂网站| 操逼视频国产无套| 激情婷婷五月天| 91精品人妻一区二区三区蜜桃臀| 久久久久久中文| 中文乱码字幕观看| 秋霞一集毛片观看| 熟女精品va中文字幕| 91国产精品在线看| 亚州九九九精品视频| 综合色一区三区二区| 丰满人妻无码一区二区三区| 久久黄色网址| 丝袜美腿射精91| 精品人妻中文字幕高清| 久久鲁干| 日韩不卡码| 久热最新在线杭州| 啪一啪免费视频| 久久久影院| 97硬碰| 久久久久女教师免费一区| 高清国产无码av| 天天干美少妇一区| 欧美最大综合网| se吧提供国产乱老熟视频胖女人| 十八禁视频网站| 欧美综合 站| 国产免费黄色一级大片| 欧美精品成人在线播放| 曰本精品久久久| 日韩有码中文字幕女同性恋 | 欧美亚洲日韩人妻在线观看| 国产乱码精品久久久久久| 久久在线观看免费视频| 一级黄色影片| 丝袜 亚洲 偷拍| 蜜臀th| 9久精品| 天天操av懂色| 清纯唯美激情| 99久久综合| 免费看国产大AB| 亚洲成人免费中文字幕| 啊啊啊啊啊在线观看网址 | 国产精品91一样| 婷婷色香伊人| 婷婷天堂站| 婷婷丁香人妻| 九久9精品| 狠狠图片青青草| 国内偷自视频区视频综合| 熟女在线视频| 日韩熟女操逼| 久9久| 人妻干天天| 伊人97色天使| 国产精品久久久久久高清无码免费看 | 欧美熟女逼久久久久久| 大香网站| 欧美青青草视频| 一块操欧美性爱| 校园春色 亚洲| 人妻嗯啊啊在线播放| 久热伊人| 无码一区二区三区四区五区六区七区八区九区十区视频 | 日韩精品人妻中文字有码在线| 无码精品久久| 亚洲日韩久久精品一区| 精品久久久久久无码| 伊人991| 国产欧美岛国精品一区| 久久久亚洲熟妇资源| 手机看片1024你懂的国产| 日日骚 av| α√在线| 超碰在线日韩一区| 性感女人网页在线观看视频| 九九综合九九综合| 久久夜夜夜| 亚洲高清无码在线桃色| 中文有码9| 免费观看有码高清视频| 在线观看亚洲成人精品| 蜜屁Av| 超碰人妻在线| 淫荡网址| 中文一区在线日| 久久久国产成人一区二区三区在线| 欧洲综合色| 久久a久久| 尹人免费观看视频在线| 尤物视频网 刘玥| 美国aaaaa一级黄片| 国产真实野战在线视频| 综合亚洲网| 97色97好| 日本123区操B视频| 边做饭边操逼逼| 91爱欧美| 久久久久国产亚洲一区欧美色图日韩 | 蜜色网色哟哟| 8050无码八戒| 久久久久九九九| 丝袜色综合| 97超碰jingpin| 首页中文字幕中文字幕免费| 久久97视频| 亚洲精品一卡二卡三卡福利视频网站| 国产成人久久久精品免费AV| 91久久久久久久久18| 日本不卡二三区| 人人摸人人添人人操| 午夜舔阴达高潮视频免费看| 久久精品中文字幕女同| 少妇被玩视频二三区| 日韩精品黄片免费观看| 亚洲精品一区二区精华| 色哟哟AV| 91丝袜在线视频| 91久久久久免| 操逼逼无码| 日韩无码操逼片| 天天综合亚洲综合| 青青青草原| 色香伊人| 日本97久久久精品| 欧美日韩性感| 91天堂色男人的天堂| 中文字幕五月婷婷免费| 九热久| 国产后入式在线观看| 91精品成人| 久久9亚洲| 日本熟女中文| 天天干天天狼在线视频| 囯戸精品高潮呻吟旡码| 少妇久久久| 欧美高清16| 亚州欧美在线| 超碰69| 亚洲综合情色| 日本精品免费一区二区三区四区| 97国产色综合| 五月婷婷五月天| 成人性爱电影一区二区| 国产精品久久久久久久无码AV| 日韩精品人妻一区二区| 青青草色情网站视频| 情色五月天久久久| 久久久婷婷| 五月天伊人| 九九色综合| 岛国精品视频在线观看| 天堂无码精品国产久| 岛国A V在线免费看| 免费家庭乱伦视频| 啪啪综合网| 84YTCOM性无码| 东京热男人的天堂| 夜夜草我| 国产无码精品无码| 亚洲国产成人精品999| 日韩欧美性吧婷婷乱伦大香蕉| 操逼网站网站| 亚洲精品自拍| 午夜超爽| 亚洲熟女性高潮久久久| 无色无码| 亚洲最大AV网| 亚洲精品99| 超踫中文字幕| 亚洲不卡不卡中文字幕不卡 | 亚洲有码 视频一区| 天天干少妇| 四虎影库国产精品免费| 久久久久免费少妇| 久久国产视频专区一二三| 国产精品肉丝自拍| 欧洲亚洲人妻无码中字久久三区四区| www.99热在线只有精品| 亭亭在线资源| 亚洲骚男同com| 999精品乱码| 中文一区二区三区影院| 亚洲国产91精品一区二区久久| 老司机福利青青草| 中文精品一区二去| 婷婷综合网| 中文字幕大片三级狠狠干| 吉田爱美AV在线| 97一区二区三区视频| 一卡二卡在线播放| 99re视频这里只有精品| 国产不良强奸视频免费看| 成全在线观看免费观看| 丁香五月性爱| 真实高潮91| 蜜桃臀久久| 精品97久久| 久久国产性爱| 亚洲阿v天堂无码z2018| 国产欧美一区激情交| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 日韩无码AB| 大香蕉伊人75| 国内亚洲高清无码| 日韩去日本高清在| 黑丝内射一区二区三区| 中文字幕人乱码中文字的预防方法| 91九色丰满高潮| 99热在线只有精品| 国产二区三区粉嫩在线| 日日日大屁股骚女人精品| 丝袜综合网| 一区二区乱码福利| 蜜桃av综合网发布| 另类亚洲图色| 天天躁夜夜躁狠狠躁AV| 襙一襙| 婷婷深爱五月| 色天堂综合| 欧美性色欧美| 国产综合网站在线播放| 狠狠狠狠狠狠| 在线情色电影 91大 | 四色永久成人网站| 精品999日本| 久久粉色| 九九性爱网| 丁香六月综合激情| 狠狠干妹子| 中文字幕,人妻,日韩| 99精品久久| 公司1区2区3区精产精| 另类图片欧美激情综合| 在线 制服丝袜中出 人妻| 久久色一区二区| 欧美欧美啪啪视频| 国产亚洲禁久一区二区| 青娱乐大香蕉| 亚洲欧美国产va在线播放频| 日本精品成人无码| 天天躁狠狠躁av| 国产精品4p在线观看| 国产熟女少妇一区| 亚州精品人妻一二三区| 日韩在线观看字幕精品| 久久夜夜夜| 强奸乱伦AV一天堂网| 91久久精品国产| 亚洲欧美综合图片| 免费观看啪视频| 少妇第一页| 免费亚洲黄色视频在线观看 | 五月丁香狠狠爱| 91熟女.com| 青青操综合网| 97欧美精品综合| 东京热双插| 激情综合五月天| 蜜桃传媒视频第一区入口在线看| 亚欧视频在线| 蜜臀久久在线视频| 啪啪啪东京| 婷婷丁香六月| 久久中文字幕在线观看| 五月丁香网站| 四虎AV在线播放| 可以免费观看的AV| 亚洲国产97在线精品一区| 亚洲国产成人高清在线| 69人妻精品丰满熟女区| 高清一区AV无码| 在线免费试看60秒| 亚洲精品天堂久久A∨51成人漫| 97色色,97综合| 天天谢天天干| 91女优在线观看| 日韩性爱视频免费在线| 欧美亚洲国产日本在线,久久精品国产| 亚洲一区二区三区不卡国产欧美| 大香蕉欧美伊| 日本高清_区二区三区 | 偷拍超碰| 在线国产福利网址导航| 亚洲日韩熟女人妻高清在线| 强奸乱伦av电影| 强乱老妇中文字幕| 五月天激情小说| 天天上日日上日韩精品| 人妻美腿丝袜制服诱惑综合天堂-| 欧美一级美片在线观看免费| 色色色色色色色色色色色色色色综合 | 一区二区三区蜜桃成人撸久久东京热| 日本熟女不卡视频| 综合网97| 天美精品av| 免费精品无码一级毛片牛牛影视 | 丝袜美腿诱惑亚洲欧美视频在线观看| 一二三区精品视频| 欧美激情超碰777| 青草青草久热| 久久精品超碰| 中 文字幕一区二区三四 五 区日 日 骚| 亚洲无码超碰免费| 精品久久久久成人码免| 俺去久久| 日本三级一区二区 在线| 大香网伊人久久综合网eew| a网站免费观看| 亚洲高清视频在线免费观看| 一区二区不卡| 亚洲综合激情五月久久| 日韩有码 一区二区三区| 亚洲无限观看| 色婷婷五月天| 日本成人A片免费看| 亚洲精品欧洲色| 九月AV| 欧美性爱五月天| 热无码中文亚洲H一道本一区二区| 国产中文字幕在线观看| 国产婷婷一区| 久久精品国产亚洲AV高级北京| 欧美日韩在线小说 | 少妇干B| 高清国产精品福利网站| 久久精品成人一区二区三区蜜臀| 日本久久久久久久久| 樱花蜜乳av| 婷婷五月天激情四射| 午夜精品人妻二区三区| 四虎AV无码| 亚洲无码免费看| 国产 日韩,欧美 自拍| 黄页网站成人免费| 欧色性第一页| 18一区二区三区| 五月丁香社区婷婷日韩欧美精品影院 | caopeng97人妻| 欧苏综合色综合| 免费A V在线| 亚洲精品xxx| 国产精品久久| 91老司机视频| 亚洲熟女少妇免费视频| 亚洲日产专区婷婷| 国产大片精久久久久久| 十八禁啪啦拍视频无遮挡| 日韩性爱毛片操骚逼| AVE乱伦| 亚洲色人| 激情欧美97| 国产91丝袜在线播放蜜月| 久久日本熟妇熟色高清 | 女人高潮抽搐喷水视频网站| 97人人夜夜精品视频| 中文字幕av亚洲精品| 1240青青草一区二区三区视频天爱| 九九九偷拍| 欧美日本视频一区| 欧美情色贴图| 青青草色情网站视频| 国产视频一区二区三区久久亚洲天堂| 免费A V在线| 爱做久久久久久| 亚洲精品毛片在线观看| 久久透逼视频| 午夜福利1区2区3区| 欧美色图自拍| av东京热男人的天堂| 午夜呻吟欧美| 97色色婷婷| 色色色热| 岛国成人av在线播放网址| 亚洲本色精品一区二区久久| 国产精品丝袜在线| 熟女少妇视频| 男人天堂东京热| 精品91日日夜夜超清资源| 欧美色图综合网| 91n处女在线观看| BBBBB97COM| 69精品| 国产又粗又大硬免费色网视频| 久久久久国产精品久久久| 啊啊啊啊啊啊啊啊在线观看| 国产99999| 亚洲国产美女久久久久| 欧美综合国产精品久久丁香| 日本三级A片网站com| 国产色综合亚洲色综合吹潮| 久久久久久电影| 国产一区二区av综合| 五月丁香啪啪网| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 亚洲AV无码乱码| 国产无码久久高清| 中文字幕日产av人| 精品一区二区三区国产| 人妻性爱一区二区| 国产精品女生av| 黄网色一区二区三区四区精品| 在线中文字幕极品av| 久久久免费一级黄片| 欧美色五月| 91在线美女| 韩日精品福利视频一区不卡在线免| 久久久久久久综合,国产| 视频在线观看青青99国产| 一区二区三区高清| 日本熟女不卡视频| 国产AV激情无码久久无码| 国产超碰人人操| 久久极品伊人| 97天天弄| 综合网少妇| 中文字幕在线免费观看2| 亚洲欧美综合区自拍另类| 无码一区二区精品视频久久久春药| 久久无码电影| 亚洲欧美激情另类色图| 日韩精品9999| 亚洲天天天| 欧美日韩黄片精品在线| 亚洲欧综合另类无码一区| 亚州色图第三区| 亚洲色图 图片|