《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于NOR Flash的OMAPL138雙核系統自舉引導啟動實現
基于NOR Flash的OMAPL138雙核系統自舉引導啟動實現
來源:電子技術應用2014年第2期
鄧國榮,劉厚欽
暨南大學 信息技術研究所,廣東 廣州510075
摘要: 針對傳統基于AIS和串口引導啟動OMAPL138相對復雜的問題,提出了一種基于NOR Flash實現OMAPL138雙核系統二次引導自舉啟動的方法。在該方案中,分析了OMAPL138雙核系統基于ARM系統自舉引導啟動的bootloader實現流程,解決了ARM系統初始化問題,并基于ARM系統完成了OMAPL138系統硬件的初始化和應用程序的復制。最后,通過ARM系統喚醒了DSP系統,并在bootloader最后跳轉到ARM應用程序中執行,最終實現了OMAPL138雙核系統的運行。實驗結果表明,該方案能夠實現OMAPL138雙核系統的引導啟動,較之于傳統AIS和串口啟動方式更簡單,更易于實現。
關鍵詞: DSP OMAPL138 ARM Bootloader
中圖分類號: TP368
文獻標識碼: A
文章編號: 0258-7998(2014)02-0019-04
A design for OMAPL138 dual-core system boot based on NOR Flash
Deng Guorong,Liu Houqin
Institute of Information Technology, Jinan University, Guangzhou 510075,China
Abstract: For the problem of the complexity of OMAPL138 boot based on AIS and serial,a new mothed based on NOR Flash to achieve OMAPL138 dual-core system boot is introduced. In this scenario,the process of bootloader of OMAPL138 dual-core system is analyzed. Firstly,the ARM system initialization problems is solved. Then OMAPL138 system hardware initialization and copy of the ARM and DSP applications code are completed based on ARM system. Finally,DSP system is waked up by ARM system,and bootloader jumps to the ARM application at the last of bootloader,and OMAPL138 dual-core system boot is implemented finally. Experimental results show that the program can achieve OMAPL138 dual-core system boot, and it is more simple and easy to implement compared to traditional AIS and serial start-up mode.
Key words : OMAPL138;ARM;DSP;bootloader

    OMAPL138雙核處理器是由TI推出的雙核處理器,內部包含ARMDSP兩個內核,已經廣泛應用于對講機等低功耗產品中。目前,OMAPL138雙核處理器的自啟動通常采用AIS轉換器和串口下載程序的方式實現,這種實現方式需要實現串口接收并燒寫AIS轉換器轉換出來的應用程序二進制文件,整個實現比較復雜。本文介紹了一種基于NOR Flash自舉引導啟動實現OMAPL138自啟動的方案,實現簡單,易于掌握。詳細分析了OMAPL138雙核系統的啟動流程和實現方法,對于OMAPL138系統應用具有很強的參考價值。
