《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于AutoSAR規范的驅動代碼生成工具箱設計與實現
基于AutoSAR規范的驅動代碼生成工具箱設計與實現
來源:電子技術應用2012年第7期
馮輝宗,劉先東,蔣建春,邱寶梅
重慶郵電大學 重慶高校汽車電子與嵌入式系統工程研究中心,重慶400065
摘要: 針對汽車控制器中驅動代碼生成存在對硬件依賴性強、代碼格式不規范、可重用性不強等問題,提出利用仿真建模工具Simulink/RTW、結合AutoSAR規范、基于代碼生成技術的汽車控制器驅動工具箱的設計方法。通過對驅動配置模塊的不同芯片配置及對相關參數的設置滿足多處理器需求,依據AutoSAR規范對驅動函數接口的封裝實現代碼的可重用性。最后將設計的驅動工具箱結合代碼生成模板應用于BCM車窗控制系統,實驗證明了該方法的高效性和可行性。
中圖分類號: TP316.2
文獻標識碼: A
文章編號: 0258-7998(2012)07-0033-04
Design and implementation of the driver code generation toolbox based on AutoSAR
Feng Huizong,Liu Xiandong,Jiang Jianchun,Qiu Baomei
Engineering Research Center of Automotive Electron and Embeded System, Chongqing University of Posts and Telecommunications, Chongqing 400065,China
Abstract: According to the problems of code generation in the driver of auto controller, such as depending on hardware strongly,code format not standard, reusability not strong and so on, this paper puts forward a kind of designing method of the driver toolbox of auto controller using the simulation modeling tools Simulink/RTW, combining with AutoSAR norms,based on code generation. In designing process, it meets many processors through different chips configuration and the related parameters settings of the drive configuration module, and realizes the code reusability through the encapsulation of driver function interface according to AutoSAR norms. Finally, the designed driver toolbox is used in BCM windows control system, combining with the code generation template, and the experimental results proves the high efficiency and feasibility of this method.
Key words : code generation;the drive toolbox;AutoOSAR;Simulink/RTW

    隨著汽車電子的飛速發展和代碼自動生成技術的出現,汽車電子控制系統實現了從建模、仿真到代碼自動生成的一體化開發, 極大提高了生成代碼的效率、通用性及可移植性[1]。但是,汽車控制系統中驅動代碼卻依賴于特定的硬件與運行環境,主要還是以手工編寫代碼為主[2]。這種手工編寫代碼的方法存在大量的重復勞動,且代碼無法規范統一,可重用性不強、可讀性差。

    所以,設計一款可以兼容多款處理器的驅動代碼工具,生成統一性、規范性和開發性代碼成為行業發展的趨勢。當前在汽車行業應用最廣的是德國dSPACE公司的Targetlink代碼生成工具和Mathworks公司的RTW代碼生成工具[3]。本文采用Matlab/Simulnik/RTW工具設計并實現了基于代碼生成技術的驅動工具箱,實現了汽車電控系統中驅動代碼生成的可靠性、安全性、高效性及可移植性。
1 AutoSAR規范驅動接口
    汽車開放式系統架構標準AutoSAR(AuTomotive Open System ARchitecture),主要可分為三層:應用層、運行時環境和基礎軟件。其中基礎軟件又包括系統服務、ECU抽象層和uC抽象層,所有驅動程序都包含在uC抽象層和ECU抽象層中。
    本文依據AutoSAR規范中ECU抽象層和uC抽象層中硬件接口標準編寫驅動程序,組成驅動資源庫[4]。驅動程序按照硬件功能特點可分為四類:通用I/O硬件驅動、通信硬件驅動、存儲硬件驅動和微控制器驅動。其內容與結構如圖1所示。

    AutoSAR規范定義了汽車電控單元硬件驅動程序的接口規范,把驅動函數進行了標準化和模塊化,為驅動工具箱開發應用奠定了良好的基礎。
