日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stm32-Hardfault及内存溢出的查找方法

發布時間:2024/3/13 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stm32-Hardfault及内存溢出的查找方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

STM32內存結構

1.要點
1.1 兩種存儲類型: RAM 和 Flash
RAM可讀可寫,在STM32的內存結構上,RAM地址段分布[0x2000_0000, 0x2000_0000 + RAM size)
Flash只讀,在STM32的內存結構上,Flash地址段[0x0800_0000, 0x2000_0000)
1.2 六類存儲數據段: .data/.bss/.text/.constdata/heap/stack
.data數據段: 用來存放初始化了但不是初始化為0的全局變量(global)和靜態變量(static)。它是可讀可寫的
.bss(Block Started by Symbol)數據段: 用于存放沒有初始化或初始化為0的全局變量和靜態變量,可讀可寫,如果沒有初始化, 系統會將變量初始化為0.
.text代碼段: 用來放程序代碼(code), 在代碼編譯完成后, 長久只讀存放于此.
.constdata只讀常量數據段: const限定的數據類型存放與此,只讀.
heap堆區: 通常只我們說的動態內存分配,使用內存分配器(memory allocator)管理, malloc/free進行申請和釋放
stack棧區: 在代碼執行時用來保存函數的局部變量和參數。其操作方式類似于數據結構中的棧,是一種“后進先出”(Last In First Out,LIFO)的數據結構。這意味著最后放到棧上的數據,將會是第一個從棧上移走的數據,對于哪些暫時存儲的信息,和不需要長時間保存的信息來說,LIFO這種數據結構非常理想。在調用函數或過程后,系統通常會清除棧上保存的局部變量、函數調用信息及其它信息。棧的頂部通常在可讀寫的RAM區的最后,其地址空間通常“向下減少”,即當棧上保存的數據越多,棧的地址就越小。

1.3 三種存儲屬性區: RO/RW/ZI
RO (Read Only ): 只讀區域, 需要長久保存,燒寫到Rom/Flash段,上文數據段的.text段和.constdata段屬于此屬性區(有時.constdata 段也被叫做 RO-data段, 和這個廣義的RO注意區分)
RW (Read Write): 可讀可寫的初始化了的全局變量和靜態變量段,上文中的.data段屬于RW區
ZI (Zero Init): 沒有進行初始化或者初始化為0,系統上電時會主動把此區域數據進行0初始化,上文的.bss段就是. 另外, 可翻看Keil工具編譯的map文件,Heap和Stack區也進行了Zero的屬性標注, 因此, Heap和Stack也可認為是ZI區域
RW區比較特別, 可讀可寫但又進行了初始化,因為RAM中的數據是掉電不可保存的,因此RW區的.data段數據也需要保存在Rom/Flash里面,上電時候再將此類數據復制到RAM區域讀寫使用。而ZI區域數據不需要掉電保存,直接上電時初始化為0即可使用,因此不需要保存在ROM中。這樣,計算RAM/ROM占用空間的公式:

ROM Size = .text + .constdata + .data (RO + RW)
RAM Size = .bss + .data (ZI + RW)

這里RAM size計算時未考慮Stack和Heap區, 實際size是大于此的, 因為這兩個區域具備動態變化的復雜性,難于估計。

定義一個全局數組變量舉例:

1. static unsigned char test[1024]; ?//全局、未初始化, ZI區,不影響ROM size
2. static unsigned char test[1024] = {0}; ?//全局、初始化為0, ZI區,不影響ROM size
3. static unsigned char test[1024] = {1}; ?//全局、初始化為非0, RW(.data)區,ROM Size 擴大
1.4 擴展說說Heap
在STM32的啟動代碼startup_*.s文件中,一般這樣定義了堆大小:

Heap_Size ? ? ?EQU ? ? 0x200;

在實際使用中, 這個區域可能比1.2節提到的簡潔描述更為復雜。

很多小項目沒有使用內存分配器: 由于各種原因(RAM不足、程序簡單、etc),一些所必須的大塊或固定內存直接使用數組的方式定義使用,繞開了內存分配器。那么這個時候, Heap_Size 的存在是沒有意義的, Heap_Size 定義越大,越浪費空間,可以直接Heap_Size定義為0。這個時候, 本來該堆區提供的空間可能定義在了.bss段(全局/靜態數組沒有初始化)、或.data(全局/靜態數據初始化為非0)、或Stack上(使用了局部數組變量, Tips: 但大的數組不建議定義在stack, 否則可能棧溢出)
重新實現內存分配器:沒有直接將內存分配器直接映射在堆區,而是先定義大的數組內存(可能在.bss或.data, 為避免在ROM存儲, 最好在.bss), 再將這塊內存給內存分配器支配使用
內存分配器直接使用Heap區: 這個時候就要計算好預留多少空間給Stack區, 留多了,Stack用不上浪費;留少了極可能造成Stack溢出而程序崩潰
除了使用自帶RAM外,同時使用外部擴展RAM: 這就需要內存分配器來管理好幾塊地址不連續的RAM空間了

Stm32的keil編譯連接如上圖所示。

編譯信息包含以下幾個部分:
? ? 1)Code: 代碼段,存放程序的代碼部分
? ? 2)RO-data:只讀數據段, 存放程序中定義的常量;
? ? 3)RW-data: 讀寫數據段,存放初始化為非0值的全局變量
? ? 4)ZI-data: 零數據段,存放未初始化的全局變量及初始化為0的變量;

編譯完工程會生成一個. map 的文件,該文件說明了各個函數占用的尺寸和地址,在文件的最后幾行也說明了上面幾個字段的關系:

Total RO ?Size (Code + RO Data) ? ? ? ? ? ? ? ?46052 ( ?44.97kB)
Total RW ?Size (RW Data + ZI Data) ? ? ? ? ? ? 36552 ( ?35.70kB)
Total ROM Size (Code + RO Data + RW Data) ? ? ?46212 ( ?45.13kB)
? ? 1)RO Size 包含了 Code 及 RO-data,表示程序占用Flash空間的大小
? ? 2)RW Size 包含了RW-data及ZI-data,表示運行時占用的RAM的大小
? ? 3)ROM Size 包含了Code, RO Data以及RW Data, 表示燒寫程序所占用的Flash空間的大小

