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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

官方文档翻译-ESP32-SPI Flash

發布時間:2025/3/21 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 官方文档翻译-ESP32-SPI Flash 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SPI Flash

概述

The spi_flash component contains APIs related to reading, writing, erasing, memory mapping data in the external SPI flash. It also has higher-level APIs which work with partitions defined in the partition table.

spi_flash組件包含與外部SPI flash中的數據讀取,寫入,擦除和存儲器映射有關的API。它還具有更高級別的API,定義于分區表 中的高級別API可用于分區。

Note that all the functionality is limited to the “main” SPI flash chip, the same SPI flash chip from which program runs. For spi_flash_* functions, this is a software limitation. The underlying ROM functions which work with SPI flash do not have provisions for working with flash chips attached to SPI peripherals other than SPI0.

請注意,所有功能僅限于“主”SPI flash芯片,即與其運行程序相同的SPI flash 芯片。對于spi_flash_* 的功能,這是一個軟件限制。與SPI flash 配合使用的底層ROM函數沒有規定與SPI0外的其他SPI外設一起使用 flash 芯片。

SPI flash 訪問API

This is the set of APIs for working with data in flash:

這是用于處理Flash中數據的一組API:

  • spi_flash_read() used to read data from flash to RAM

  • spi_flash_write() used to write data from RAM to flash

  • spi_flash_erase_sector() used to erase individual sectors of flash

  • spi_flash_erase_range() used to erase range of addresses in flash

  • spi_flash_get_chip_size() returns flash chip size, in bytes, as configured in menuconfig

    ?

  • spi_flash_read() 用于從flash讀取數據到RAM

  • spi_flash_write() 用于將數據從RAM寫入到flash
  • spi_flash_erase_sector() 用于擦除 flash 的各個部分
  • spi_flash_erase_range() 用于擦除指定地址范圍的flash
  • spi_flash_get_chip_size() 返回 flash 芯片大小,以字節為單位,如menuconfig中配置

Generally, try to avoid using the raw SPI flash functions in favour of partition-specific functions.

一般來說,盡量避免使用原始的SPI flash 功能,以支持特定分區的功能。

SPI flash 大小

The SPI flash size is configured by writing a field in the software bootloader image header, flashed at offset 0x1000.

通過在軟件bootloader映像頭中寫入一個字段來配置SPI flash 大小, flash 位于偏移量0x1000處。

By default, the SPI flash size is detected by esptool.py when this bootloader is written to flash, and the header is updated with the correct size. Alternatively, it is possible to generate a fixed flash size by setting ESPTOOLPY_FLASHSIZE in make menuconfig.

默認情況下,當將此bootloader 寫入 flash 時,esptool.py會檢測到SPI flash 大小,并使用正確的大小更新標頭。此外,可以通過在make menuconfig設置 ESPTOOLPY_FLASHSIZE 選項來修改flash大小.

If it is necessary to override the configured flash size at runtime, is is possible to set the chip_sizemember of g_rom_flashchip structure. This size is used by spi_flash_* functions (in both software & ROM) for bounds checking.

如果需要在運行時修改配置的 flash 大小,則可以設置g_rom_flashchip結構體的chip_size成員。這個大小被spi_flash_*函數(在軟件和ROM中)用于邊界檢查。

并發約束

Because the SPI flash is also used for firmware execution (via the instruction & data caches), these caches must be disabled while reading/writing/erasing. This means that both CPUs must be running code from IRAM and only reading data from DRAM while flash write operations occur.

由于SPI flash 也用于固件執行(通過指令和數據高速緩存),因此在讀/寫/擦除時必須禁用這些高速緩存。這意味著兩個CPU必須運行IRAM中的代碼,并且只能在 flash 寫操作發生時從DRAM讀取數據。

If you use the APIs documented here, then this happens automatically and transparently. However note that it will have some performance impact on other tasks in the system.

如果您使用這里記錄的API,那么這會自動地發生。但請注意,它會對系統中的其他任務產生一些性能影響。

Refer to the application memory layout documentation for an explanation of the differences between IRAM, DRAM and flash cache.

有關IRAM,DRAM和 flash 緩存之間差異的說明,請參閱應用程序內存布局文檔。

To avoid reading flash cache accidentally, when one CPU commences a flash write or erase operation the other CPU is put into a blocked state and all non-IRAM-safe interrupts are disabled on both CPUs, until the flash operation completes.

為避免意外讀取 flash 緩存,當一個CPU開始 flash 寫入或擦除操作時,另一個CPU將進入阻塞狀態,并且在兩個CPU上禁用所有非IRAM安全(non-IRAM-safe)的中斷,直到 flash 操作完成。

IRAM安全(IRAM-Safe)中斷處理程序

If you have an interrupt handler that you want to execute even when a flash operation is in progress (for example, for low latency operations), set the ESP_INTR_FLAG_IRAM flag when the interrupt handler is registered.

如果您有一個即使在進行 flash 操作時也要執行的中斷處理程序(例如,需要低延遲的操作),請在注冊中斷處理程序時設置ESP_INTR_FLAG_IRAM標志。

You must ensure all data and functions accessed by these interrupt handlers are located in IRAM or DRAM. This includes any functions that the handler calls.

您必須確保這些中斷處理程序訪問的所有數據和功能位于IRAM或DRAM中。這包括處理程序調用的任何函數。

Use the IRAM_ATTR attribute for functions:

使用該IRAM_ATTR屬性的功能:

#include "esp_attr.h"void IRAM_ATTR gpio_isr_handler(void* arg) {// ... }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Use the DRAM_ATTR and DRAM_STR attributes for constant data:

使用常量數據的DRAM_ATTR屬性和DRAM_STR屬性:

void IRAM_ATTR gpio_isr_handler(void* arg) {const static DRAM_ATTR uint8_t INDEX_DATA[] = { 45, 33, 12, 0 };const static char *MSG = DRAM_STR("I am a string stored in RAM"); }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Note that knowing which data should be marked with DRAM_ATTR can be hard, the compiler will sometimes recognise that a variable or expression is constant (even if it is not marked const) and optimise it into flash, unless it is marked with DRAM_ATTR.

請注意,知道應該標記哪些數據為DRAM_ATTR可能很難,編譯器有時會認為變量或表達式是恒定(constant )的(即使未標記const),并將其優化為Flash,除非標記為DRAM_ATTR。

If a function or symbol is not correctly put into IRAM/DRAM and the interrupt handler reads from the flash cache during a flash operation, it will cause a crash due to Illegal Instruction exception (for code which should be in IRAM) or garbage data to be read (for constant data which should be in DRAM).

如果函數或符號未正確放入IRAM / DRAM中并且中斷處理程序在 flash 操作期間從 flash 緩存中讀取,則會由于非法指令異常(對于應該在IRAM中的代碼)或讀取垃圾數據(對于應該在DRAM中的常數數據)而導致崩潰。

分區表API

ESP-IDF projects use a partition table to maintain information about various regions of SPI flash memory (bootloader, various application binaries, data, filesystems). More information about partition tables can be found here.

ESP-IDF項目使用分區表來維護有關SPI flash 各個區域(bootloader ,各種應用程序二進制文件,數據,文件系統)的信息。有關分區表的更多信息可以在這里找到。

This component provides APIs to enumerate partitions found in the partition table and perform operations on them. These functions are declared in esp_partition.h:

該組件提供了API來枚舉在分區表中找到的分區并對它們執行操作。這些函數聲明于esp_partition.h:

  • esp_partition_find() used to search partition table for entries with specific type, returns an opaque iterator
  • esp_partition_get() returns a structure describing the partition, for the given iterator
  • esp_partition_next() advances iterator to the next partition found
  • esp_partition_iterator_release() releases iterator returned by esp_partition_find
  • esp_partition_find_first() is a convenience function which returns structure describing the first partition found by esp_partition_find
  • esp_partition_read(), esp_partition_write(), esp_partition_erase_range() are equivalent to spi_flash_read(), spi_flash_write(), spi_flash_erase_range(), but operate within partition boundaries

  • esp_partition_find() 用于在分區表中搜索具有特定類型的條目,并返回一個不透明的迭代器

  • esp_partition_get() 返回給定迭代器的描述的分區結構
  • esp_partition_next() 獲取下一個分區
  • esp_partition_iterator_release() 釋放由 esp_partition_find返回的迭代器
  • esp_partition_find_first() 是一個方便的函數,它返回 esp_partition_find 找到的第一個分區的結構描述
  • esp_partition_read(),esp_partition_write(),esp_partition_erase_range() 等同于spi_flash_read(),spi_flash_write(), spi_flash_erase_range(),但在分區邊界內操作

注意

Most application code should use these esp_partition_* APIs instead of lower level spi_flash_*APIs. Partition APIs do bounds checking and calculate correct offsets in flash based on data stored in partition table.

大多數應用程序代碼應該使用這些esp_partition_*API而不是較低級別的 spi_flash_*API。分區(Partition )API根據存儲在分區表中的數據進行邊界檢查并計算 flash 中的正確偏移量。

SPI Flash加密

It is possible to encrypt SPI flash contents, and have it transparenlty decrypted by hardware.

可以對SPI flash 內容進行加密,并通過硬件進行透明解密。

Refer to the Flash Encryption documentation for more details.

有關更多詳細信息,請參閱Flash Encryption文檔。

內存映射API

ESP32 features memory hardware which allows regions of flash memory to be mapped into instruction and data address spaces. This mapping works only for read operations, it is not possible to modify contents of flash memory by writing to mapped memory region. Mapping happens in 64KB pages. Memory mapping hardware can map up to 4 megabytes of flash into data address space, and up to 16 megabytes of flash into instruction address space. See the technical reference manual for more details about memory mapping hardware.

ESP32具有內存硬件,可以將 flash 區域映射到指令和數據地址空間。此映射僅適用于讀取操作,不可能通過寫入映射的內存區域來修改 flash 的內容。映射發生在64KB頁面中。內存映射硬件可以將最多4兆字節的 flash 映射到數據地址空間,并將最多16兆字節的 flash 映射到指令地址空間。有關內存映射硬件的更多詳細信息,請參閱技術參考手冊。

Note that some number of 64KB pages is used to map the application itself into memory, so the actual number of available 64KB pages may be less.

請注意,一些64KB頁面用于將應用程序本身映射到內存中,因此可用64KB頁面的實際數量可能會更少。

Reading data from flash using a memory mapped region is the only way to decrypt contents of flash when flash encryption is enabled. Decryption is performed at hardware level.

使用內存映射區從 flash 讀取數據是啟用 flash 加密時解密 flash 內容的唯一方法。解密是在硬件級別執行的。

Memory mapping APIs are declared in esp_spi_flash.h and esp_partition.h:

內存映射API在esp_spi_flash.h和esp_partition.h中聲明:

  • spi_flash_mmap() maps a region of physical flash addresses into instruction space or data space of the CPU
  • spi_flash_munmap() unmaps previously mapped region
  • esp_partition_mmap() maps part of a partition into the instruction space or data space of the CPU

  • spi_flash_mmap() 將物理 flash 地址的區域映射到CPU的指令空間或數據空間

  • spi_flash_munmap() 取消映射先前映射的區域
  • esp_partition_mmap() 將分區的一部分映射到CPU的指令空間或數據空間

Differences between spi_flash_mmap() and esp_partition_mmap() are as follows:

spi_flash_mmap()和esp_partition_mmap()之間的差異如下:

  • spi_flash_mmap() must be given a 64KB aligned physical address
  • esp_partition_mmap() may be given any arbitrary offset within the partition, it will adjust returned pointer to mapped memory as necessary

  • spi_flash_mmap() 必須給予一個64KB的對齊物理地址

  • esp_partition_mmap() 可能會在分區內給出任意偏移量,它會根據需要調整返回的指向映射內存的指針

Note that because memory mapping happens in 64KB blocks, it may be possible to read data outside of the partition provided to esp_partition_mmap.

請注意,由于內存映射發生在64KB塊中,因此可能會讀取esp_partition_mmap提供的分區以外的數據。

也可以看看

  • Partition Table documentation
  • Over The Air Update (OTA) API provides high-level API for updating app firmware stored in flash.
  • Non-Volatile Storage (NVS) API provides a structured API for storing small items of data in SPI flash.

  • 分區表文檔

  • Over The Air Update(OTA)API提供了用于更新存儲在 flash 中的應用程序固件的高級API。
  • 非易失性存儲(NVS)API提供了一個結構化API,用于在SPI flash 中存儲小數據。

細節實現

In order to perform some flash operations, we need to make sure both CPUs are not running any code from flash for the duration of the flash operation. In a single-core setup this is easy: we disable interrupts/scheduler and do the flash operation. In the dual-core setup this is slightly more complicated. We need to make sure that the other CPU doesn’t run any code from flash.

為了執行一些 flash 操作,我們需要確保兩個CPU在 flash 操作期間沒有從 flash 中運行任何代碼。在單核設置中,這很簡單:我們禁用中斷/調度程序并執行 flash 操作。在雙核心設置中,這稍微復雜一些。我們需要確保另一個CPU不會從 flash 中運行任何代碼。

When SPI flash API is called on CPU A (can be PRO or APP), we start spi_flash_op_block_func function on CPU B using esp_ipc_call API. This API wakes up high priority task on CPU B and tells it to execute given function, in this case spi_flash_op_block_func. This function disables cache on CPU B and signals that cache is disabled by setting s_flash_op_can_start flag. Then the task on CPU A disables cache as well, and proceeds to execute flash operation.

當在CPU A上調用SPI Flash API(可以是PRO或APP)時,我們使用 esp_ipc_call API在CPU B上啟動 spi_flash_op_block_func 函數。這個API喚醒了CPU B的高優先級任務,并告訴它執行給定的函數,在這種情況下是執行 spi_flash_op_block_func 。此功能禁用CPU B上的高速緩存,并通過設置 s_flash_op_can_start 標志指示緩存被禁用。然后,CPU A上的任務也會禁用緩存,然后繼續執行Flash操作。

While flash operation is running, interrupts can still run on CPUs A and B. We assume that all interrupt code is placed into RAM. Once interrupt allocation API is added, we should add a flag to request interrupt to be disabled for the duration of flash operations.

在 flash 操作正在運行時,中斷仍然可以在CPU A和B上運行。我們假定所有的中斷代碼都被放入RAM中。一旦添加了中斷分配API,我們應該添加一個標志來請求在 flash 操作期間禁用中斷。

Once flash operation is complete, function on CPU A sets another flag, s_flash_op_complete, to let the task on CPU B know that it can re-enable cache and release the CPU. Then the function on CPU A re-enables the cache on CPU A as well and returns control to the calling code.

一旦 flash 操作完成,CPU A上的功能會設置另一個標志 s_flash_op_complete ,讓CPU B上的任務知道它可以重新啟用緩存并釋放CPU。然后,CPU A上的功能也重新啟用CPU A上的緩存,并將控制權返回給調用代碼。

Additionally, all API functions are protected with a mutex (s_flash_op_mutex).

此外,所有的API函數都被一個互斥鎖保護(s_flash_op_mutex)。

In a single core environment (CONFIG_FREERTOS_UNICORE enabled), we simply disable both caches, no inter-CPU communication takes place.

在單核心環境中(啟用 CONFIG_FREERTOS_UNICORE ),我們只需禁用兩個高速緩存,就不會發生CPU間通信。

API參考 - SPI Flash

頭文件

  • spi_flash /包含/ esp_spi_flash.h

此文翻譯自:http://esp-idf.readthedocs.io/en/latest/api-reference/storage/spi_flash.html

內容參照google翻譯,有些部分翻譯不準確請參照原文理解

?

總結

以上是生活随笔為你收集整理的官方文档翻译-ESP32-SPI Flash的全部內容,希望文章能夠幫你解決所遇到的問題。

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