2 驅動代碼生成工具箱的設計與實現
2.1 設計方法

    在Simulink/RTW平臺上設計基于AutoSAR規范的驅動代碼生成工具箱是通過建立S函數模塊配置參數并設計封裝入庫[5]來實現的。驅動工具箱的設計流程如圖2所示,具體內容如下:

    (1)分析AutoSAR規范中驅動函數接口標準的內容,確定驅動應用代碼的內容。
    (2)分析汽車電控系統中驅動代碼的需求,確定驅動應用代碼的格式。
    (3)根據規范和需求確定驅動工具箱的設計方案,設計驅動工具箱為驅動配置功能模塊和驅動API功能模塊兩大類。
    (4)編寫S函數,實現驅動配置功能模塊和驅動API功能模塊的參數變量。
    (5)在Simulink平臺上建立S函數模塊并添加各功能模塊的參數變量。
    (6)設計和封裝S函數模塊內容及格式,實現驅動功能模塊的功能和創建驅動工具箱并添加到Simulink庫中。
    (7)依據驅動工具箱的功能編寫代碼生成模板,實現驅動應用代碼自動生成。
2.2 實現
    下面以驅動ADC模塊的實現為例詳細介紹驅動工具箱模塊的實現方法。
    依據驅動工具箱的設計方案可知,驅動ADC功能模塊分為配置模塊和API模塊。ADC配置模塊實現不同處理器初始化配置;API模塊(即ADC驅動函數模塊)實現驅動函數接口的配置及函數的調用。ADC功能模塊實現的主要步驟及內容如表1所示。

    ADC驅動模塊庫中配置模塊通過初始化相關參數的配置,實現不同處理器下驅動ADC使用時其相關的頭文件包含、配置文件生成、初始化結構體參數配置及ADC的API開關定義。ADC驅動API模塊由API函數接口變量的配置實現驅動函數與控制算法的無縫連接,并配置函數體參數實現API函數的正確調用。
    各驅動模塊設計封裝好后添加到Simulink庫中就完成了驅動工具箱的設計。圖3是驅動代碼生成工具箱各功能模塊的結構圖。

3 驅動工具箱代碼生成模板的設計與實現
    代碼生成模板基于模塊TLC設計,其主要功能是驅動函數初始化代碼的實現和API函數調用代碼的實現[5]。
3.1 設計
    基于RTW的代碼生成工具設計驅動工具箱代碼生成模板,主要包含系統目標TLC和驅動模塊TLC。系統目標TLC在Matlab7.1版系統目標osekworks.tlc基礎上修改,修改TLC組件的包含及相關文件名即可[6]。驅動工具箱代碼生成模板結構圖如圖4所示。

 

 

    驅動配置模塊TLC實現驅動初始化部分代碼的生成,驅動API模塊實現驅動函數調用代碼的生成。下面結合這兩類功能模塊TLC介紹驅動工具箱代碼生成模板的設計。
    (1)驅動配置模塊TLC的設計
    驅動配置模塊TLC結合配置模塊參數生成關聯芯片選擇的驅動初始化相關代碼,其主要內容可以分為三大部分,具體內容如下:
    ①頭文件包含代碼。TLC文件中由條件判斷語句判斷文件包含命令,再由TLC中文件內插入代碼語句實現頭文件包含代碼。
    ②配置文件與API開關代碼。TLC中首先判斷芯片選擇內容,再由配置文件生成語句實現對應的配置文件生成,最后在生成的配置文件中添加對應選擇芯片的驅動API開關代碼內容。
    ③用戶自定義函數與驅動初始化函數代碼。用戶自定義函數包含驅動初始化函數、實現用戶自定義驅動初始化函數功能。用戶自定義函數代碼包含main函數中的函數調用、頭文件中函數的聲明、源文件中函數體的定義等內容。驅動初始化結構體參數和初始化函數內嵌到自定義函數定義里。
    (2)驅動API模塊TLC的設計
    按照API模塊代碼生成模板功能,驅動API模塊TLC要實現的是API函數的調用代碼和函數返回值傳遞。API函數調用代碼包含函數及參數配置,在TLC中由獲取模塊參數值實現。函數返回值的傳遞由全局變量實現,在配置文件中對全局變量進行定義聲明。