1 OMAPL138雙核系統NOR Flash自舉啟動原理
    OMAPL138內部包含ARM和DSP雙核,要實現OMA-PL138雙核系統的自舉啟動,就需要實現ARM和DSP雙核啟動。
    本設計采用ARM喚醒DSP的引導啟動OMAPL138雙核系統,這種方式需要實現ARM核bootloader引導程序和ARM、DSP應用程序段的燒寫程序的編寫。OMAPL138程序代碼段在NOR Flash中的地址映射如圖1所示,其中,bootloader代碼段存放在OMAPL138的共享內存空間,共享內存空間位于0x80000000起始地址處,而且bootloader程序代碼段不能超過16 KB,16 KB是NOR Flash引導啟動方式自動拷貝程序代碼段的最大范圍;ARM應用程序代碼段和DSP應用程序代碼段首先都存放在OMAPL138的DDR RAM空間中,DDR的起始地址為0xC0000000, ARM應用程序和DSP應用程序必須存放在DDR中的不同地址空間;最后,ARM中斷向量表存放在ARM_LOCAL_RAM地址空間,位于0xFFFF0000處。

    基于ARM初始化OMAPL138的bootloader主要完成以下幾項工作:
    (1)初始化ARM超級模式下的堆棧;
    (2)OMAPL138的初始化;
    (3)從NOR Flash中拷貝ARM和DSP的應用程序到對應的DDR地址空間;
    (4)喚醒DSP;
    (5)在main函數中調用跳轉到ARM應用程序入口地址執行程序。
    首先,bootloader初始化ARM超級模式下的堆棧,因為在超級模式下可以訪問OMAPL138的所有寄存器,包括特權模式下才能訪問的寄存器,使得ARM系統具備初始化OMAPL138系統條件;其次,OMAPL138的初始化主要包含PSC電源管理模塊初始化、PLL時鐘管理模塊初始化、DDR的初始化和EMIFA初始化等,這些主要是OMAPL138的gel文件中的初始化工作;接下來就是初始化ARM超級模式下的堆棧起始地址和大小,然后就是拷貝ARM和DSP的應用程序到對應的DDR地址空間,這時DSP已經具備了所有啟動的環境,可以直接喚醒DSP;最后,在main函數中直接放一個跳轉指令(*(void(*)(void))0xC0000000)(),實現由bootloader到ARM應用程序的切換。至此,ARM和DSP應用程序都實現啟動運行了。
    最后就是所有程序燒寫的實現。程序燒寫是獨立于bootloader、ARM和DSP應用程序的一個應用程序,主要功能是將bootloader程序、ARM應用程序和DSP應用程序燒寫到NOR Flash對應的地址空間中去。燒寫程序代碼主要是NOR Flash讀寫程序,代碼量不大,可以直接放在OMAPL138共享內存中,但是不能與bootloader代碼空間重疊。
2 系統設計
2.1 bootloader設計
2.1.1 bootloader啟動流程

    首先,bootloader被燒寫到NOR Flash中起始地址位置處, OMAPL138內部固化的一段代碼在上電之后運行,會自動將16 KB的NOR Flash起始地址(0x60000000)處代碼復制到OMAPL138的share RAM共享內存起始地址處(0x80000000),其中,0x60000000~0x60000004這32 bit存放的是系統固化代碼配置字,可以配置拷貝數據大小、boot啟動方式和訪問數據寬度,這里boot啟動選擇拷貝數據大小為16 bit寬、Legacy NOR boot模式和16 KB數據復制寬度,在拷貝完數據之后,系統會自動跳轉到0x80000004處執行。在0x80000004地址處存放的是一個跳轉指令BL_bootload_init,使得系統固化的啟動代碼在跳轉到0x80000004地址處開始執行的第一個指令就是跳轉到bootloader初始化地址處執行。
    bootloader啟動流程如圖2所示。bootloader起始地址存放的是_bootload_init。首先,該函數更改CPSR的模式控制位和中斷控制位,使ARM處于超級模式下工作,這是因為超級模式可以直接訪問ARM的硬件資源,而且擁有與用戶模式一樣的寄存器,而用戶模式不能直接訪問特權模式下的寄存器;其次,關閉FIQ和IRQ中斷使能,初始化超級模式的堆棧;在超級模式堆棧初始化完成之后,通過BL _OMAPL138_CPU_
Init指令跳轉到OMAPL138的系統初始化函數中去處理,由于在超級模式下調用該函數,所以OMAPL138_CPU_Init()可以直接訪問OMAPL138所有的系統配置寄存器SYS_CFG_
Reg,OMAPL138_CPU_Init()需要完成PSC電源管理模塊初始化、PLL時鐘管理模塊初始化、DDR的初始化和EMIFA初始化等,這些初始化工作是為ARM和DSP應用程序運行提供基本的最小化系統;在OMAPL138初始化完成之后,DDR和EMIFA都已初始化,可以將NOR Flash中的ARM和DSP應用程序拷貝到DDR中,至此,DSP應用程序已經存放在DDR中,并且已經具備了DSP運行的所有環境。接下來即可喚醒DSP。喚醒時需要往系統寄存器HOST1CFG中寫入DSP喚醒初始地址,即DSP應用程序的起始地址。DSP喚醒就相當于對DSP做了一次軟復位,DSP在喚醒之后直接跳到復位異常地址處運行,DSP復位異常地址存放的是_c_int00函數,該函數是DSP的系統庫函數,由該函數初始化DSP運行的C語言環境,并跳轉到DSP主函數中運行。至此bootloader基本工作已經完成,可以直接通過調用函數(*(void(*)(void))0xC0000000)()跳轉到ARM應用程序對應的起始地址處開始運行ARM應用程序[1-3]。