STM32中程序占用內存容量
Keil MDK下Code, RO-data,RW-data,ZI-data這幾個段:

Code存儲程序代碼。
RO-data存儲const常量和指令。
RW-data存儲初始化值不為0的全局變量。
ZI-data存儲未初始化的全局變量或初始化值為0的全局變量。
占用的Flash=Code + RO Data + RW Data;

運行消耗的最大RAM= RW-data+ZI-data;

這個是MDK編譯之后能夠得到的每個段的大小,例如下圖Program Size 中的Code R0 RW ZI

可以計算出占用的FLASH = 34456+456+172=34.26kB,占用的RAM=172+18908=18.63kB

那么堆棧是如何分配的呢,堆棧的內存占用就是在上面RAM分配給RW-data+ZI-data之后的地址開始分配。

堆:編譯器調用動態內存分配的內存區域。

棧:程序運行的時候局部變量的地方,先進后出,這種結構適合程序調用,所以局部變量用數組太大了都有可能造成棧溢出

堆棧溢出容易導致HaltFault。

堆棧大小的設置在啟動文件start_stmf103xb.s中(以STM32F103為例):

全局變量被未知原因改變的解決方法

在開發的過程中總會碰到一些奇怪的問題,仿真的時候一看,發現是某個全局變量被莫名其妙改變了,導致整個函數判斷都出了問題。
全局變量可能會被改變的原因有以下幾點:

1.自己改的(廢話~):好好查看這個變量被誰調用了

2.全局變量字節未對齊:
有一次調試的時候發現一個變量定義成局部變量就能正常運行,而定義成全局變量就不能運行了。局部變量能運行說明我程序的邏輯是沒問題的,找原因的時候一看是我全局變量經常會莫名其妙被改變。找了一圈發現這個變量根本沒被其他函數使用。
后面通過仿真,得到該變量的地址(假設為0x1002)。地址除以4之后發現不是一個整數,這才發現是這個變量字節未4字節對齊導致的。至于為什么不對齊,我也不知道!
解決方法:使用 attribute((aligned(4))) 修飾,使其4字節對齊,就完美解決了。

3.指針未初始化:
假如你定義的變量是指針類型的話,沒有給他初始化則會導致該指針是個野指針,里面的值是不確定的。

總之開發的過程中,少用全局變量,要用的話盡量用結構體,做好分層,提高代碼的可閱讀性和移植性。

stm32-hardfault產生的原因分析

其實野指針,數組越界,堆棧溢出等等,都是由于觸發了總線異常、存儲器管理異常、使用異常中的一個或多個,才觸發了hardfault。

1.內存的溢出,包括堆棧的溢出。
其 中 單 片 機 內 存 和 堆 棧 的 關 系 , 可 以 參 考
http://blog.csdn.net/c12345423/article/details/53004747
2.越界訪問。
這常指數組的使用,具體來說,訪問只有5個元素的數組的第6個元素時,就出
現了越界訪問。而這一錯誤,常常出現于數組作為函數參數傳入時,由于只傳入
指針,而函數中不確定指針訪問的平移量,就可能出現越界訪問的錯誤。值得注
意的是,C語言并沒有越界訪問的編譯查詢,也就是說,在編譯時不會檢測是否
存在越界訪問。
3.錯誤使用flash造成的異常錯誤。
一是由于在使用flash存儲數據時,其存儲空間有可能和代碼區重疊;二是由于
自身需求,需要轉換指向flash的指針的指向類型,如轉換成float*,使指針在
flash上以4個單位的間隔移動,但是由于flash是分區的,如果區首地址和被轉
換指針之間的間隔不是4的倍數也會出現錯誤。
4.這一年大家都是自己畫PCB,自己寫程序,有時候會發現PCB的焊接也會造成
HardFault,并且這種錯誤從程序開始就會存在。
5.野指針尋址,除以0(也可能得出inf而不會產生錯誤)等常見C語法錯誤。

?

Kinetis MCU 采用 Cortex-M4 的內核,該內核的 Fault 異??梢圆东@非法的內存訪問和非法的編程行為。Fault異常能夠檢測到以下幾類非法行為:
  總線 Fault: 在取址、數據讀/寫、取中斷變量、進入/退出中斷時寄存器堆棧操作(入棧/出棧)時檢測到內存訪問錯誤。
  存儲器管理 Fault: 檢測到內存訪問違反了內存保護單元(MPU, MemoryProtection Unit)定義的區域。
  用法 Fault: 檢測到未定義的指令異常,未對其的多重加載/存儲內存訪問。如果使能相應控制位,還可以檢測出除數為零以及其他未對齊的內存訪問。
  硬 Fault: 如果上述的總線 Fault、存儲器管理 Fault、用法 Fault 的處理程序不能被執行(例如禁能了總線 Fault、存儲器管理Fault、用法Fault 的異?;蛘咴谶@些異常處理程序中又出現了新的Fault)則觸發硬Fault。

為了解釋所述的 Fault 中斷處理程序的原理,這里重述一下當系統產生異常時 MCU 的處理過程:
  1. 有一個壓棧的過程,若產生異常時使用 PSP(進程棧指針),就壓入到 PSP 中,若產生異常時使用MSP(主棧指針),就壓入MSP 中。
  2. 會根據處理器的模式和使用的堆棧,設置 LR 的值(當然設置完的LR 的值再壓棧)。
  3. 異常保存,硬件自動把 8 個寄存器的值壓入堆棧(8 個寄存器依次為 xPSR、PC、LR、R12以及 R3~R0)。如果異常發生時,當前的代碼正在使用PSP,則上面8 個寄存器壓入PSP; 否則就壓入MSP。

  當系統產生異常時,我們需要兩個關鍵寄存器值,一個是 PC ,一個是 LR (鏈接寄存器),通過 LR找到相應的堆棧,再通過堆棧找到觸發異常的PC 值。將產生異常時壓入棧的 PC 值取出,并與反匯編的代碼對比就能得到哪條指令產生了異常。這里解釋一下關于 LR 寄存器的工作原理。如上所述,當 Cortex-M4 處理器接受了一個異常后,寄存器組中的一些寄存器值會被自動壓入當前??臻g里,這其中就包括鏈接寄存器(LR )。這時的 LR 會被更新為異常返回時需要使用的特殊值(EXC_RETURN)。
  關于EXC_RETURN 的定義如下,其為 32 位數值,高 28 位置 1,第 0 位到第三位則提供了異常返回機制所需的信息,如下表所示。可見其中第 2 位標示著進入異常前使用的棧是 MSP還是PSP。在異常處理過程結束時,MCU 需要根據該值來分配 SP 的值。這也是本方法中用來判斷所使用堆棧的原理,其實現方法可以從后面_init_hardfault_isr 中看到。