免费在线一区二区三区 | 亚洲精选视频在线 | 欧美日韩破处 | 国产精品久久久久一区二区三区 | 精品视频免费久久久看 | 亚洲午夜不卡 | 91视频免费看| 欧美日韩一区二区视频在线观看 | 久草久草在线观看 | 亚洲精品字幕在线观看 | 亚洲视频观看 | 中文字幕日本特黄aa毛片 | 国产 一区二区三区 在线 | 高清av中文在线字幕观看1 | 五月激情丁香 | 国产精品精品 | 久久久久久99精品 | 99久久日韩精品视频免费在线观看 | 日韩精品一区不卡 | 日韩黄色免费电影 | 亚洲婷婷网 | 色多多视频在线观看 | 欧美一二三区在线播放 | 天天操天天操天天操天天 | 国产一区二三区好的 | 久草电影免费在线观看 | 国产精品久久久久久吹潮天美传媒 | 天天干天天操天天操 | 国产精品乱码久久 | av千婊在线免费观看 | 在线日韩视频 | 1024手机看片国产 | 久草免费在线观看 | 国产视频一区在线 | 91福利视频免费观看 | 日本公妇在线观看高清 | 97免费 | 国产精品专区h在线观看 | 亚洲最大av网 | 麻豆精品91| 一级一片免费视频 | 亚洲精品高清在线观看 | 中文字幕在线视频第一页 | 色噜噜在线观看视频 | 国产女人18毛片水真多18精品 | 在线日韩中文 | 干狠狠| 99视频在线精品免费观看2 | 免费污片 | 久人人| 99爱精品视频 | 成人午夜电影在线 | 99视频网址 | 国产精品麻豆91 | 热久久国产 | 国产资源在线视频 | 日本中文字幕电影在线免费观看 | 超碰在线资源 | 精品久久国产一区 | 贫乳av女优大全 | 日韩免费视频一区二区 | 国产成人精品午夜在线播放 | 91污视频在线 | 久久免费电影网 | 五月天狠狠操 | 中文字幕在线看人 | 亚洲国产中文字幕 | 成人三级视频 | 久久久www| 国产又粗又猛又色 | 国产精品视频内 | 日本性xxx| 欧美一级在线 | 久久亚洲热 | 91污在线观看 | 成年人网站免费在线观看 | 国产麻豆视频网站 | 91热视频在线观看 | 国产精品免费视频一区二区 | 国产精品系列在线观看 | 色噜噜在线观看 | 免费人成网ww44kk44 | 精品国产乱码久久久久久浪潮 | av专区在线 | 人人射人人射 | 五月花丁香婷婷 | 91久久精品一区二区二区 | 精品日韩在线一区 | 在线观看免费av片 | 99久久久久国产精品免费 | 狠狠色丁香婷婷综合久久片 | 日韩成片 | 色99中文字幕 | 亚洲精品久久久蜜臀下载官网 | 黄色免费大全 | 人人爱爱人人 | 欧美成年人在线观看 | 日韩高清三区 | 免费麻豆视频 | 97香蕉超级碰碰久久免费软件 | 黄污视频网站 | 四虎影视成人精品国库在线观看 | 69xx视频| 在线视频a | 色偷偷888欧美精品久久久 | 丁香高清视频在线看看 | 精品国产视频一区 | 操操爽| 狠狠狠干 | 久久精品一二三区白丝高潮 | 日韩精品在线免费观看 | 日韩成人免费在线观看 | 四虎影视成人精品国库在线观看 | 福利网在线 | 天天插一插 | 黄色视屏免费在线观看 | 日日干干夜夜 | 久久91久久久久麻豆精品 | 日韩美精品视频 | www好男人 | 精品麻豆入口免费 | 久久久久久久久久久久亚洲 | 97免费在线视频 | 国产免费人人看 | 久久久国产精品人人片99精片欧美一 | 中文字幕av全部资源www中文字幕在线观看 | 夜夜操天天摸 | 玖玖在线精品 | 狠狠躁日日躁狂躁夜夜躁 | www亚洲一区 | 精品一区精品二区 | 天天干中文字幕 | 国产伦理久久精品久久久久_ | www.亚洲精品在线 | 国产91在线免费视频 | 亚洲视频 中文字幕 | 久久国产精品网站 | 色爽网站| 在线电影日韩 | 免费观看一级视频 | 亚洲综合五月天 | 国产女人18毛片水真多18精品 | 天天草天天干天天 | 亚洲成人av一区 | 91精品啪| 99视频在线免费播放 | 成人性生交大片免费看中文网站 | 久草网视频 | 黄www在线观看 | 天天爽天天爽 | 综合铜03| 免费在线观看av网址 | 天天操夜夜操国产精品 | 国产99久久久精品 | 亚洲一级片在线观看 | 国产剧情久久 | 一级黄色av| 韩国av免费在线 | 悠悠av资源片 | 国产手机视频在线播放 | 国产精品嫩草影院123 | 欧美91av| 色综合天天色 | 人人添人人 | 成人三级av | av黄免费看 | 亚洲精品777 | 欧美性护士| 国产一区二区在线免费 | 欧美影片| 女人高潮一级片 | 99国产精品一区二区 | 国产精品久久久久久久久久久久午 | 欧美最猛性xxxxx(亚洲精品) | 人人干人人艹 | 国产精品免费一区二区三区在线观看 | 日韩在线大片 | www.xxxx欧美| 日韩精品在线免费观看 | 特片网久久 | 日韩高清在线一区 | 久草在线资源观看 | 欧美在线观看禁18 | 天天爱天天射 | 最新日韩在线观看视频 | 中文字幕视频在线播放 | 午夜免费电影院 | 欧美夫妻性生活电影 | 深爱五月激情五月 | 精品在线小视频 | 成人毛片久久 | 久久夜色电影 | 韩国一区二区在线观看 | 黄色国产高清 | 久久久黄色免费网站 | 久久久片| 偷拍区另类综合在线 | 手机色在线 | 久久精品久久99 | 色综合久久中文综合久久牛 | 国产精品黄 | 亚洲日韩中文字幕 | bbw av| 五月婷婷丁香网 | 天天操天天操天天操天天操天天操 | 久久久久成人免费 | 久久99日韩 | 一区二区三区四区在线 | 亚洲黄色一级视频 | 免费观看福利视频 | www.久艹| 国产小视频在线免费观看 | 看v片 | 午夜久久久精品 | 国产精品网站一区二区三区 | 欧美色图30p | 日本久久精 | 狠狠狠色丁香综合久久天下网 | 一级性视频| 97超碰在线免费观看 | 久久国产美女视频 | 久久久久久麻豆 | 亚洲九九九| 久久久96 | 精品综合久久 | 亚洲黄色在线观看 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲欧美久久 | 999视频网| 国产视频999| 亚洲成av人片 | 中文字幕在线观看你懂的 | 日韩中文字幕91 | 最近的中文字幕大全免费版 | 久久久久免费电影 | 一二三区在线 | 日日爽夜夜爽 | 久久久在线免费观看 | 久久草在线精品 | 日韩欧美aaa | 狠狠色丁香婷婷综合橹88 | 成人在线播放av | 亚洲最大的av网站 | bbbbb女女女女女bbbbb国产 | 国产精品丝袜久久久久久久不卡 | 久久国产亚洲精品 | av福利第一导航 | 97干com| 成人91免费视频 | 国产码电影 | 黄色影院在线观看 | 91精品国产92久久久久 | 91精品视频网站 | 韩国av在线播放 | av丝袜美腿 | 日本女人b | 日产乱码一二三区别免费 | 激情图片区 | 精品久久久久久久久久久久久 | 日韩精品中文字幕久久臀 | 激情视频综合网 | 激情伊人五月天 | 欧美成人久久 | 九九热视频在线免费观看 | 2019天天干夜夜操 | 久久夜夜夜 | 国产1区2 | 91看成人| 国产精品区免费视频 | 免费看毛片在线 | 首页国产精品 | 亚洲精品美女免费 | 婷婷国产一区二区三区 | 日本最新高清不卡中文字幕 | 国产高清在线a视频大全 | 免费亚洲一区二区 | 亚洲欧美成人 | 日韩av一区二区三区在线观看 | 欧美日韩成人一区 | 日b视频在线观看网址 | 香蕉在线观看 | 成人免费看片网址 | 精品影院一区二区久久久 | 久久久久久久久久久福利 | 免费精品在线 | 91超在线| 成人午夜免费福利 | 久久久精品国产一区二区电影四季 | 国产一二三区av | 日韩性色| 在线日韩视频 | 日韩在线视频二区 | 99视频网站 | 成年人免费观看国产 | 国产精品麻豆99久久久久久 | 欧美在线一 | 99精品视频在线播放观看 | 久久与婷婷| 五月天综合在线 | 99热在线免费观看 | 日韩有码中文字幕在线 | www五月天 | 亚洲 欧美 综合 在线 精品 | 免费在线激情电影 | 色综合久久久 | 亚洲欧美日韩精品久久久 | 五月天堂网 | 久久综合在线 | 97福利社| 久久久久观看 | 在线国产能看的 | 欧美一区免费在线观看 | 97视频在线播放 | 人人爽人人澡人人添人人人人 | 久久精品一区二区三区国产主播 | 99色| 久久精品中文字幕免费mv | 91香蕉视频 | 福利av影院 | 久久成| 国产成人一区在线 | 在线亚洲欧美视频 | 国产精品免费在线视频 | 蜜桃传媒一区二区 | 国产精品对白一区二区三区 | 精品久久91| 开心激情婷婷 | 国产特级毛片aaaaaa | av资源免费在线观看 | 91麻豆高清视频 | 丁香六月在线 | 国产日韩欧美精品在线观看 | 韩日精品视频 | 亚洲精品在线视频网站 | 欧美嫩草影院 | 欧美日韩亚洲第一页 | 91福利试看| 国产精品毛片一区视频 | 午夜精品久久久久久久久久久 | 人人澡人人爽欧一区 | 色噜噜狠狠狠狠色综合久不 | 国产理论免费 | 日韩精品一区二区不卡 | 成年人免费电影在线观看 | 中文字幕免费看 | 亚洲va天堂va欧美ⅴa在线 | 久久久久久久国产精品影院 | 一区二区三区三区在线 | 久久久国产日韩 | 中文字幕乱码电影 | 欧美久久影院 | 亚洲国产精品成人av | 亚欧洲精品视频在线观看 | 91资源在线免费观看 | 三级在线视频播放 | 免费合欢视频成人app | 日韩精品一区二区三区三炮视频 | 在线中文字幕网站 | 激情av网址 | 亚洲最新av网站 | 最新高清无码专区 | 天天操夜夜操 | 欧美一级性生活 | 中文字幕一区二区三区久久蜜桃 | 久热国产视频 | 一级一片免费视频 | 国产 日韩 在线 亚洲 字幕 中文 | 免费在线观看日韩 | 亚洲综合色av | 国产亚洲精品日韩在线tv黄 | 国产精品成人a免费观看 | 欧美黑吊大战白妞欧美 | 伊人色播 | 国产精品福利一区 | 一本一道波多野毛片中文在线 | 久久伊人操 | 麻豆91精品视频 | 国产精品久久久久999 | 伊人成人精品 | 亚洲精品女人久久久 | 日韩精品一区二区三区免费观看 | 免费黄色av电影 | 久久久久免费电影 | 久草在线综合网 | 欧美日韩不卡在线视频 | 一区在线播放 | 国产亚洲人 | 美女网站视频免费都是黄 | 一区二区 久久 | 日韩欧美一区视频 | 亚洲天堂网站 | 五月婷综合 | 热久久精品在线 | 黄色成年网站 | 国产91精品一区二区麻豆网站 | 欧美性极品xxxx做受 | 久久少妇免费视频 | 国产免费片| 亚洲综合丁香 | 国产精品青草综合久久久久99 | 婷婷在线视频观看 | 免费在线观看毛片网站 | 在线a亚洲视频播放在线观看 | 国产精品高清在线观看 | 黄色一级在线视频 | 九九九视频在线 | 午夜av在线免费 | 欧美91成人网 | 亚洲视频免费在线观看 | 成年人电影免费在线观看 | 欧美 日韩 国产 成人 在线 | 国产又粗又猛又爽又黄的视频免费 | 四虎成人免费观看 | www国产亚洲精品久久网站 | 人人藻人人澡人人爽 | 九九精品久久久 | 国产亚洲日 | 日本黄色大片免费 | 九九亚洲精品 | 亚洲精品xxxx | 婷婷综合五月天 | 一级免费av| 精品uu| 91毛片在线 | 久久久亚洲精品 | 国产一级大片免费看 | 99综合电影在线视频 | 久久国产热 | 人人干人人做 | 手机在线免费av | 久久第四色 | 久久免费视频一区 | 国产精品美女999 | 综合久久久久久久久 | 一区二区观看 | av三级在线看 | av片子在线观看 | 久草免费在线观看 | 一区二区影院 | 国产香蕉av | 蜜臀aⅴ国产精品久久久国产 | 综合色婷婷 | 亚洲成年人在线播放 | 亚洲黄色免费电影 | 在线国产一区 | 久久av免费 | 午夜精品电影 | 免费观看xxxx9999片 | 久久免费国产 | 欧美在线free | 日韩免费二区 | 99se视频在线观看 | 日韩高清无线码2023 | 韩日精品在线 | 国产小视频免费在线观看 | 成人a视频片观看免费 | 亚洲国产久 | 久久久国产一区 | 国产精品video爽爽爽爽 | 天天操天天摸天天射 | 午夜美女视频 | 国产精品9999久久久久仙踪林 | 91在线国内视频 | 久久国产精品久久精品国产演员表 | 91av美女| 精品在线观看一区二区 | 色播六月天 | 国产精品白丝jk白祙 | 日韩视频免费在线观看 | 伊人伊成久久人综合网小说 | 69av视频在线观看 | 日韩一区二区三 | 天天操天天爱天天爽 | 中文字幕乱在线伦视频中文字幕乱码在线 | 久久精品视频2 | 久久精品男人的天堂 | 国产精品毛片网 | 天天拍天天色 | www在线观看视频 | 天天色天天操天天爽 | 久久久不卡影院 | 国产不卡一 | 日日夜夜操av | 亚洲精品一区二区三区四区高清 | 91精品国产成 | 黄网站色 | a色视频 | 综合色在线观看 | 日日日天天天 | 91精品91| 欧美疯狂性受xxxxx另类 | a在线一区 | 婷婷丁香狠狠爱 | 五月激情av | 超碰在线最新地址 | 亚洲成人软件 | 亚洲精品中文在线观看 | 亚洲综合国产精品 | 国产精品18毛片一区二区 | 日韩网站在线观看 | 免费三级a | 在线免费成人 | 91高清完整版在线观看 | 天天操天天射天天 | 亚洲精品1234区 | 日韩区视频 | 亚洲v欧美v国产v在线观看 | 91大神在线观看视频 | 九九九电影免费看 | 免费a视频在线观看 | 日韩美在线 | 91高清在线看 | 能在线看的av | 麻豆成人小视频 | 成人影视免费看 | 青青草国产精品视频 | 久久er99热精品一区二区 | 久久久国产毛片 | 国产一区二区免费在线观看 | 国产91成人在在线播放 | 久久久黄色免费网站 | 国产区第一页 | 久久久96 | 国产一在线精品一区在线观看 | 91成人精品在线 | 性色va | 久久精品专区 | 日韩视频中文字幕在线观看 | 91女子私密保健养生少妇 | 日韩啪啪小视频 | 午夜天使 | 成人毛片一区二区三区 | 欧美一区二区在线刺激视频 | 亚洲三级av | 一区二区三区在线观看中文字幕 | 97在线精品国自产拍中文 | 成年人免费看 | 99c视频在线 | 国产精品v欧美精品 | 国产精品亚 | 久久九九免费视频 | 综合成人在线 | 国产精品美女久久久久久久 | 久久综合免费视频影院 | 999精品| 天天se天天cao天天干 | 一级黄网| 久久av福利 | 国产精品亚洲片夜色在线 | www国产一区 | 欧美999| 婷婷网站天天婷婷网站 | 亚州精品在线视频 | 四虎免费在线观看视频 | 毛片网站在线看 | 精品国产视频在线 | 99视频精品全部免费 在线 | 爱色av.com| 久久久久国产精品免费免费搜索 | 在线а√天堂中文官网 | 亚洲精品网站 | 天堂av高清 | 久久国产网 | 免费一区在线 | 久久久久久久久久久影院 | 精品在线观看视频 | av噜噜噜在线播放 | 美女精品 | 草久在线播放 | av视屏在线 | 麻豆精品视频 | 亚洲第一中文字幕 | 狠狠操综合网 | 天天艹日日干 | www在线观看视频 | 久久av观看 | 日韩艹 | 国产成人免费精品 | 亚洲免费av网站 | 久久国产精品免费看 | 亚洲精品黄色在线观看 | 国产一级视频免费看 | 亚洲精品女人久久久 | 国产精品免费在线播放 | 九九热精| 久久香蕉一区 | 欧美精品一区二区三区四区在线 | 久久久综合精品 | 99久久日韩精品视频免费在线观看 | 2022久久国产露脸精品国产 | 伊人五月婷 | av中文字幕网 | 夜添久久精品亚洲国产精品 | 成人免费网站在线观看 | 久久久久色 | 在线国产视频 | 精品在线播放视频 | 精品久久久久久久久久久久久 | 色综合 久久精品 | 成人h在线播放 | 久久艹在线观看 | av夜夜操| 亚洲毛片一区二区三区 | 欧美日韩一区二区免费在线观看 | 日日夜夜精品网站 | 国产精品网红福利 | 久久久精品国产一区二区电影四季 | 亚洲精品videossex少妇 | 久久国产精品成人免费浪潮 | 免费亚洲黄色 | 日韩精品久久久久久久电影99爱 | 国产精品18久久久久久久 | 久久精品国产精品亚洲 | 亚洲97在线 | 99视频在线播放 | 中文字幕日韩高清 | 久久不卡国产精品一区二区 | zzijzzij亚洲日本少妇熟睡 | 久久精品第一页 | 日韩在线一二三区 | 香蕉影院在线观看 | 成人av一区二区在线观看 | 日本性动态图 | 亚洲精品www久久久久久 | 天堂视频中文在线 | 久久久精品一区二区三区 | 国产精久久久 | 97精品视频在线 | 国产资源网| 日韩综合视频在线观看 | 精品国产一区二区三区噜噜噜 | 国产一区自拍视频 | 特级毛片爽www免费版 | 精品一二三四视频 | 亚洲91视频 | 天天操天天玩 | 久久久久二区 | 亚洲国产精品一区二区久久hs | 国产群p视频| 亚洲精品国产精品国自产观看 | 99精品一级欧美片免费播放 | 视频在线观看亚洲 | 婷婷99| 成人av片免费观看app下载 | 久久综合久久综合久久综合 | 欧美一级大片在线观看 | 亚洲精品视频在线看 | 欧美天天综合 | 97精品久久 | 亚洲 综合 国产 精品 | 日韩欧美在线综合网 | 中文字幕国语官网在线视频 | 中文字幕在线播放日韩 | 美女免费视频一区二区 | 99久久婷婷国产一区二区三区 | 91在线中字| 国产丝袜 | 国产成人精品午夜在线播放 | 久久精品99久久久久久2456 | 成人av电影免费在线播放 | 久久综合操 | 欧美日韩视频免费看 | 亚洲一级黄色片 | 日韩精品专区在线影院重磅 | 91片网| 91麻豆精品久久久久久 | 久久精品免费 | 国产亚洲精品久久久网站好莱 | 国产精品久久久久aaaa九色 | 91网页版在线观看 | aaawww | 美女久久久久久久 | 国产 日韩 欧美 中文 在线播放 | 在线免费观看国产黄色 | 日本久久精品 | 最新av在线播放 | 亚洲精品国产高清 | 久草在线中文视频 | 丝袜+亚洲+另类+欧美+变态 | 久久se视频 | 午夜少妇一区二区三区 | 亚洲精品456在线播放 | 午夜美女福利直播 | 婷婷六月网 | 欧美精品久久久久久久久久白贞 | 国产尤物在线视频 | 久久国产精品成人免费浪潮 | 在线播放第一页 | 国产免费观看久久黄 | 欧美日韩一二三四区 | 精品福利在线视频 | 久久久网站 | 精品久久久久免费极品大片 | 五月婷婷综 | 久久久久久久久久久国产精品 | 免费高清在线观看成人 | 精品国产一区二区在线 | 91超级碰碰 | 黄网站大全 | 99久久夜色精品国产亚洲 | 天天操天天干天天插 | 国产精品免费看 | 欧美精品免费一区二区 | 亚洲视频在线观看网站 | 久久伊人精品天天 | 国产精品资源 | 国产精品区免费视频 | 国产永久免费观看 | 久久久久久免费毛片精品 | 亚洲免费观看视频 | 在线播放一区二区三区 | 777视频在线观看 | 91看片看淫黄大片 | 黄色影院在线观看 | 欧美成人精品欧美一级乱黄 | 中文在线a天堂 | 成人免费视频观看 | 一区二区影视 | 福利一区二区三区四区 | 岛国精品一区二区 | 日韩手机在线 | 国产三级在线播放 | 狠狠干夜夜操天天爽 | 四虎海外影库www4hu | 久久伊人综合 | 色com| 成年人在线观看免费视频 | 中文字幕丰满人伦在线 | 久久国产精品久久精品国产演员表 | 亚洲va天堂va欧美ⅴa在线 | 国产精品久久久久久久久久久久午 | 国产高清av免费在线观看 | 国产裸体视频网站 | 亚洲欧美国产精品久久久久 | 亚洲激情在线播放 | 久久久免费毛片 | 天堂av免费 | 午夜视频播放 | 涩av在线| 女人18毛片90分钟 | 四虎精品成人免费网站 | 91av免费在线观看 | 色综合久久久网 | 日韩精品一区二区三区在线播放 | 日韩欧美高清一区二区 | 成人a级黄色片 | 91久久偷偷做嫩草影院 | 黄色影院在线免费观看 | 中文字幕一区二区三区久久蜜桃 | 99国产高清 | 黄色网址中文字幕 | 91理论片午午伦夜理片久久 | 久草在线最新免费 | 五月天色综合 | 激情婷婷亚洲 | 日日夜精品 | 2017狠狠干| 久久国语露脸国产精品电影 | 日本爱爱免费视频 | 99久久99久久精品国产片果冰 | 99久久精品无码一区二区毛片 | 亚洲精品欧美成人 | 亚洲第一av在线播放 | 国产亚洲午夜高清国产拍精品 | 午夜精品区 | 久久精品视频国产 | 国产精品美女久久久久久2018 | 亚洲精品视频在线 | a色网站 | 一本一本久久a久久精品综合小说 | 欧美另类xxxxx | 狠狠色丁香婷婷综合橹88 | 亚洲视频久久 | 美女精品国产 | 午夜久久 | www.69xx| 射射色 | 青草视频在线播放 | 亚洲国产中文字幕在线观看 | 免费黄色a网站 | 美女啪啪图片 | av成年人电影 | 国产老妇av | 高清国产午夜精品久久久久久 | 国产在线 一区二区三区 | 亚洲国产人午在线一二区 | 国产一二三区av | 最新av在线播放 | 美女网站视频色 | 日本精品久久久一区二区三区 | 正在播放 久久 | 在线看一区 | 国产伦理久久精品久久久久_ | 欧美在线观看视频一区二区 | 国产一二区视频 | 91高清免费在线观看 | 久久国产香蕉视频 | 亚洲综合色婷婷 | 中文字幕网站视频在线 | 亚洲精品久久久蜜臀下载官网 | 成人av网址大全 | 激情导航| 免费看片亚洲 | 国产免费黄色 | 天天鲁天天干天天射 | 免费久久视频 | 久久免费国产精品1 | 久久久久免费电影 | 亚洲一级性| 99精品视频一区 | 天天色天天 | 9i看片成人免费看片 | 国产一级片不卡 | 久99久精品 | 在线免费观看国产 | 久久黄视频| 国产手机视频精品 | 中文字幕色在线 | 国产日产精品一区二区三区四区的观看方式 | 日韩黄色软件 | 日韩毛片在线一区二区毛片 | 国产精品高清免费在线观看 | 亚洲专区在线视频 | 久久久国产精品人人片99精片欧美一 | 九九影视理伦片 | 热久在线 | 精品免费视频123区 午夜久久成人 | av一级片在线观看 | 欧美日韩一区二区久久 | 亚洲 欧洲 国产 日本 综合 | 国产精品麻豆视频 | 久久爱资源网 | 99久久一区 | 99九九99九九九视频精品 | 国产精品 国内视频 | 日韩大片在线看 | 99电影| 免费观看久久久 | 天天舔天天射天天操 | 久久毛片网站 | 性色av香蕉一区二区 | 看片在线亚洲 | 日本中文一级片 | 久久综合中文字幕 | 在线午夜av | 日韩专区在线 | 久久99视频| 欧美日韩色婷婷 | 色婷婷精品大在线视频 | 亚洲一级免费电影 | 五月婷在线 | 亚洲精品男人的天堂 | 欧美日韩国产在线精品 | 日日干天天爽 | av福利第一导航 | 欧美韩国日本在线 | 亚洲人成精品久久久久 | 精品久久久久久久久久久院品网 | 天天激情 | 午夜视频一区二区三区 | av再线观看 | 91成人精品在线 | 在线观看国产日韩 | 国产精品高清在线 | 日黄网站 | 久久九九免费视频 | 五月婷婷在线综合 | 久久免费激情视频 | 国产高清久久 | 在线国产中文字幕 | 久久人人精 | 夜夜夜| 91麻豆精品久久久久久 | 中文字幕乱码电影 | 99热精品免费观看 | 亚洲免费成人av电影 | 伊人狠狠色丁香婷婷综合 | 91av电影在线观看 | 国产不卡免费av | 国产精品久久久久免费 | 91麻豆精品一区二区三区 | 天天射天天干天天操 | 日韩免费在线视频 | 免费在线一区二区三区 | 女人高潮特级毛片 | 天天色天天射天天综合网 | 中文字幕中文字幕在线中文字幕三区 | 亚洲爱视频 | 亚洲欧美国产精品va在线观看 | 91激情在线视频 | 欧美日韩亚洲在线观看 | 免费午夜网站 | 特级毛片在线免费观看 | 玖玖色在线观看 | 国内免费久久久久久久久久久 | 国产美女精彩久久 | 4438全国亚洲精品观看视频 | 高清av免费看 | 九九三级毛片 | 久久久综合精品 | 欧美日韩不卡在线观看 | 日韩免费福利 | 久久久久久久久久久成人 | www.99在线观看 | 一区二区久久久久 | 久久免费视频3 | 国产成人一区二区三区电影 | 不卡精品视频 | 日韩www在线 | 91麻豆精品一区二区三区 | 首页国产精品 | av电影在线不卡 | 热久久精品在线 | 国产一级h | 99久久精品无码一区二区毛片 | 欧美视频网址 | 国产91在线 | 美洲 | 五月天丁香亚洲 | 欧美日韩中文视频 | 97视频中文字幕 | 91探花在线视频 | 色综合天天色综合 | 久久久久久久久电影 | 国产精国产精品 | 久草在线综合 | 中文字幕中文字幕在线一区 | 少妇性色午夜淫片aaaze | 久香蕉 | 亚洲国产精品一区二区久久,亚洲午夜 | 国产中文字幕视频在线观看 | 亚洲三级在线免费观看 | 日韩在线观看中文 | 91日韩在线专区 | 高清av在线 | 欧美日韩不卡在线观看 | 人人干天天射 | 久草在线99| 久久久久激情电影 | 成人h视频在线播放 | 国产黄色理论片 | 91麻豆精品国产自产在线 | 国产免费精彩视频 | 精品国产视频一区 | 婷婷激情站 | 狠狠操综合网 | 超碰999| 精品国产视频在线观看 | 久久综合欧美精品亚洲一区 | 精品亚洲一区二区 | 欧美乱码精品一区二区 | 国内精品亚洲 | 国产精品久久毛片 | 五月婷婷网站 | 成人黄色片免费看 | 国产精品美女久久久久久免费 | 黄色免费av | 日韩欧美网址 | 成人免费在线视频观看 | 亚洲国产人午在线一二区 | 婷婷播播网 | 久久久久久综合 | 成人福利在线播放 | 欧美日韩在线观看一区二区三区 | 一区二区三区四区精品 | 伊人婷婷久久 | 91精品国产乱码 | 成年人免费在线观看 | 亚洲欧洲日韩 | 免费观看一区 | 丝袜制服综合网 | 97碰在线视频 | 久久免费看 | 在线观看v片 | 久久99精品国产99久久6尤 | 91麻豆视频| 97在线免费观看视频 | 操操操日日日 | 亚洲天堂精品 | 天天干天天操天天拍 | 国产在线观看你懂得 | 少妇性色午夜淫片aaaze | 六月丁香色婷婷 | 成人免费xyz网站 | 成人免费在线播放视频 | 亚洲经典在线 | 国产又粗又长又硬免费视频 | 成人精品久久 | 99国产成+人+综合+亚洲 欧美 | 国产99久久久精品 | 亚洲最新av在线 | 深爱开心激情 | 午夜美女福利 | 天海翼一区二区三区免费 | 中文字幕网站视频在线 | 色婷婷亚洲精品 | 色五月成人 | 欧美性受极品xxxx喷水 | 96国产精品视频 |