2.1.2 ARM應用程序的初始化
    ARM初始化流程如圖3所示。首先,初始化ARM的各個異常對應的堆棧,這段代碼是ARM應用程序的初始化代碼,一般存放在ARM應用程序代碼段的起始地址處,這樣便于bootloader直接跳轉到ARM初始化開始地址處執行ARM初始化;其次,在ARM異常堆棧初始化完成之后,需要執行LDR PC,_c_int00,這個指令是調用_c_int00函數,這是ARM的一個庫函數,完成ARM運行時需要的C語言環境初始化等,并且在這個函數開始處就直接將模式切換成用戶模式,完成了用戶模式堆棧的初始化,在這個函數最后直接跳轉到ARM的main函數中執行ARM的實際應用程序。ARM初始化還必須把ARM的中斷向量表初始化映射到0xFFFF0000地址處,這是OMAPL138默認的ARM中斷向量表存放地址空間,可以通過cmd文件直接配置。至此,ARM應用程序也開始運行了[4]。

2.1.3 bootloader.cmd和nor_cfg_word.asm的編寫
    nor_cfg_word.asm文件是一個匯編文件,用來實現對NOR Flash自動拷貝bootloader程序大小的配置以及實現到bootloader初始化程序_bootload_init的跳轉。該文件直接由bootloader.cmd配置存放在0x80000000地址處,并且bootloader.cmd文件緊跟著將bootloader.asm啟動文件的匯編代碼存放在nor_cfg_word.asm文件之后。這兩個文件被燒寫到NOR Flash的起始地址空間,并最終通過系統上電啟動自動將nor_cfg_word.asm配置文件和bootloader.asm啟動文件同時復制到0x80000000共享內存share RAM并自動開始運行。
    如圖4所示,在nor_cfg_word.asm文件中第一個指令必須是.word 0x00000F01,用來實現對NOR Flash自舉引導復制程序段的配置,選擇為16 KB復制、Legacy NOR boot和16 bit寬度訪問,緊跟在配置字之后的是一個跳轉指令BL _bootload_init,該指令存放在0x80000004地址處,因為系統上電之后自動跳轉到0x80000004地址處執行程序,即執行BL _bootload_init,_bootload_init是bootloader.asm啟動文件第一個指令對應的地址,從而實現了到bootloader初始化程序的跳轉。

 

 

2.2 OMAPL138自舉啟動流程
    整個OMAPL138自舉啟動流程如圖5所示。在Nor_cfg_word中配置NOR Flash的訪問數據寬度、訪問模式和自動搬運數據塊大小,在系統上電之后,就會自動讀取Nor_cfg_word配置,從NOR Flash中搬運16 KB數據到OMAPL138的共享內存share RAM中,然后自動跳轉到share RAM的地址0x80000004中執行。在這里存放的是bootloader代碼第一條指令B _bootload_init,然后執行這條指令,由_bootload_init完成OMAPL138的系統初始化、超級模式堆棧初始化、ARM和DSP應用程序的拷貝和喚醒DSP,整個初始化過程在ARM的超級模式下完成。bootloader最后存放一條指令直接跳轉到ARM應用程序初始化地址處,開始執行ARM應用程序。ARM應用程序的初始化主要是初始化各種ARM異常堆棧,ARM應用程序的初始化最后調用ARM庫函數自帶的初始化C語言環境函數_c_int00,并由該函數自動跳轉到ARM應用程序的主函數中執行,整個ARM自舉啟動完成。DSP在被bootloader喚醒之后直接跳到系統寄存器HOST1CFG中寫入的地址處開始執行。這個DSP開始執行的地址處存放的是DSP自帶的庫函數_c_int00,這個函數會初始化DSP運行所需要的環境,并跳轉到DSP應用程序主函數中執行DSP應用程序。至此,OMAPL138雙核系統就同時啟動運行了[5-6]。