3.2 實現
    每個驅動模塊代碼生成模板實現方法都一致。下面以ADC為例分析驅動配置模塊TLC和驅動API模塊TLC介紹代碼生成模板的具體實現。
    (1)ADC驅動配置模塊TLC的實現
    ADC驅動模塊TLC內容分三部分,各部分通過條件選擇和配置文件實現與芯片選擇關聯。
    ①頭文件包含部分實現主要代碼如下:
    %assign
      c/hFile=LibCreateSourceFile("Source/Header","Custom,
"%<SFcnParamSettings.ObjFName>")
    %<LibSetSourceFileSection(c/hFile,"Functions",buffer)>
    //頭文件或者源文件生成代碼實現
      %openfile buffer
      #include&ldquo;adc_app.h&rdquo;
      %closefile buffer
      ②配置文件與API開關部分:在生成的配置文件中添加相關API開關,實現代碼如下:
      %openfile buffer
      %if SFcnParamSettings.Adc_GetVersionInfo_API==
"on"
    #define ADC_GET_VERSION_INFO_API STD_ON
    &hellip;&hellip;.//各驅動API開關添加
    %closefile buffer
    ③配置文件與驅動初始化配置:在生成的配置文件中添加驅動初始化代碼,實現代碼如下:
    %openfile buffer
    void %<SFcnParamSettings.APPFcnName>()
    {const Adc_ConfigType
    %<SFcnParamSettings.Adc_Config>={
    ADC驅動初始化結構體參數代碼};
    Adc_Init(&%<SFcnParamSettings.Adc_Config>);}
    %closefilebuffer
    (2)ADC驅動API模塊TLC的實現
    驅動API模塊TLC中主要是函數參數配置與返回值傳遞,具體實現代碼如下:
    %openfile buffer
    Extern%<SFcnParamSettings.DataBufferType>
    %closefile buffer
    在生成源文件中插入以下代碼實現全局變量定義:
    %openfile buffer
    %<SFcnParamSettings.DataBufferName>={0};
    %closefile buffer