?另外,我們可以利用 MQX 的控制臺串口輸出Fault 異常信息來幫助調試。編寫Fault 處理程序時,將啟動代碼中默認的Fault 處理程序跟換成自己需要的Fault 處理程序。需要注意的是,由于是在中斷中進行打印輸出,MQX的控制臺串口只能使用POLL 輪詢模式的驅動,不能使用中斷模式的驅動。
  用戶可以編寫自定義的硬 Fault 處理程序_int_hardfault_isr,修改 MQX 的中斷向量定義vector.c,把里面的DEFAULT_VECTOR 代碼段換成下面的代碼。當系統出現硬Fault 異常時,將會調用自定義的Fault 處理_int_hardfault_isr函數。在這個函數,我們可以通過StackTrace-back 回溯出現問題的代碼。

我們可以在_int_hardfault_isr 函數里將出現異常時的寄存器、堆棧、狀態寄存器等信息打印出來。如果系統出現異常時,一般情況都會通過串口控制臺打印出LR,PC的值。然后根據編譯器生成的map 文件,找到出現問題的具體函數。

?

從上圖的串口輸出我們可以看到 PC 和 LR 寄存器值,PC 的值為 0x56c6,我們根據匯編代碼可以找到出現問題的指令。從而大大縮小了查找出現問題的范圍,可以幫助開發人員快速定位問題的根本原因。

  附錄Fault異常中斷處理代碼:

// hard fault handler in C, // with stack frame location as input parameter void hard_fault_handler_c (unsigned int * hardfault_args) {unsigned int stacked_r0;unsigned int stacked_r1;unsigned int stacked_r2;unsigned int stacked_r3;unsigned int stacked_r12;unsigned int stacked_lr;unsigned int stacked_pc;unsigned int stacked_psr;stacked_r0 = ((unsigned long)hardfault_args[0]);stacked_r1 = ((unsigned long)hardfault_args[1]);stacked_r2 = ((unsigned long)hardfault_args[2]);stacked_r3 = ((unsigned long)hardfault_args[3]);stacked_r12 = ((unsigned long)hardfault_args[4]);stacked_lr = ((unsigned long)hardfault_args[5]);stacked_pc = ((unsigned long)hardfault_args[6]);stacked_psr = ((unsigned long) hardfault_args[7]);printf ("\n\n[Hard faulthandler - all numbers in hex]\n");printf ("R0 = %x\n",stacked_r0);printf ("R1 = %x\n",stacked_r1);printf ("R2 = %x\n",stacked_r2);printf ("R3 = %x\n",stacked_r3);printf ("R12 = %x\n",stacked_r12);printf ("LR [R14] = %x subroutine call return address\n",stacked_lr);printf ("PC [R15] = %x program counter\n", stacked_pc);printf ("PSR = %x\n",stacked_psr);/******************* Add yourdebug trace here ***********************/_int_kernel_isr(); }/* hard fault interrupt handler */ void _int_hardfault_isr( ) {__asm("TST LR, #4");__asm("ITE EQ");__asm("MRSEQ R0,MSP");__asm("MRSNE R0,PSP");__asm("Bhard_fault_handler_c"); }