2.3 NOR Flash燒寫代碼工程設計
    在bootloader代碼、ARM和DSP應用程序代碼下載到對應的地址空間之后,這些代碼必須燒寫到NOR Flash指定地址空間。其中,配置代碼段和bootloader必須存放在NOR Flash起始地址處,這些工作由燒寫代碼工程完成。在OMAPL138的共享內存share RAM中,bootloader和配置代碼段占用16 KB空間,剩下的代碼空間可以作為燒寫代碼工程使用空間,這樣就可以使得燒寫代碼完全獨立于其他已經燒寫在內存中的代碼。在整個代碼燒寫過程中,下載到OMAPL138內存中的bootloader、ARM和DSP應用程序都不能運行,因為bootloader代碼中有對DDR的重新初始化過程,這個過程使得系統脫離了OMAPL138的gel文件初始化,而燒寫程序代碼是依賴gel文件的初始化環境運行的。所以,為了避免代碼運行過程中對燒寫代碼工程的影響,需要燒寫的代碼在下載后不可運行,燒寫代碼過程不能斷電,在燒寫完成之后,掉電再開始重新上電,燒寫的bootloader即開始自舉引導啟動OMAL138。
3 仿真結果與分析
    仿真結果如圖6所示。首先,ARM和DSP應用程序中都初始化了串口UART2,用來打印ARM與DSP雙核通信信息,然后ARM應用程序通過配置系統寄存器CHIPSIG中的SYSCFG_CHIPINT3向DSP發送系統中斷。DSP應用程序通過配置系統寄存器CHIPSIG中的SYSCFG_CHIPINT1向ARM發送系統中斷,在ARM和DSP雙方通信的各自中斷處理程序中,都首先通過串口UART2打印接收到的中斷信息,然后延時一段時間,以使ARM和DSP雙核不會同時占用UART2資源,在延時之后各自都會向對方發送中斷。圖5中輸出的信息就是在硬件板燒寫完程序后上電串口UART2輸出的打印信息。由于ARM和DSP雙核不斷地向對方發送中斷,因此不斷地向串口輸出信息,仿真結果中發送字節數為0,接收字節數為158 437,這是接收的雙核通信輸出信息,整個仿真結果可靠,充分證明了OMAPL138雙核系統被成功引導啟動。

    針對傳統的基于AIS和串口實現OMAPL138雙核系統自啟動處理復雜的問題,提出了基于NOF Flash的bootloader二次引導實現OMAPL138雙核自啟動的方案。在該方案中,分析了基于ARM核的bootloader實現流程和處理內容,解決了bootloader中ARM核系統的初始化,并基于ARM核實現了OMAPL138系統的初始化以及ARM和DSP應用程序的復制,最終通過ARM核喚醒了DSP核,并成功跳轉到ARM應用程序中執行,實現了OMAPL138的雙核運行。整個方案實現了bootloader、ARM和DSP應用程序及燒寫所有程序代碼工程都相互獨立運行、互不干擾,針對每個工程項目的cmd文件進行了詳細分析和介紹,對于整個bootloader啟動流程做了詳細的說明,整個過程清晰、可靠。實驗結果表明,該方案可以實現OMAPL138的自舉啟動。
