色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在在HK32F030MF4P6上移植RT-Thread Nano

Linux閱碼場 ? 來源:RT-Thread物聯(lián)網(wǎng)操作系統(tǒng) ? 作者:RT-Thread物聯(lián)網(wǎng)操作 ? 2021-08-02 17:59 ? 次閱讀

這是一個航順 HK32F030 的 RT-Thread Nano 移植示例,記錄了在 Keil 裸機工程的基礎(chǔ)上進行 RT-Thread Nano 移植的全過程。在按文檔中心的指導(dǎo)進行移植的過程中基本沒有遇到問題,只是由于 HK32F030 的RAM 較小,無法啟用 FinSH。移植工程已經(jīng)分享在Gitee RT-Thread-Nano-HK32F030。

開源地址:https://gitee.com/CraztTnspt/rt-thread-nano-hk32-f030

(請復(fù)制至外部瀏覽器打開)

硬件信息

MCU: 航順 HK32F030MF4P6 , RAM: 2KB, ROM:16KB

開發(fā)板:hk32f030 - 立創(chuàng)EDA (https://lceda.cn/whj4674672/hk32f030)由 @whj467467222 設(shè)計

參考文檔

RT-Thread Nano 簡介與下載(https://docs.rt-thread.org/#/rt-thread-version/rt-thread-nano/an0038-nano-introduction)

0.準(zhǔn)備移植

在移植 RT-Thread Nano 之前,需要準(zhǔn)備一個能正常運行的裸機工程。航順的庫文件包 HK32F030Mxx_Library_V1.1.4.7z 中提供了 HK32F030 的標(biāo)準(zhǔn)庫、啟動文件等,還有一個裸機工程模板,整理后得到這里移植使用的裸機工程。

編譯后燒錄,看到LED閃爍,裸機程序正常運行。實測可以使用Jlink 或 CMSIS-DAP 燒錄調(diào)試,而使用 ST-Link 無法識別到 HK32F030。

之后就可以開始 RT-Thread Nano 的移植了。

1.Nano Pack 安裝

Nano Pack 可以在 Keil MDK IDE 內(nèi)進行安裝,也可以手動安裝。這里選擇手動安裝Pack,從官網(wǎng)下載安裝文件:RT-Thread Nano 離線安裝包,下載結(jié)束后雙擊文件進行安裝。

然后將 RT-Thread Nano 添加到工程中。點擊 Manage Run-Time Environment

在 Manage Rum-Time Environment 內(nèi)打開 RTOS 欄,勾選 kernal,點擊 OK 后就將 RT-Thread 內(nèi)核加入到工程中了。

現(xiàn)在能在 Keil 的 Project 欄看到 RTOS,展開后可以看到 RT-Thread Nano 的文件已經(jīng)加入了工程。

2.適配 RT-Thread Nano

中斷與異常處理

RT-Thread 會接管異常處理函數(shù) HardFault_Handler() 和懸掛處理函數(shù) PendSV_Handler(),這兩個函數(shù)已由 RT-Thread 實現(xiàn),所以需要刪除工程里中斷服務(wù)例程文件 Drivers/hk32f030m_it.c 中的這兩個函數(shù),避免在編譯時產(chǎn)生重復(fù)定義。如果此時對工程進行編譯,沒有出現(xiàn)函數(shù)重復(fù)定義的錯誤,則不用做修改。

系統(tǒng)時鐘配置

現(xiàn)在需要在 RTOS/board.c 中實現(xiàn) 系統(tǒng)時鐘配置(為 MCU、外設(shè)提供工作時鐘)與 os tick 的配置 (為操作系統(tǒng)提供心跳 / 節(jié)拍)。

1void rt_hw_board_init()

2{

3 /* System Clock Update */ 4 SystemCoreClockUpdate();

5 6 /* System Tick Configuration */ 7 _SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND);

8 9 /* Call components board initial (use INIT_BOARD_EXPORT()) */10#ifdef RT_USING_COMPONENTS_INIT11 rt_components_board_init();

12#endif1314#if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP)15 rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get());

16#endif17}

上面的代碼中,SystemCoreClockUpdate() 對系統(tǒng)時鐘進行更新,_SysTick_Config() 配置了 OS Tick。此處 OS Tick 使用滴答定時器 systick 實現(xiàn),需要在 board.c 中實現(xiàn) SysTick_Handler() 中斷服務(wù)例程,調(diào)用 RT-Thread 提供的 rt_tick_increase() ,如下:

1void SysTick_Handler(void)

2{

3 /* enter interrupt */ 4 rt_interrupt_enter();

5 6 rt_tick_increase();

7 8 /* leave interrupt */ 9 rt_interrupt_leave();

10}

由于 SysTick_Handler() 中斷服務(wù)例程由用戶在 board.c 中重新實現(xiàn),作為系統(tǒng) OS Tick,所以還需要刪除工程里中原本已經(jīng)實現(xiàn)的 SysTick_Handler() ,避免在編譯時產(chǎn)生重復(fù)定義。如果此時對工程進行編譯,沒有出現(xiàn)函數(shù)重復(fù)定義的錯誤,則不用做修改。

內(nèi)存堆初始化

系統(tǒng)內(nèi)存堆的初始化在 board.c 中的 rt_hw_board_init() 函數(shù)中完成,內(nèi)存堆功能是否使用取決于宏 RT_USING_HEAP 是否開啟,RT-Thread Nano 默認(rèn)不開啟內(nèi)存堆功能,這樣可以保持一個較小的體積,不用為內(nèi)存堆開辟空間。開啟系統(tǒng) heap 將可以使用動態(tài)內(nèi)存功能,如使用 rt_malloc、rt_free 以及各種系統(tǒng)動態(tài)創(chuàng)建對象的 API。若需要使用系統(tǒng)內(nèi)存堆功能,則打開 RT_USING_HEAP 宏定義即可,此時內(nèi)存堆初始化函數(shù) rt_system_heap_init() 將被調(diào)用。

3.編寫第一個應(yīng)用

移植好 RT-Thread Nano 之后,則可以開始編寫第一個應(yīng)用代碼驗證移植結(jié)果。此時 main() 函數(shù)就轉(zhuǎn)變成 RT-Thread 操作系統(tǒng)的一個線程,現(xiàn)在可以在 main() 函數(shù)中實現(xiàn)第一個應(yīng)用:板載 LED 指示燈閃爍。

首先在文件首部增加 RT-Thread 的相關(guān)頭文件 《rtthread.h》 。

在 main() 函數(shù)中(也就是在 main 線程中)實現(xiàn) LED 閃爍代碼:初始化 LED 引腳、在循環(huán)中點亮 / 熄滅 LED。

將延時函數(shù)替換為 RT-Thread 提供的延時函數(shù) rt_thread_mdelay()。該函數(shù)會發(fā)起系統(tǒng)調(diào)度,切換到其他線程運行,體現(xiàn)了線程的實時性。

此時可以看到 LED 閃爍,雖然現(xiàn)象與裸機程序一致,但 RT-Thread 已經(jīng)在 HK32F030 上成功運行。

使用 RTOS 造成固件變大后,通過CMSIS-DAP 燒錄程序可能出現(xiàn)失敗現(xiàn)象

將 CMSIS-DAP 的 SW 調(diào)試速度調(diào)低為 500kHz 后燒錄成功

4.移植控制臺 FinSH

由于 RAM 的大小有限,這里 FinSH 的移植未能完成

在 Nano 上添加 UART 控制臺

在 RT-Thread Nano 上添加 UART 控制臺打印功能后,就可以在代碼中使用 RT-Thread 提供的打印函數(shù) rt_kprintf() 進行信息打印,從而獲取自定義的打印信息,方便定位代碼 bug 或者獲取系統(tǒng)當(dāng)前運行狀態(tài)等。實現(xiàn)控制臺打印(需要確認(rèn) rtconfig.h 中已使能 RT_USING_CONSOLE 宏定義),需要完成基本的硬件初始化,以及對接一個系統(tǒng)輸出字符的函數(shù),本小節(jié)將詳細(xì)說明。

實現(xiàn)串口初始化

使用串口對接控制臺的打印,首先需要初始化串口,如引腳、波特率等。 uart_init() 需要在 board.c 中的 rt_hw_board_init() 函數(shù)中調(diào)用。

1static int uart_init(void);

示例代碼:如下是基于 HK32 庫的 HK32F030 串口初始化程序,參考航順例程編寫。實現(xiàn)了串口的發(fā)送并配置了串口中斷接收。

1#define USART1_TX_PORT GPIOA 2#define USART1_TX_PIN GPIO_Pin_3 3#define USART1_TX_IO_CLK_EN() RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE) 4 5#define USART1_RX_PORT GPIOD 6#define USART1_RX_PIN GPIO_Pin_6 7#define USART1_RX_IO_CLK_EN() RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOD, ENABLE) 8 9static void USART_GPIO_Configurature(void);

10static void USART_NVIC_Configurature(void);

11static int uart_init(void);

1213static int uart_init(void)

14{

15 USART_InitTypeDef m_usart;

1617 USART_GPIO_Configurature();

1819 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

20 m_usart.USART_BaudRate = 115200;

21 m_usart.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

22 m_usart.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

23 m_usart.USART_Parity = USART_Parity_No;

24 m_usart.USART_StopBits = USART_StopBits_1;

25 m_usart.USART_WordLength = USART_WordLength_8b;

26 USART_Init(USART1, &m_usart);

27 USART_Cmd(USART1, ENABLE);

2829 USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);

3031 USART_NVIC_Configurature();

3233 return 0;

34}

35//INIT_BOARD_EXPORT(uart_init);3637static void USART_GPIO_Configurature(void)

38{

39 GPIO_InitTypeDef m_gpio;

4041 USART1_TX_IO_CLK_EN();

42 USART1_RX_IO_CLK_EN();

4344 m_gpio.GPIO_Mode = GPIO_Mode_AF;

45 m_gpio.GPIO_OType = GPIO_OType_PP;

46 m_gpio.GPIO_Pin = USART1_TX_PIN;

47 m_gpio.GPIO_PuPd = GPIO_PuPd_NOPULL;

48 m_gpio.GPIO_Speed = GPIO_Speed_10MHz;

49 GPIO_Init(USART1_TX_PORT, &m_gpio);

50 GPIO_PinAFConfig(USART1_TX_PORT,GPIO_PinSource3,GPIO_AF_1);

5152 m_gpio.GPIO_Pin = USART1_RX_PIN;

53 GPIO_Init(USART1_RX_PORT, &m_gpio);

54 GPIO_PinAFConfig(USART1_RX_PORT,GPIO_PinSource6,GPIO_AF_1);

55}

56static void USART_NVIC_Configurature(void)

57{

58 NVIC_SetPriority(USART1_IRQn,0);

59 NVIC_EnableIRQ(USART1_IRQn);

60}

實現(xiàn) rt_hw_console_output

實現(xiàn) finsh 組件輸出一個字符,即實現(xiàn) uart 輸出一個字符:

注:注意:RT-Thread 系統(tǒng)中已有的打印均以 結(jié)尾,而并非 ,所以在字符輸出時,需要在輸出 之前輸出 ,完成回車與換行,否則系統(tǒng)打印出來的信息將只有換行。

示例代碼:如下是基于HK32 庫實現(xiàn)的串口驅(qū)動對接 rt_hw_console_output()

1void USART1_SendByte(uint8_t ch)

2{

3 while((USART1-》ISR & USART_ISR_TXE) == 0);

4 USART1-》TDR = ch;

5}

6void rt_hw_console_output(const char *str)

7{

8 rt_size_t i = 0, size = 0;

9 char a = ‘

’;

1011 size = rt_strlen(str);

12 for (i = 0; i 《 size; i++)

13 {

14 if (*(str + i) == ‘

’)

15 {

16 USART1_SendByte((uint8_t)a);

17 }

18 USART1_SendByte(*(str + i));

19 }

20}

將對應(yīng)代碼加入 board.c ,編譯并燒錄后,可以看到終端(或串口助手中輸出的rtt logo):

932133e0-e032-11eb-9e57-12bb97331649.png

至此就可以使用 rt_kprintf() 打印調(diào)試信息了。

在 Nano 上添加 FinSH 組件

RT-Thread FinSH 是 RT-Thread 的命令行組件(shell),提供一套供用戶在命令行調(diào)用的操作接口,主要用于調(diào)試或查看系統(tǒng)信息。它可以使用串口 / 以太網(wǎng) / USB 等與 PC 機進行通信。這里使用串口方式,在 Nano 上實現(xiàn) FinSH 功能。

Keil 添加 FinSH 源碼

打開 Manage Run-Environment。

勾選 shell 然后點擊OK,將 FinSH 組件的源碼到工程。

這時看到 RTOS Group 中加入了以下 FinSH 文件。

實現(xiàn) rt_hw_console_getchar()

要實現(xiàn) FinSH 組件功能(既可以打印也能輸入命令進行調(diào)試),需要在 board.c 中對接控制臺輸入函數(shù),實現(xiàn)字符輸入:

rt_hw_console_getchar():控制臺獲取一個字符,即在該函數(shù)中實現(xiàn) uart 獲取字符,可以使用查詢方式獲取(注意不要死等,在未獲取到字符時,需要讓出 CPU),也可以使用中斷方式獲取。

示例代碼:(未實現(xiàn))

1char rt_hw_console_getchar(void)

2{

3 int ch = -1;

4 // 接收一個字符5 。。.

6 return ch;

7}

加入 FinSH 后 RAM 空間不足

這時編譯會出現(xiàn)報錯:

939ee5ba-e032-11eb-9e57-12bb97331649.png

看編譯輸出應(yīng)該是存儲空間不足,超出RAM大小154 Bytes,嘗試將編譯器優(yōu)化等級調(diào)高至 Level2 ,但仍會報錯。

然后嘗試在 rtconfig.h 中調(diào)小 RT_CONSOLEBUF_SIZE 與 FINSH_THREAD_STACK_SIZE ,編譯成功。可以看此時的內(nèi)存占用:Program Size: Code=9458 RO-data=922 RW-data=144 ZI-data=1832 ,ROM占用為 Code+RO+RW=10524 Byte,RAM 占用為 RW+ZI=1976 Byte,RAM即將耗盡。同時因為調(diào)小了線程運行棧,程序運行時會產(chǎn)生 hard fault,因此不再考慮將 finsh 移植至nano上。

為了正常使用,應(yīng)當(dāng)關(guān)閉 FinSH 組件,在RTE_Components.h中注釋 RTE_USING_FINSH,此時程序大小為:Program Size: Code=5756 RO-data=572 RW-data=120 ZI-data=1264 ,ROM占用為 Code+RO+RW=6448 Byte,RAM 占用為 RW+ZI=1384 Byte,剩余空間較為充裕。也可以通過在 Manage Run-Environment 中關(guān)閉 shell,移除 FinSH 組件。

至此,在 HK32F030MF4P6 上的 RT-Thread Nano 移植工作就完成了。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1285

    瀏覽量

    40089

原文標(biāo)題:【國產(chǎn)MCU系列】在 HK32F030 上移植 RT-Thread Nano

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    RT-ThreadCAN實踐

    開箱測試RT-Thread官方已完成了對英飛凌XMC7200EVK的移植,通過shell可以看到做好了uart3的console。本文將介紹如何進行RT-ThreadCan移植。接下來
    的頭像 發(fā)表于 11-13 01:03 ?1148次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>上</b>CAN實踐

    何在RT-thread studio的裸機例程移植freertos?

    何在RT-thread studio的裸機例程移植freertos
    發(fā)表于 09-13 06:32

    RT-Thread 新里程碑達成——GitHub Star 破萬!

    RT-Thread實時操作系統(tǒng)開源項目在GitHub的star數(shù)量突破一萬!截止發(fā)文,RT-Thread作為實時操作系統(tǒng)在業(yè)界Star數(shù)量排名第一!倉庫地址:https://github.com
    的頭像 發(fā)表于 07-04 08:35 ?472次閱讀
    <b class='flag-5'>RT-Thread</b> 新里程碑達成——GitHub Star 破萬!

    lvgl移植RT-Thread Nano后進入硬件錯誤中斷的原因?

    使用的是RT-Thread Nano的最新版,第一次移植,不知道是不是因為這個lvgl只能移植到標(biāo)準(zhǔn)版里? 嘗試過給lvgl的線程分配更大的棧,但是依舊會卡死在硬件錯誤中斷里。但只要把
    發(fā)表于 07-04 07:40

    66日杭州站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    66日下午我們將在杭州舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和lin
    的頭像 發(fā)表于 05-28 08:35 ?442次閱讀
    <b class='flag-5'>6</b>月<b class='flag-5'>6</b>日杭州站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    5月16日南京站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    5月16日下午我們將在南京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread
    的頭像 發(fā)表于 05-01 08:35 ?360次閱讀
    5月16日南京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    RT-Thread混合部署Workshop北京站來啦!

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到
    的頭像 發(fā)表于 04-19 08:34 ?437次閱讀
    <b class='flag-5'>RT-Thread</b>混合部署Workshop北京站來啦!

    4月25日北京站RT-Thread線下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到
    的頭像 發(fā)表于 04-16 08:35 ?417次閱讀
    <b class='flag-5'>4</b>月25日北京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    4月10日-深圳-workshop】RT-Thread帶你探索混合部署新模式

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到
    的頭像 發(fā)表于 04-04 08:34 ?337次閱讀
    【<b class='flag-5'>4</b>月10日-深圳-workshop】<b class='flag-5'>RT-Thread</b>帶你探索混合部署新模式

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到
    的頭像 發(fā)表于 03-27 11:36 ?816次閱讀
    <b class='flag-5'>4</b>月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到
    的頭像 發(fā)表于 03-27 08:34 ?527次閱讀
    <b class='flag-5'>4</b>月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    何在STM32F407移植lwip?

    如題,使用rt-thread操作系統(tǒng),在STM32F407如何移植lwip,下載了最新的rt-thread代碼,不知如何入手。 誰能幫
    發(fā)表于 03-05 08:32

    基于CubeMX的RT-thread Nano可以添加microros這樣的軟件包嗎?

    最近使用rt-thread配置一個ROS2,但是是用CubeMX聯(lián)合Clion做的,CubeMX使用的是RT-thread nano包, 請問這個環(huán)境可以添加像microros這樣的軟件包嗎?謝謝。
    發(fā)表于 03-01 06:00

    何在PSoC62 Evaluation kit開發(fā)板運行RT-Thread呢?

    本文主要介紹如何在PSoC62 Evaluation kit開發(fā)板運行RT-Thread,如何連接CYW43012 WiFi藍牙模組,以及如何進行WiFi聯(lián)網(wǎng)、網(wǎng)絡(luò)延遲、網(wǎng)絡(luò)帶寬測試。
    的頭像 發(fā)表于 02-27 10:49 ?1010次閱讀
    如<b class='flag-5'>何在</b>PSoC62 Evaluation kit開發(fā)板<b class='flag-5'>上</b>運行<b class='flag-5'>RT-Thread</b>呢?

    移植RT-THREAD在stm32開發(fā)板,使用rt_kprintf不能正常打印的原因是什么?怎么解決?

    開發(fā)環(huán)境: STM32CubeMX 用于生成代碼; STM32CubeIDE用于調(diào)試代碼; 移植過程: 使用STM32CubeMX來移植RT-Thread;移植成功了;(操作LED
    發(fā)表于 02-20 06:24
    主站蜘蛛池模板: ppypp日本欧美一区二区| 电影 qvod| 国内精品伊人久久久影院| 91成品视频| 国语精彩对白2021| 色偷偷av男人的天堂| xiah俊秀| 麻豆COMCN| 2020亚洲 欧美 国产 日韩| 国产亚洲视频在线播放香蕉| 日日操天天操夜夜操| 99久久国产综合色| 免费精品国产人妻国语| 越南女 黑人 痛苦 大叫| 精品久久久久亚洲| 亚洲日本欧美产综合在线| 国产精品一国产精品免费| 色欲AV精品人妻一区二区麻豆| 最近2019中文字幕免费| 国产精品第九页| 偷偷鲁青春草原视频| 国产高清视频在线观看97| 日本一区不卡在线播放视频免费| Chineseman瘦老头77| 欧美性极品黑人hd| 成人影片迅雷下载| 日日摸夜夜嗷嗷叫日日拍| 国产二级一片内射视频播放| 特级毛片内射WWW无码| 国产午夜不卡在线观看视频666| 性派对xxxhd| 久久艹综合| 97精品在线| 日韩丰满少妇无码内射| 国产99热在线观看| 亚洲国产在线精品国| 久久亚洲人成网站| seyeye高清视频在线| 天天拍拍国产在线视频| 国精产品一区一区三区有限| 樱花动漫成人隐藏入口|