4 驅動代碼生成工具箱的應用
    驅動工具箱應用于BCM車窗控制系統中,實現車窗控制系統中驅動代碼的自動生成。
    車窗控制系統中需要驅動的有兩部分:車窗控制函數的輸入信號由ADC采樣獲取;車窗控制函數輸出信號由DIO或者PORT實現對目標ECU管腳的輸出,完成對車窗的驅動。
    使用Real-Time Workshop將Simulink模型轉化為代碼時,編譯器通過系統目標TLC并調用模塊對應的TLC文件,最終生成滿足目標ECU的C語言代碼。下面是RTW中驅動應用于車窗控制模型代碼自動生成的三個步驟:
    第一步:修改Matlab中系統目標TLC文件osekworks.tlc。
    第二步:配置模型參數配置對話框中的標簽頁對其中幾個標簽頁進行設置。
    (1)Solver:設置Solver類型為離散(discrete)固定步長(Fixed-step);
    (2)Real-Time Workshop:在該標簽頁中填寫系統目標osekworks.tlc,調用對應的模塊TLC文件來生成代碼。
    第三步:代碼自動生成。 點擊Real-Time Workshop中的GenerateCode可以直接生成代碼。
    從代碼生成報告中可看出,驅動應用部分代碼主要體現在包含驅動初始化代碼的配置文件和調用驅動API函數的車窗控制算法代碼文件中。下面是兩部分的驅動應用代碼生成的結果。
    (1)Adc_App.c文件中ADC驅動初始化部分:
    #include "Adc_App.h"
    uint16 DataBufferPtr_FR[1]= { 0 };
    void Adc_APP_Init_FR()
        {const Adc_ConfigType Adc_Config= {
        ADC_CHANNEL_3,
        &hellip;&hellip;};//結構體參數配置
        Adc_Init(&Adc_Config);
    (2)車窗控制scan_MR_window_SW中ADC驅動應用:
    unsigned char scan_MR_window_SW(old_AD)
    {unsigned int AD_value,status;
    Adc_APP_Init_MR();
    Adc_SetupResultBuffer(ADC_GROUP_2,DataBuffer Ptr_MR);    本文采用Matlab/Simulink/RTW工具,結合AutoSAR驅動規范,提出了一種基于代碼生成技術的汽車電子底層驅動工具箱的設計方法。該方法能屏蔽芯片硬件特性的差異性,滿足不同硬件處理器要求。通過BCM車窗控制模型對驅動的應用,實現了代碼的自動生成??焖偬鎿Q控制模型中的被控對象,極大地方便了汽車電子嵌入式控制系統底層驅動代碼的應用,提高了汽車電子控制系統的開發效率。
參考文獻
[1] 齊振恒,孫中杰,李濤.RTW嵌入式代碼自動生成機制與代碼結構分析[J].計算機測量與控制,2010,18(3):639-642.
[2] 鄢化彪.構建RTW下的嵌入式系統開發環境.單片機與嵌入式系統應用[J].2007(1):72-73.
[3] Real-Time workshop for use with Simulink[M].The Mathworks Inc.1999:5-26.
[4] 王安軍,蔣建春,陳培然.符合AUTOSAR 規范的底層驅動軟件開發[J].計算機工程,2011(9):62-64、67.
[5] 陳永春.從Matlab/Simulink模型到代碼實現[M].北京:清華大學出版社,2002:180-200.
[6] Hu Jinhui,Hu Dabin,Xiao Jianbo.Study of real-time simulation system based on RTW and Its application in warship simulator[C].Conference on Electronic Measurement  & Instruments,2009:966-970.

此內容為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| 亚洲精品网站在线播放gif| 黄网动漫久久久| 国产精品亚洲综合一区在线观看| 国语自产精品视频在线看| 国产精品福利在线观看网址| 久久久久成人网| 欧美日韩国产一级片| 欧美人牲a欧美精品| 国产精品一区二区视频| 精品动漫3d一区二区三区免费| 亚洲激情av| 久久精品国亚洲| 国产精品久久午夜| 韩曰欧美视频免费观看| 性欧美暴力猛交69hd| 国产精品一区二区三区四区五区| 欧美刺激性大交免费视频| 午夜精品久久久久久久久久久久| 欧美三区在线视频| 蜜桃av一区二区在线观看| 久久久久久亚洲精品不卡4k岛国| 久久综合精品一区| 黄色成人在线网址| 国产亚洲精品久久久久久| 国产精品久久久亚洲一区| 亚洲国产高清一区二区三区| 裸体女人亚洲精品一区| 亚洲免费视频一区二区| 老司机凹凸av亚洲导航| 久久字幕精品一区| 久久视频精品在线| 亚洲精品久久久久| 亚洲欧美日韩成人高清在线一区| 欧美一区二区三区四区在线观看| 影音先锋中文字幕一区二区| 亚洲视频一区在线| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲精品国产精品国自产在线| 日韩一级大片| 欧美在线三级| 狠狠爱成人网| 欧美另类视频在线| 国产老肥熟一区二区三区| 欧美日韩在线影院| 在线视频一区二区| 在线亚洲+欧美+日本专区| 亚洲国产精品va在线观看黑人| 国产精品普通话对白| 国模精品一区二区三区| 久久精品99久久香蕉国产色戒| 久久蜜桃香蕉精品一区二区三区| 国产色综合天天综合网| 亚洲欧美日本在线| 欧美色道久久88综合亚洲精品| 99精品国产在热久久婷婷| 国产精品无人区| 欧美日韩中文字幕在线视频| 亚洲国内欧美| 欧美高清视频在线播放| 亚洲福利一区| 久久久最新网址| 久久精品亚洲一区| 亚洲国产一区二区精品专区| 亚洲人成网站777色婷婷| 欧美视频四区| 久久国产日韩| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产亚洲精品7777| 亚洲午夜未删减在线观看| 国产欧美一区二区三区久久人妖| 国产精品嫩草影院一区二区| 欧美精品一二三| 国产精品网站在线| 亚洲看片免费| 亚洲永久免费视频| 1769国产精品| 亚洲高清视频的网址| 欧美亚洲一级| 欧美精品1区2区| 欧美激情中文字幕一区二区| 欧美日韩精品不卡| 久久人91精品久久久久久不卡| 欧美一站二站| 欧美色道久久88综合亚洲精品| 欧美性一二三区| 久久久免费精品| 久久人91精品久久久久久不卡| 国内伊人久久久久久网站视频| 亚洲天堂久久| 国产精品久久九九| 久热精品视频在线观看一区| 欧美一区二区三区四区高清| 欧美另类专区| 99热免费精品在线观看| 91久久精品日日躁夜夜躁欧美| 亚洲欧美日韩精品综合在线观看| 国产精品高潮呻吟久久av黑人| 麻豆精品国产91久久久久久| 国产偷国产偷精品高清尤物| 国产一区二区三区久久久久久久久| 亚洲激情网站| 国内精品视频在线观看| 在线视频你懂得一区二区三区| 欧美片在线观看| 91久久在线观看| 国产精品成人免费视频| 欧美国产一区视频在线观看| 亚洲欧美日韩精品综合在线观看| 国产精品一区免费观看| 久久久亚洲欧洲日产国码αv| 国产日韩欧美高清免费| 亚洲婷婷在线| 狼狼综合久久久久综合网| 欧美激情视频一区二区三区免费| 亚洲国产裸拍裸体视频在线观看乱了中文| 一本久道综合久久精品| 欧美日韩精品| 在线看不卡av| 亚洲女同性videos| 亚洲欧美日韩一区二区在线| 久久se精品一区二区| 亚洲国产日韩欧美一区二区三区| 久久精品视频在线免费观看| 国产精品久久久久国产精品日日| 国产一区二区三区电影在线观看| 亚洲专区在线| 亚洲美女视频在线免费观看| 激情91久久| 国产精品羞羞答答xxdd| 午夜一级在线看亚洲| 久久婷婷国产麻豆91天堂| 激情一区二区三区| 日韩视频一区二区三区| 亚洲国产欧美一区二区三区同亚洲| 亚洲精品欧美精品| 欧美国产极速在线| 国产精品男人爽免费视频1| 免费观看亚洲视频大全| 欧美激情视频一区二区三区免费| 亚洲春色另类小说| 欧美日韩一区二区三区在线看| 欧美午夜女人视频在线| 欧美屁股在线| 国产精品一区二区三区成人| 久久最新视频| 一区免费在线| 国产亚洲二区| 在线免费观看一区二区三区| 久久综合色8888| 国产综合香蕉五月婷在线| 欧美激情1区| 麻豆精品在线播放| 亚洲国产精品一区制服丝袜| 久久蜜桃精品| 久久久久高清| 亚洲午夜国产一区99re久久| 欧美激情二区三区| 亚洲精品乱码久久久久久久久| 你懂的网址国产 欧美| 伊人精品视频| 久久久午夜精品| 久久久成人精品| 激情视频一区| 欧美一区二区三区成人| 日韩亚洲不卡在线| 亚洲国产精品激情在线观看| 久久精品视频免费| 国产日韩av一区二区| 亚洲欧美日韩一区二区在线| 极品少妇一区二区三区精品视频| 亚洲福利久久| 欧美在线资源| 亚洲第一黄色| 久久香蕉国产线看观看av| 国产精品一级久久久| 国产欧美一区二区精品忘忧草| 久久精品成人欧美大片古装| 激情av一区二区| 亚洲日本理论电影| 性欧美办公室18xxxxhd| 国产精品日韩欧美| 亚洲激情影视| 久久久综合激的五月天| 欧美三日本三级三级在线播放| 亚洲人精品午夜在线观看| 亚洲大片在线观看| 亚洲国产精品第一区二区三区| 欧美激情第一页xxx| 一区二区三区四区国产精品| 国产精品99免费看| 欧美日本乱大交xxxxx| 日韩香蕉视频| 欧美日韩免费精品| 午夜视频一区二区| 欧美日韩三区| 欧美福利视频在线观看| 久久精品72免费观看| 性欧美video另类hd性玩具| 国产在线拍揄自揄视频不卡99| 欧美日韩精品免费观看视频| 亚洲视频网在线直播| 国产精品久在线观看| 久久精品99国产精品| 亚洲国产精品尤物yw在线观看| 欧美搞黄网站| 日韩一级黄色av| 亚洲最快最全在线视频| 欧美v亚洲v综合ⅴ国产v| 亚洲精品在线一区二区| 国产精品豆花视频| 亚洲激情校园春色| 亚洲精品一区二区三区不| 亚洲欧美一级二级三级| 欧美一区二区三区精品电影| 国产欧美日韩视频在线观看| 亚洲国产精品传媒在线观看| 国产精品美腿一区在线看| 欧美日韩美女在线观看| 欧美精品1区2区3区| 欧美日韩综合在线| 久久天天狠狠| 免费不卡视频| 午夜精品在线视频| 国产亚洲成av人在线观看导航| 亚洲美女精品久久| 国产亚洲视频在线观看| 久久久久久久999精品视频| 在线成人亚洲| 国产精品久久久久久久久久久久| 国产精品成人一区二区艾草| 国产精品久在线观看| 久久精品夜色噜噜亚洲aⅴ| 一区二区免费在线播放| 香港成人在线视频| 亚洲午夜久久久久久久久电影网| 99re6这里只有精品| 久久精品国产99国产精品| 国产精品色在线| 日韩午夜在线观看视频| 国产精品久久精品日日| 欧美激情一区二区三级高清视频| 国产精品videosex极品| 国产欧美va欧美不卡在线| 在线综合亚洲| 亚洲国产高清自拍| 欧美一级视频免费在线观看| 国产精品免费一区豆花| 国产亚洲人成网站在线观看| 久久黄金**| 在线免费观看日本一区| 欧美大片va欧美在线播放| 欧美在线视频在线播放完整版免费观看| 亚洲激情欧美| 中国av一区| 国产精品久久9| 亚洲成色777777女色窝| 国产精品视频大全| 亚洲一区二区四区| 欧美午夜美女看片| 99re成人精品视频| 久久久噜噜噜久久人人看| 亚洲第一免费播放区| 亚洲午夜激情在线| 亚洲一区二区三区精品动漫| 欧美成人综合| 午夜一区在线| 欧美激情bt| 欧美一区二区三区四区夜夜大片| 亚洲一区二区三区四区视频| 一本色道久久综合狠狠躁的推荐| 欧美高清你懂得| 欧美理论电影在线观看| 老司机午夜精品| 欧美日韩美女| 欧美日韩国产a| 狠狠入ady亚洲精品经典电影| 欧美性一区二区| 久久麻豆一区二区| 国产精品家庭影院| 欧美日韩国产探花| 狠狠色香婷婷久久亚洲精品| 欧美综合二区| 一区二区三区|亚洲午夜| 国产精品白丝黑袜喷水久久久| 国产亚洲精品v| 欧美激情精品久久久久久变态| 国产在线精品二区| 免费观看成人鲁鲁鲁鲁鲁视频| 国产日韩综合一区二区性色av| 亚洲国产精品久久人人爱蜜臀| 久久综合狠狠综合久久综青草| 国产精品入口| 影音先锋久久| 欧美精品亚洲精品| 亚洲国产一区二区精品专区| 国产一区日韩二区欧美三区| 国产精品成人一区二区三区夜夜夜| 怡红院精品视频| 亚洲欧美日韩爽爽影院| 国产精品国产三级国产普通话三级| 欧美日韩中文字幕日韩欧美| 蜜臀99久久精品久久久久久软件| 蜜桃av久久久亚洲精品| 国产精品r级在线| 久久综合九色| 欧美日韩精品一区二区三区| 久久青青草原一区二区| 久久久久久尹人网香蕉| 亚洲成人在线网站| 欧美国产视频在线| 亚洲作爱视频| 免费亚洲婷婷| 久久久91精品国产一区二区精品| 久久九九免费| 久久精品国产第一区二区三区最新章节| 国产香蕉97碰碰久久人人| 一个人看的www久久|