參考文獻
[1] 劉遠峰,陳志華.一種新的基于TMS320C6000 DSP的Flash引導自啟動方法[J].電視技術,2011,21(35):54-57.
[2] 王潔,蘇東林,姜鐵華.基于TMS320C6000系列DSP的二次Bootl oader研究[J].電子工程師,2005,8(31):53-55.
[3] 劉濤,倪江生,王丹丹.基于DSP的Flash自啟動設計[J].儀表技術,2009(9):44-45.
[4] 王鵬,簡秦勤,范俊鋒.基于TMS320C6000 DSP及DSP/BIOS系統的Flash引導自啟動設計[J].電子元器件應用,2012,12(14):35-39.
[5] 余同正,徐龍祥.基于雙DSP的磁軸承數字控制器容錯設計[J].電子技術應用,2005,31(1):27-29.
[6] 郭唐仕,尹華杰,陳錦云.基于雙DSP低電壓大電流交換器的模糊PID控制[J].電子技術應用,2003,29(5):79-81.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美成人嫩草网站| 国产午夜精品一区理论片飘花| 亚洲美女免费精品视频在线观看| 欧美日韩国产三级| 久久午夜国产精品| 日韩一本二本av| 在线视频精品一区| 在线观看av一区| 欧美成人在线免费观看| 久久久成人精品| 欧美精品国产| 欧美日本三区| 久久激五月天综合精品| 国产精品视频免费| 美日韩在线观看| 久久国产精品第一页| 国产女人18毛片水18精品| 亚洲午夜一区二区| 欧美大片网址| 久久久久国产精品人| 午夜精品亚洲一区二区三区嫩草| 国产午夜精品在线| 麻豆国产精品va在线观看不卡| 亚洲自拍16p| 久久久噜噜噜久久狠狠50岁| 国产婷婷成人久久av免费高清| 国产欧美va欧美va香蕉在| 国产精品成人一区二区网站软件| 国产精品久久99| 欧美大片在线观看一区二区| 亚洲欧美日韩一区在线| 尤物在线精品| 亚洲开发第一视频在线播放| 免费成人高清| 久久全国免费视频| 亚洲在线视频免费观看| 伊人久久大香线蕉综合热线| 亚洲欧洲精品一区二区三区波多野1战4| 亚洲第一伊人| 亚洲精品免费一区二区三区| 欧美护士18xxxxhd| 亚洲高清成人| 国产美女精品视频免费观看| 亚洲欧洲av一区二区| 久久精品国产清高在天天线| 亚洲国产精品一区二区第四页av| 在线观看视频亚洲| 欧美成人一区二区三区| 亚洲精品一区二区在线| 久久久久一区二区三区四区| 蜜臀av性久久久久蜜臀aⅴ| 亚洲人成网站999久久久综合| 亚洲国产另类久久久精品极度| 一本色道久久88精品综合| 国产精品久久久久久久久久三级| 欧美在线一级视频| 欧美精品 国产精品| 欧美视频第二页| 国产精品高清一区二区三区| 国产色婷婷国产综合在线理论片a| 国产亚洲综合性久久久影院| 国产精品久久午夜| 亚洲国产精品www| 国产精品久久久久久久第一福利| 欧美性淫爽ww久久久久无| 欧美精品一区二区三区四区| 久久精品综合一区| 91久久中文字幕| 欧美一级免费视频| 在线免费观看日韩欧美| 羞羞视频在线观看欧美| 久久精品久久综合| 欧美色欧美亚洲另类七区| 性做久久久久久免费观看欧美| 国产精品美女主播在线观看纯欲| 在线成人性视频| 亚洲第一在线| 欧美成人乱码一区二区三区| 欧美大片在线观看| 欧美四级电影网站| 久久久www| 国内成人精品2018免费看| 国产欧美日韩一区二区三区在线| 欧美极品一区| 国产日韩在线亚洲字幕中文| 99re6这里只有精品视频在线观看| 亚洲欧美日韩久久精品| 久久精品国产91精品亚洲| 欧美三级视频在线观看| 欧美精品v日韩精品v韩国精品v| 欧美伦理91| 在线成人www免费观看视频| 国产亚洲第一区| 久久精品一区| 国产精品一区一区| 久久久噜噜噜久久狠狠50岁| 久久九九久精品国产免费直播| 国产亚洲激情| 日韩视频免费大全中文字幕| 国产精品亚洲аv天堂网| 欧美激情国产日韩| 日韩亚洲不卡在线| 亚洲欧美在线aaa| 欧美不卡在线| 欧美丝袜第一区| 久久精品中文字幕免费mv| 国产精品网站一区| 日韩亚洲精品电影| 国产精品99久久99久久久二8| 新狼窝色av性久久久久久| 亚洲精品乱码久久久久久| 亚洲一区三区在线观看| 欧美日本精品在线| 亚洲国产一区二区三区a毛片| 欧美视频观看一区| 国产精品乱人伦中文| 午夜性色一区二区三区免费视频| 欧美日韩在线播放| 91久久精品视频| 久久亚洲一区二区三区四区| 亚洲人成在线播放| 亚洲欧洲在线观看| 99天天综合性| 亚洲欧美日韩在线播放| 欧美人与性动交cc0o| 黄色免费成人| 亚洲私拍自拍| 欧美国产日产韩国视频| 国产精品夜夜夜一区二区三区尤| 亚洲欧美日韩一区二区三区在线观看| 亚洲日本欧美| 欧美午夜视频网站| 一区二区三区视频在线观看| 国产性色一区二区| 欧美韩日一区二区| 国产日韩欧美一区二区三区四区| 亚洲愉拍自拍另类高清精品| 一区二区三区久久久| 亚洲一区二区三区涩| 美女精品国产| 亚洲一区二区三区国产| 国产欧美日韩在线视频| 欧美日韩国产电影| 国产精品久久久久久久午夜| 久久黄色小说| 狠狠久久婷婷| 久久亚洲欧美国产精品乐播| 91久久久久久久久| 亚洲女ⅴideoshd黑人| 欧美一区久久| 亚洲国产精品一区二区第四页av| 欧美国产视频日韩| 欧美另类videos死尸| 欧美亚州在线观看| 麻豆精品视频在线观看| 欧美视频精品在线观看| 激情91久久| 亚洲国产裸拍裸体视频在线观看乱了中文| 你懂的国产精品永久在线| 黑人中文字幕一区二区三区| 亚洲成人在线观看视频| 欧美日韩视频专区在线播放| 91久久精品国产| 欧美日韩另类综合| 亚洲一二三区在线观看| 国产精品乱子久久久久| 欧美日韩一区二| 亚洲精品美女久久久久| 欧美色精品在线视频| 国产在线观看91精品一区| 国产精品成人v| 国产色综合久久| 永久久久久久| 欧美一区二区三区视频免费| 极品裸体白嫩激情啪啪国产精品| 99精品视频免费在线观看| 亚洲激情电影中文字幕| 久久婷婷亚洲| 影音先锋久久资源网| 亚洲精品视频一区| 亚洲网站在线播放| 亚洲精品在线免费| 亚洲美女诱惑| 国产精品视频网| 一区二区三区三区在线| 欧美精品v日韩精品v韩国精品v| 亚洲午夜一级| 欧美v日韩v国产v| 亚洲激情校园春色| 亚洲在线1234| 国产精品嫩草99a| 欧美一区二区在线| 欧美日韩国产成人在线91| 欧美 日韩 国产精品免费观看| 午夜精彩视频在线观看不卡| 久久精品国产96久久久香蕉| 亚洲精品久久久一区二区三区| 亚洲国产免费看| 美女图片一区二区| 国产精品日日摸夜夜添夜夜av| 国产精品视频一区二区三区| 国产精品网曝门| 亚洲精品一二区| 久久久久一区二区三区四区| 激情综合色丁香一区二区| 雨宫琴音一区二区在线| 亚洲国产日本| 欧美精品系列| 嫩草成人www欧美| 国产精品美女久久久浪潮软件| 欧美在线视频不卡| 在线观看亚洲视频啊啊啊啊| 一区二区欧美激情| 欧美二区不卡| 国内外成人免费激情在线视频网站| 国产日韩综合一区二区性色av| 国产精品视频免费观看| 国产精品亚洲综合天堂夜夜| 欧美精品一区二区高清在线观看| 亚洲一区二区三区四区视频| 亚洲国产免费看| 国产一区二区三区久久| 亚洲另类一区二区| 中文精品一区二区三区| 欧美精品日韩精品| 欧美日本三级| 国产日产精品一区二区三区四区的观看方式| 国产三级欧美三级日产三级99| 欧美一区二区三区在线观看视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 久久综合一区二区三区| 国产精品热久久久久夜色精品三区| 国产一区二区三区四区在线观看| 欧美精品导航| 国产精品99久久久久久久vr| 国产精品99久久不卡二区| 国产精品成人免费精品自在线观看| 在线精品国产成人综合| 亚洲欧美日韩国产中文在线| 伊甸园精品99久久久久久| 亚洲欧美在线另类| 国内自拍视频一区二区三区| 欧美偷拍一区二区| 亚洲无线视频| 亚洲午夜精品在线| 久久综合成人精品亚洲另类欧美| 欧美国产精品人人做人人爱| 亚洲欧美激情视频在线观看一区二区三区| 黑人巨大精品欧美一区二区小视频| 国产日韩在线不卡| 免费久久99精品国产自在现线| 一区二区三区www| 性视频1819p久久| 宅男噜噜噜66一区二区66| 欧美成人免费一级人片100| 欧美日韩亚洲成人| 国产亚洲精品aa| 欧美三级日韩三级国产三级| 日韩一本二本av| 国产亚洲欧美一区| 午夜精品国产更新| 亚洲网在线观看| 国产一区二区三区自拍| 欧美中文字幕在线| 9色国产精品| 亚洲精品乱码久久久久久黑人| 尤物九九久久国产精品的分类| 欧美粗暴jizz性欧美20| 亚洲国产一区二区精品专区| 国产精品一区二区视频| 亚洲精品资源美女情侣酒店| 国产精品美女久久久久久免费| 欧美精品aa| 嫩草国产精品入口| 在线免费观看日本一区| 亚洲第一久久影院| 亚洲欧美日本日韩| 亚洲精品欧美精品| 欧美成人a∨高清免费观看| 91久久夜色精品国产网站| 亚洲在线播放电影| 一区在线视频| 一区二区在线观看视频| 国产一区二区三区在线观看免费视频| 亚洲日韩中文字幕在线播放| 欧美在线视频一区二区| 国产在线拍揄自揄视频不卡99| 一区二区三区回区在观看免费视频| 狠狠色综合日日| 久久亚洲视频| 亚洲精品自在久久| 9l视频自拍蝌蚪9l视频成人| 欧美激情一区二区三级高清视频| 欧美成人中文| 你懂的国产精品| 国产情侣久久| 黄色资源网久久资源365| 国产欧美精品国产国产专区| 国产一区二区三区四区老人| 欧美顶级艳妇交换群宴| 狠狠色丁香婷婷综合| aa亚洲婷婷| 一区二区三区蜜桃网| 久久精品男女| 在线观看亚洲专区| 国产精品国产三级国产专播品爱网| 亚洲国产精品国自产拍av秋霞| 亚洲美女免费视频| 亚洲欧美影院| 欧美一区二区视频观看视频| 欧美成人黑人xx视频免费观看| 亚洲欧美日韩在线| 国语对白精品一区二区| 亚洲性色视频| 欧美日韩一区二区三区| 欧美亚一区二区| 久久www免费人成看片高清| 日韩一级裸体免费视频| 国产精品日韩欧美大师| 久久精品99国产精品日本| 国产精品一区二区久久精品| 欧美理论在线| 国产精品美女在线观看| 欧美性大战久久久久久久蜜臀| 亚洲欧美日韩国产| 极品中文字幕一区| 久久久久成人精品| 免费观看成人鲁鲁鲁鲁鲁视频|