?

  • 在沒有JTAG的情況下,通過串口打印出堆棧信息:

    /* Private typedef -----------------------------------------------------------*/enum { r0, r1, r2, r3, r12, lr, pc, psr};/* Private define ------------------------------------------------------------*//* Private macro -------------------------------------------------------------*//* Private variables ---------------------------------------------------------*/extern __IO uint16_t ADC_InjectedConvertedValueTab[32];uint32_t Index = 0;/* Private function prototypes -----------------------------------------------*/void Hard_Fault_Handler(uint32_t stack[]);/* Private functions ---------------------------------------------------------*/static void printUsageErrorMsg(uint32_t CFSRValue){printf("Usage fault: \r\n");CFSRValue >>= 16; // right shift to lsbif((CFSRValue & (1<<9)) != 0) {printf("Divide by zero \r\n");}if((CFSRValue & (1<<8)) != 0) {printf("Unaligned access \r\n");}}static void printBusFaultErrorMsg(uint32_t CFSRValue){printf("Bus fault: \r\n");CFSRValue = ((CFSRValue & 0x0000FF00) >> 8); // mask and right shift to lsb}static void printMemoryManagementErrorMsg(uint32_t CFSRValue){printf("Memory Management fault: \r\n");CFSRValue &= 0x000000FF; // mask just mem faults}static void stackDump(uint32_t stack[]){static char msg[80];sprintf(msg, "R0 = 0x%08x\r\n", stack[r0]); printf(msg);sprintf(msg, "R1 = 0x%08x\r\n", stack[r1]); printf(msg);sprintf(msg, "R2 = 0x%08x\r\n", stack[r2]); printf(msg);sprintf(msg, "R3 = 0x%08x\r\n", stack[r3]); printf(msg);sprintf(msg, "R12 = 0x%08x\r\n", stack[r12]); printf(msg);sprintf(msg, "LR = 0x%08x\r\n", stack[lr]); printf(msg);sprintf(msg, "PC = 0x%08x\r\n", stack[pc]); printf(msg);sprintf(msg, "PSR = 0x%08x\r\n", stack[psr]); printf(msg);}void Hard_Fault_Handler(uint32_t stack[]){static char msg[80];//if((CoreDebug->DHCSR & 0x01) != 0) {printf("\r\nIn Hard Fault Handler\r\n");sprintf(msg, "SCB->HFSR = 0x%08x\r\n", SCB->HFSR);printf(msg);if ((SCB->HFSR & (1 << 30)) != 0) {printf("Forced Hard Fault\r\n");sprintf(msg, "SCB->CFSR = 0x%08x\r\n", SCB->CFSR );printf(msg);if((SCB->CFSR & 0xFFFF0000) != 0) {printUsageErrorMsg(SCB->CFSR);}if((SCB->CFSR & 0xFF00) != 0) {printBusFaultErrorMsg(SCB->CFSR);}if((SCB->CFSR & 0xFF) != 0) {printMemoryManagementErrorMsg(SCB->CFSR);}}stackDump(stack);__ASM volatile("BKPT #01");//}while(1);}__ASM void HardFault_Handler_a(void){IMPORT Hard_Fault_HandlerTST lr, #4ITE EQMRSEQ r0, MSPMRSNE r0, PSPB Hard_Fault_Handler}/*** @brief This function handles Hard Fault exception.* @param None* @retval None*/void HardFault_Handler(void){/* Go to infinite loop when Hard Fault exception occurs */HardFault_Handler_a();}

  • ?

    總結

    以上是生活随笔為你收集整理的stm32-Hardfault及内存溢出的查找方法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    日韩av二区 | 一本一道波多野毛片中文在线 | 亚洲精品在线播放视频 | 免费看国产一级片 | 久久久国产精品电影 | 最近中文字幕免费观看 | 国产精品1区 | 国产精品第二十页 | 日韩免费一区二区三区 | 一区二区精品视频 | 日韩欧美一二三 | 成人久久久精品国产乱码一区二区 | 精品视频99 | 国产精品k频道 | 国产精品女人久久久 | 在线视频中文字幕一区 | 久久艹艹| 久久亚洲日本 | 97福利在线 | 中文字幕网站 | 久久久久久久电影 | 亚洲成人家庭影院 | 在线看片中文字幕 | 欧美激情精品久久久久久变态 | 亚洲精品久久久久久久蜜桃 | 婷婷网址| 午夜视频在线观看欧美 | 久久国产综合视频 | 国产精品va在线观看入 | 成人av在线影院 | 欧美一区二区三区特黄 | 黄色小说免费在线观看 | 久久免费国产 | 亚洲国产无 | 成人精品电影 | 久久久蜜桃一区二区 | 人人网人人爽 | 国产精品观看在线亚洲人成网 | 国产精品久久久久久久久久99 | 国产一区二区三区高清播放 | 中文字幕在线观看日本 | 99se视频在线观看 | 国内精品久久久久久久久久久 | a视频在线观看 | 在线观看视频精品 | 国产成人在线免费观看 | 国产一二区视频 | 欧美男同网站 | 国产网站在线免费观看 | 99精品在线 | av一区在线 | 中文字幕之中文字幕 | 在线观看国产 | 欧美性大战| 日韩精品一区二区三区不卡 | 99热手机在线观看 | 国产精品二区在线 | 国产区精品 | 久久艹在线 | 久久久久久黄色 | 亚洲区另类春色综合小说校园片 | 福利视频一二区 | 久久综合综合久久综合 | 亚洲成人麻豆 | 欧美成人a在线 | a天堂最新版中文在线地址 久久99久久精品国产 | 黄色毛片视频 | 国产成人一区二区三区久久精品 | 欧美日韩亚洲在线 | 国产成人三级在线 | 日韩视频一区二区三区 | 麻豆 free xxxx movies hd| 国产精品久久久久久久久毛片 | 99精品乱码国产在线观看 | 激情婷婷丁香 | 91视频在线观看免费 | 精品国产一区二区三区四 | 天天干天天天 | 日韩久久激情 | 成人动态视频 | 国产成人精品999在线观看 | 美女精品在线观看 | 国产精品一区二区电影 | 五月天电影免费在线观看一区 | 日日干美女 | 色婷婷视频在线 | 99热精品国产一区二区在线观看 | 中文字幕日本在线 | 色视频在线观看 | 中文字幕频道 | 国产人成精品一区二区三 | 欧美日韩一区二区三区免费视频 | 国产高清日韩 | 人人干人人搞 | 天堂视频一区 | 欧美日韩国产xxx | 手机看片国产 | 狂野欧美激情性xxxx欧美 | 中文在线字幕观看电影 | 中文字幕在线观看2018 | 欧美无极色 | 欧美精品少妇xxxxx喷水 | 国产99久久久久 | 激情文学综合丁香 | 日韩欧美视频一区二区三区 | 欧美一区二区免费在线观看 | 玖玖玖国产精品 | 毛片一区二区 | 成人资源在线播放 | 中文不卡视频在线 | 天天激情天天干 | 日本资源中文字幕在线 | 欧美在线视频第一页 | 成x99人av在线www | 欧美日韩视频观看 | 国产中文在线播放 | 久久久片 | 国产麻豆成人传媒免费观看 | 狠狠狠综合 | 黄污网站在线 | av黄色在线观看 | 中文字幕 国产视频 | 成人h在线观看 | 色在线国产 | 国产日韩在线播放 | 免费网站在线观看成人 | 色婷婷中文 | 五月天婷婷免费视频 | 免费在线观看av | 久久免费精彩视频 | 六月丁香激情综合色啪小说 | 久久综合欧美精品亚洲一区 | 日韩国产精品久久 | 一区精品久久 | 久久精品一区二区三区国产主播 | 欧美激情操 | 99色视频 | 五月天开心 | 天堂va欧美va亚洲va老司机 | 香蕉在线影院 | 西西人体4444www高清视频 | 中文字幕在线观看一区二区 | 91丨九色丨勾搭 | 黄色免费视频在线观看 | 99久久这里只有精品 | 91精品久久久久久久久久久久久 | 欧美精品视 | 伊色综合久久之综合久久 | 天天综合狠狠精品 | 99视频网址| 九九免费在线看完整版 | 欧美美女视频在线观看 | 久久久久国产精品免费 | 国产美女久久久 | 亚洲视频免费 | 精品播放 | 免费观看www7722午夜电影 | 欧美日韩视频免费看 | 国产 在线观看 | 午夜精品久久久久久 | 欧美精品免费视频 | 天无日天天操天天干 | 国产美女精品人人做人人爽 | a成人v在线| 亚洲va欧美va | 97品白浆高清久久久久久 | 一区二区三区在线看 | 97超碰国产精品女人人人爽 | 久久av高清 | 一级黄色片在线播放 | 超碰97成人| 成人午夜电影网 | 91在线欧美| 午夜电影久久久 | 超碰国产人人 | 日日碰狠狠添天天爽超碰97久久 | 日韩激情视频在线 | 国产成在线观看免费视频 | 国产美女久久 | 久草视频免费 | 天天色 天天 | 六月丁香色婷婷 | 精品五月天| 国产欧美精品一区二区三区四区 | 久久男人中文字幕资源站 | 久久免费国产电影 | 亚洲国产高清在线观看视频 | 中文字幕亚洲精品在线观看 | 成人黄色免费观看 | 亚洲精品国产电影 | 国产精品网站一区二区三区 | 国产精品免费麻豆入口 | 在线观看日韩精品 | 在线观看视频国产 | 久久久精品高清 | 久久久久久久久电影 | 日韩精品一区二区三区视频播放 | 夜夜骑天天操 | av中文字幕免费在线观看 | 天堂网av 在线 | 国产v在线播放 | 成人免费影院 | 五月激情丁香婷婷 | 69国产成人综合久久精品欧美 | 日本精品免费看 | 国产成人精品午夜在线播放 | 91九色蝌蚪国产 | av网站免费线看精品 | jizzjizzjizz亚洲 | 天天曰天天爽 | 日日夜夜婷婷 | 91视频麻豆 | 男女拍拍免费视频 | 日韩欧美高清一区二区三区 | av免费观看网站 | 美女在线观看av | 探花国产在线 | 中文字幕视频网 | 中文字幕在线观看视频一区 | 国产a国产| 在线导航av | 国产精品9区 | 97精品国自产拍在线观看 | 永久免费观看视频 | 欧洲亚洲国产视频 | 色97在线| 日本精品久久久久中文字幕 | 天天操天天操天天爽 | 久久黄色成人 | 国产精品嫩草影院99网站 | 国产免费一区二区三区最新6 | 色狠狠综合 | 日日碰狠狠添天天爽超碰97久久 | www.五月天婷婷 | 中文国产字幕在线观看 | 久久中文字幕视频 | 狠狠操狠狠干天天操 | 亚洲国产69| 日韩免费av在线 | 色资源网免费观看视频 | 久久久久久国产精品免费 | 精品视频免费观看 | 一级黄色在线免费观看 | 91高清免费看 | 亚洲精品久久久久久久不卡四虎 | 国产区在线视频 | 久久久久久久久亚洲精品 | 日韩一级黄色片 | 日韩精品一区二区三区在线播放 | 欧美一区二区视频97 | 日韩精品久久一区二区 | 在线观看国产高清视频 | 美腿丝袜av| 中文字幕有码在线观看 | 91丨九色丨蝌蚪丰满 | 精品一区在线看 | 亚洲高清免费在线 | 在线播放av网址 | 91久久久久久久 | 国产一级电影网 | 欧美成人在线免费 | 久久免费视频精品 | 国产二区电影 | 欧美激情亚洲综合 | 亚洲撸撸 | 成人app在线免费观看 | 中文字幕中文字幕在线一区 | 激情五月播播久久久精品 | 91色国产在线 | 国产精品久久久久久久久久久久冷 | 日韩av电影免费观看 | 中文字幕在线观看资源 | 在线观看一区 | 在线观看你懂的网址 | 91丨九色丨蝌蚪丰满 | 最新久久免费视频 | 美女在线观看网站 | 国产欧美精品一区二区三区四区 | 国产丝袜制服在线 | 欧美人牲 | 91天天操 | 国产一区国产二区在线观看 | 亚洲做受高潮欧美裸体 | 久久精品婷婷 | 超碰在线公开免费 | 五月婷婷深开心 | 久久久久久久免费 | av天天草 | 亚洲久草在线 | 日韩精品一区二区久久 | 婷婷久久亚洲 | 久久精选| 天天综合网久久综合网 | 一级黄色在线免费观看 | 欧美色婷 | 国产福利精品视频 | 狠狠色丁香九九婷婷综合五月 | 婷婷丁香自拍 | 久精品视频 | 国产在线精品一区二区三区 | 丰满少妇在线观看网站 | 亚洲欧美国产视频 | 黄色片免费电影 | 91网站观看| 亚洲观看黄色网 | 成人三级黄色 | 国产精品毛片久久久久久 | 四虎国产精品成人免费4hu | 天天操人 | 91精品视频在线免费观看 | 一区二区三区影院 | 亚洲国内精品 | 人人澡人人舔 | 激情综合网五月激情 | 国产伦理精品一区二区 | av中文字幕电影 | 久久精品国产免费看久久精品 | 精品国产伦一区二区三区观看方式 | 婷婷久久五月天 | 在线观看视频黄色 | avwww在线| 免费av福利| 99免费在线视频 | 中文字幕人成不卡一区 | 久久电影国产免费久久电影 | 91精品一区二区三区蜜桃 | 色婷婷骚婷婷 | 欧美一区在线看 | 久久午夜视频 | 久久免费视频3 | 美女精品久久久 | 久久久精品综合 | 91九色在线观看视频 | 依人成人综合网 | 国产乱对白刺激视频不卡 | 色偷偷av男人天堂 | 欧美日韩有码 | 国语自产偷拍精品视频偷 | 国产精品网在线观看 | 国产黄色美女 | 日韩精品一区二区三区三炮视频 | 欧美精品在线一区二区 | 岛国av在线| 欧美日韩国产精品一区二区 | 六月丁香久久 | 手机在线看片日韩 | 激情五月在线视频 | 欧美成年性 | 色综合天天综合 | 中文字幕字幕中文 | 欧美久久综合 | 国产一区二区手机在线观看 | 日韩一级黄色av | 婷婷日 | 国产精品无av码在线观看 | 国产人成一区二区三区影院 | 夜夜夜夜爽 | 欧美日本中文字幕 | 在线免费中文字幕 | 综合久久婷婷 | 99这里都是精品 | 在线欧美a | 在线一二三区 | 欧美a级成人淫片免费看 | 欧美日韩在线精品一区二区 | 亚洲a成人v| 亚州精品视频 | 中文字幕在线观看第三页 | 97操操操| 国产视频亚洲精品 | 一区二区三区免费播放 | 日韩av播放在线 | 人人讲 | 亚洲国产av精品毛片鲁大师 | 欧美日bb | 麻豆久久久久久久 | 美女免费网视频 | 99在线视频播放 | 久久艹艹 | 日韩夜夜爽 | 婷婷干五月| 麻豆91网站 | 亚洲欧洲视频 | 91精品国产福利在线观看 | 高清av中文在线字幕观看1 | 精品视频免费看 | 最新av电影网站 | 日本三级吹潮在线 | 久久久亚洲国产精品麻豆综合天堂 | 精品久久片 | 天天操天天吃 | 成人h动漫精品一区二 | 亚洲精品福利视频 | 国语精品久久 | 丁香五月亚洲综合在线 | 蜜臀av免费一区二区三区 | 日日夜夜狠狠操 | 成人黄色小说在线观看 | 欧美一级激情 | 色网站在线看 | av九九九| 激情久久久 | 欧美日韩中文在线观看 | 久久综合免费视频影院 | 中文字幕日韩电影 | 久久国产精品一区二区三区四区 | 国产福利久久 | 欧美精品免费视频 | 99精品视频免费看 | 99色免费| 国产精品永久在线观看 | 热re99久久精品国产99热 | 三级a毛片 | a级黄色片视频 | 伊香蕉大综综综合久久啪 | 婷婷激情综合 | 中文字幕日本在线观看 | 欧美精品久 | 久久免费电影网 | av福利第一导航 | 国产男女爽爽爽免费视频 | 亚洲精品黄色 | 天天想夜夜操 | 青青河边草手机免费 | 福利一区二区三区四区 | 在线观看色网 | 日韩精品最新在线观看 | 婷婷九月丁香 | 亚洲成av人片一区二区梦乃 | 久草| 天天干天天搞天天射 | av在线a| 久久精品看片 | 国产小视频在线观看免费 | 久久草精品 | 国产一级黄色片免费看 | 97人人澡人人爽人人模亚洲 | 日韩一二三在线 | 精品视频免费久久久看 | 久久综合久久综合这里只有精品 | 国产99色 | 久久国产精品99久久久久久丝袜 | 天天干夜夜夜操天 | 韩日精品在线 | 日韩精品中文字幕在线 | 亚洲黄a| 91视频免费国产 | 国产午夜一区二区 | 超碰在线官网 | 亚洲成av人片一区二区梦乃 | 精品国产1区| 91成人网在线播放 | 久久99精品久久久久久秒播蜜臀 | 97国产超碰| 久久久在线 | 亚洲精品伦理在线 | 波多野结衣视频在线 | 国产一区二区三区免费在线观看 | 日日夜夜骑 | 黄色日本片 | 天天综合色 | 探花视频免费观看 | 一区二区在线影院 | 97在线观看免费视频 | 久草网免费 | 亚洲二区精品 | 天天操天天摸天天干 | 成人av在线一区二区 | 激情 一区二区 | 97免费| 99久久久久久久久 | 自拍超碰在线 | 欧美在线观看视频一区二区 | 中文字幕免费观看视频 | 永久免费精品视频网站 | 久久99亚洲网美利坚合众国 | 日韩午夜电影网 | 成人精品99 | 一区二区电影网 | 欧美精品一区二区免费 | 麻豆av一区二区三区在线观看 | 丁香花中文字幕 | 国内精品久久久久国产 | 超级av在线 | 中文字幕一区二区三区久久 | 精品国产99 | 黄色av免费看 | 国产精品五月天 | 中文字幕日韩av | 久久久久这里只有精品 | 五月婷婷激情综合 | 日韩久久精品一区二区 | 婷婷伊人五月 | 碰碰影院| 日本黄色一级电影 | 成人免费网视频 | 欧美激情综合五月色丁香 | 亚洲97在线 | 一本一道久久a久久精品 | 国产成人精品女人久久久 | 九九热免费观看 | 在线免费观看亚洲视频 | 中文字幕在线观看一区 | 国产精品久久久久久久久婷婷 | 久久国产精品99国产精 | 欧美一二三视频 | 亚洲激情电影在线 | 在线观看视频 | 一区二区三区四区五区在线视频 | 黄色成人91 | 欧美va天堂va视频va在线 | 粉嫩av一区二区三区四区 | 国产一区二区手机在线观看 | 99免费观看视频 | 欧美在线观看视频一区二区 | 亚洲精选视频在线 | 国产精品美乳一区二区免费 | 亚洲精品18p| 久草免费福利在线观看 | 激情深爱 | 九九久久久| 中文字幕在线观看一区二区 | 丁香激情婷婷 | 韩国精品视频在线观看 | 欧美日韩精品在线观看视频 | 国产专区欧美专区 | 波多在线视频 | 亚洲精品国产拍在线 | 国产精品久久久久一区二区国产 | 久久久久成人精品免费播放动漫 | 97超碰超碰久久福利超碰 | 黄色特级片 | 欧美日韩国产色综合一二三四 | 久久精品一区二区三区视频 | 亚洲涩涩一区 | 日韩三级视频 | 综合色站 | 国产 一区二区三区 在线 | 色夜视频 | 日韩精品中字 | 国产精品久久网 | 五月激情亚洲 | 久久99精品久久久久久 | 91大神dom调教在线观看 | 日本黄色免费看 | 亚洲欧洲在线视频 | 国产亚洲精品美女久久 | 久久99国产精品视频 | 国产粉嫩在线 | 日韩在线国产精品 | 久久人操 | 国产明星视频三级a三级点| 久久精品小视频 | 激情欧美一区二区免费视频 | 日韩网站免费观看 | 久 久久影院 | 国产3p视频 | 成人免费网站在线观看 | 久久久www成人免费毛片麻豆 | 五月婷婷在线视频观看 | 日韩网站在线看片你懂的 | 国产精品国产三级在线专区 | 中文字幕高清 | 欧美一级特黄aaaaaa大片在线观看 | 91福利小视频 | 国产精品久久久久久69 | 久久久久久久久影视 | 亚洲精品国产精品乱码在线观看 | 一区二区三区日韩在线 | 黄色在线免费观看网站 | 国产小视频网站 | 伊人色综合久久天天 | 91在线播 | 中文字幕在线观看亚洲 | 免费观看性生活大片3 | 亚洲欧洲日韩 | 一区精品久久 | 五月开心六月婷婷 | 国产香蕉久久 | 中文永久字幕 | 国产一性一爱一乱一交 | 国模一二三区 | 国产午夜一级毛片 | 91九色蝌蚪国产 | 久久精彩免费视频 | 久久精品视频在线免费观看 | 99热这里只有精品在线观看 | www婷婷 | www九九热 | 99视频| 中文国产成人精品久久一 | 一级理论片在线观看 | 成人网在线免费视频 | 91传媒在线看 | 特级西西444www大精品视频免费看 | 欧美精品免费一区二区 | 91免费视频网站在线观看 | av电影免费在线看 | 日韩精品一区二区三区在线播放 | 欧美成人一二区 | 日韩欧美精品免费 | 美女视频一区二区 | 亚洲国产精品人久久电影 | 美女网站免费福利视频 | 亚洲 欧美 精品 | 国产一线天在线观看 | 精品国产网址 | 亚洲桃花综合 | 日韩一区二区三区在线看 | 色婷婷狠狠干 | 中文字幕频道 | 日韩视频中文字幕 | www.狠狠操.com | 国产精品免费一区二区三区 | 99精品久久久| 精品国产日本 | 亚洲精品久久久久久中文传媒 | 成人四虎影院 | 91看片在线播放 | 精精国产xxxx视频在线播放 | 啪啪免费试看 | 久久免费毛片视频 | 久久国产免费 | 美女黄频在线观看 | 久久精品视频99 | 91精品在线麻豆 | 久久一精品| 日韩av进入| 亚洲国产中文字幕在线观看 | 免费观看全黄做爰大片国产 | 国产精品成人品 | 婷婷午夜天| 精品国产中文字幕 | 日韩精品一区二区三区免费视频观看 | 国产精品综合久久久久久 | 久久区二区 | 精品久久久国产 | 国产精品 国产精品 | 在线免费91 | 丁香婷婷色综合亚洲电影 | 成人免费xyz网站 | 久久一区国产 | 成人v| 国产精品久久久久永久免费 | 日韩午夜大片 | 美女视频久久 | 免费在线观看亚洲视频 | 天天爱天天操天天爽 | 日韩精品久久久久久 | 成人久久精品 | 一区二区三区韩国免费中文网站 | 三级av在线免费观看 | 精品国产乱码久久久久久1区2匹 | 亚洲激情久久 | 亚洲一区二区三区精品在线观看 | 九九九热精品免费视频观看网站 | 2022久久国产露脸精品国产 | 日韩理论电影网 | 国产又粗又猛又色又黄网站 | 久久97久久 | 亚洲黄色一级电影 | 中文字幕在线看片 | 色婷婷综合在线 | 日韩精品在线观看视频 | 日本久久成人 | a视频在线 | www.xxxx欧美| 在线看成人av | 国产精品成人一区二区三区吃奶 | 91观看视频| 黄色高清视频在线观看 | 色姑娘综合天天 | 成人午夜影院在线观看 | 亚洲少妇自拍 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 日韩免费视频网站 | 久久久久久久免费 | 国产在线黄 | 91精品成人 | 欧美日韩免费在线观看视频 | 国产精品国产三级国产专区53 | 久久黄色美女 | 日韩欧美视频一区 | 91久久久久久久一区二区 | 亚洲精品合集 | 久久人人97超碰com | 久久久久久久久影院 | 亚洲视频一 | 国产精品久久久久久爽爽爽 | 国产五月 | 亚洲成人欧美 | 国产又粗又猛又爽又黄的视频免费 | 97精品国自产拍在线观看 | 久草视频免费在线观看 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 午夜 久久 tv | 日日操日日干 | 九九久| 999视频在线播放 | 欧美精品小视频 | 久久精品国产精品 | 97碰在线视频 | 欧美日韩高清一区二区 国产亚洲免费看 | 国产女人18毛片水真多18精品 | 欧美精品在线免费 | 96av在线| 一区在线免费观看 | 久久综合影音 | 99久久夜色精品国产亚洲 | 在线视频 一区二区 | 国产精品99久久久久久武松影视 | 麻豆视频91 | 久久国产麻豆 | 国产午夜三级一区二区三 | 日本黄色免费电影网站 | 久久亚洲专区 | 91av播放| 久久久久久久久久久久国产精品 | 三级黄色在线观看 | 婷婷六月色 | 国产精成人品免费观看 | 波多野结衣视频一区二区三区 | 久久综合色播五月 | 久久久国际精品 | 一级性av | 一区二区三区高清 | 免费看黄色毛片 | 国产精品v欧美精品 | 日本最新一区二区三区 | 99中文视频在线 | av大全在线免费观看 | 99免费在线| 国产做爰视频 | 一区二区精品在线 | 欧美十八 | 久久天天躁狠狠躁亚洲综合公司 | 超碰在线人人爱 | 成人av免费播放 | 精品美女视频 | 日韩电影在线观看一区二区三区 | 日本公妇在线观看 | 欧美日韩国产在线观看 | 中文字幕一区二区在线观看 | 精品国产福利在线 | 超级碰碰碰视频 | 日韩在线一区二区免费 | 在线成人免费电影 | 欧美久久综合 | 日本aaa在线观看 | 天海翼一区二区三区免费 | 久久久91精品国产一区二区三区 | 免费又黄又爽视频 | 成人在线播放av | 日日夜夜精品网站 | 欧美日韩一区二区三区在线观看视频 | 伊人久久影视 | 欧美日韩一区二区免费在线观看 | 人人爽人人射 | 亚洲精品日韩在线观看 | 五月婷久久 | 草免费视频 | 色婷婷激情五月 | 男女视频久久久 | 国产精品免费看久久久8精臀av | 国产在线播放不卡 | 一区免费视频 | 国产成人一区三区 | 啪啪资源| 一二三区视频在线 | 99久久综合国产精品二区 | 欧美一二三区在线观看 | 免费观看www小视频的软件 | 国产精品色视频 | 日韩视频一区二区三区在线播放免费观看 | 视频在线观看亚洲 | 日本黄色大片免费看 | 亚洲精品动漫成人3d无尽在线 | 在线成人免费电影 | 国内精品久久久久影院日本资源 | 精品久久一区二区 | 日韩精品一区二区三区电影 | 国产日韩精品一区二区三区 | 在线视频app| 少妇高潮冒白浆 | 日韩乱色精品一区二区 | 国产精品久久久久久久婷婷 | 97电影院在线观看 | 日韩电影在线一区二区 | 久草视频精品 | 亚洲精品国产电影 | 亚洲一区二区三区91 | 婷婷伊人综合 | 91中文字幕网 | 中文字幕乱在线伦视频中文字幕乱码在线 | 久久在现 | 欧美精品免费一区二区 | 成人九九视频 | 婷婷综合导航 | 亚洲春色综合另类校园电影 | 6080yy精品一区二区三区 | 亚洲精品美女久久久 | 99在线精品视频观看 | 婷婷视频在线播放 | 夜夜躁日日躁狠狠久久av | 婷婷在线色 | 午夜精品一区二区三区四区 | 91香蕉视频好色先生 | 国产色婷婷 | 欧美另类tv | 色一级片 | 亚洲草视频| 国产色啪 | a级成人毛片 | 亚洲首页 | 午夜婷婷在线观看 | 国产精品第一 | 中文字幕高清av | 久久免费视频4 | 午夜久久福利视频 | 91传媒91久久久 | 五月天婷亚洲天综合网鲁鲁鲁 | 色婷婷狠狠| 久久久久国产成人免费精品免费 | 国产精品一二三 | 精品国产精品久久 | 在线看小早川怜子av | 午夜久久精品 | 99精品视频在线免费观看 | 日韩欧美一区视频 | 天天操月月操 | 国产精品99久久久久久大便 | 亚州国产精品 | 亚洲欧美日韩国产一区二区三区 | 亚洲欧美视频一区二区三区 | 欧美乱大交 | 日韩在线观看一区二区 | 香蕉影院在线播放 | 97av在线视频免费播放 | 有码视频在线观看 | 成人久久影院 | 亚洲一级黄色大片 | 又黄又爽的免费高潮视频 | 日本aaa在线观看 | 日韩av一区二区在线影视 | 国语精品久久 | 丁香婷婷激情网 | 色欧美88888久久久久久影院 | 韩日精品中文字幕 | 久久这里只有精品首页 | 国产小视频福利在线 | av免费高清观看 | 91一区二区三区久久久久国产乱 | 精品久久久久久久久久久院品网 | 国产91精品一区二区绿帽 | 奇米导航 | 免费亚洲视频在线观看 | 日韩中文字幕国产精品 | 极品久久久久久久 | 中文字幕亚洲高清 | 蜜桃视频在线视频 | 97天天干| 激情校园亚洲 | 免费福利片 | 久久综合婷婷国产二区高清 | 国产香蕉视频在线观看 | 精品国产自在精品国产精野外直播 | 中文字幕在线视频一区 | 亚洲精品动漫久久久久 | 久久国产精品99久久久久久老狼 | 四虎永久免费在线观看 | 久久男人中文字幕资源站 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 日本不卡123| 高清不卡毛片 | 黄色网www| 美女网站色在线观看 | 成人亚洲综合 | 人人插人人搞 | 99精品视频在线观看免费 | 狠狠操夜夜操 | 免费成人短视频 | 亚洲精品国产欧美在线观看 | 日本最新一区二区三区 | 久草免费色站 | 国产亚洲成人网 | 久久久久久电影 | 精品九九九| 精品婷婷 | 日韩免费一级电影 | 国产网站av | 在线观看久久 | 一级片观看 | 在线观看久久久久久 | 综合色中色 | 国产一卡二卡在线 | 91高清一区 | 国产综合小视频 | 国产精品露脸在线 | 日韩一区二区免费视频 | 香蕉网在线播放 | 久久手机在线视频 | 在线免费黄色 | 精品一区在线 | 91少妇精拍在线播放 | 中文在线8新资源库 | 精品夜夜嗨av一区二区三区 | 欧美日本在线视频 | 久久影视网 | 国产综合片 | 色激情五月 | 99久久精品免费看国产 | 亚洲精品美女久久17c | 91av电影在线观看 | 毛片在线播放网址 | 欧美精品在线观看一区 | 91热爆视频 | 日韩欧美国产免费播放 | 国产精品久久久久久五月尺 | 国产欧美日韩精品一区二区免费 | 九九久久成人 | 中文资源在线播放 | 久草精品资源 | 日韩av电影免费观看 | 中文字幕在线观看网 | 91在线看网站 | 69av国产| 色黄www小说 | 精品久久国产 | 日韩成人xxxx | 欧美成人播放 | 久久精品久久久精品美女 | 日韩在线无 | 亚洲a资源| 69av网| 在线国产不卡 | 国产三级午夜理伦三级 | 粉嫩av一区二区三区免费 | 青草视频在线 | 亚洲综合一区二区精品导航 | 黄色天堂在线观看 | 女人18精品一区二区三区 | 五月网婷婷 | 粉嫩av一区二区三区四区在线观看 | 一级黄色在线视频 | 日韩和的一区二在线 | 在线视频欧美精品 | 久久精品9 | 国产二区av | 精品一区二区在线免费观看 | 在线观看网站黄 | 亚洲视频电影在线 | 亚洲乱码精品久久久 | 99热都是精品 | 日韩精品中文字幕在线 | 欧美成人一二区 | 国产一在线精品一区在线观看 | 成人动漫一区二区三区 | 日日夜夜干| 一区二区三区四区在线 | 99免费在线视频 | 天天激情在线 | 人人插超碰| 日韩性xxxx | 日本在线观看一区 | 亚洲第一久久久 | 久久一视频 | bayu135国产精品视频 | 97人人超碰在线 | 97碰视频 | 免费av试看 | 2024国产在线 | 69精品视频在线观看 | 香蕉视频导航 | 69av在线播放 | 午夜私人影院久久久久 | 手机在线小视频 | 日本精品中文字幕在线观看 | 成人av手机在线 | 蜜臀久久99精品久久久无需会员 | 欧洲av在线 | 日本深夜福利视频 | 在线看岛国av | 色av婷婷| 精一区二区| 久久99精品久久久久久 | 国产黄色大片 | 久草在线免费资源站 | 午夜久久久精品 | 国内精品二区 | 成人影视免费看 | 96精品在线 | 色偷偷网站视频 | 亚洲有 在线 | 九九免费精品视频在线观看 | 欧美在一区| 一区二区三区高清 | 伊人五月综合 | 国产福利专区 |