欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于嵌入式操作系統(tǒng)的仿真調(diào)試系統(tǒng)及方法

文檔序號:6444387閱讀:720來源:國知局
專利名稱:基于嵌入式操作系統(tǒng)的仿真調(diào)試系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種仿真調(diào)試系統(tǒng)及方法,特別是涉及一種基于嵌入式操作系統(tǒng)的仿真調(diào)試系統(tǒng)及方法。
背景技術(shù)
仿真器是用于嵌入式設(shè)備的常用設(shè)備,用于嵌入式程序的調(diào)試,其主要目的是使嵌入式程序執(zhí)行過程可控,以便了解程序的運(yùn)行狀態(tài),常見的調(diào)試手段包括:斷點(diǎn)、單步查看資源等等。圖1是現(xiàn)有技術(shù)中常見的一個(gè)仿真器的基本結(jié)構(gòu)圖,其中,虛框所示部分即為仿真調(diào)試設(shè)備,它能將上位機(jī)的調(diào)試指令轉(zhuǎn)化成滿足IEEE1149.1的信號并下發(fā)至待調(diào)試的開發(fā)板(即圖中之目標(biāo)板)上,它主要包括調(diào)試處理單元和TAP (測試訪問端口)控制器這兩部分。對于上述仿真器,針對實(shí)際需求,其調(diào)試處理單元可以有不同的實(shí)現(xiàn)。如果是針對比較簡單而且相對固定的調(diào)試需求,該調(diào)試處理單元可以設(shè)計(jì)的比較簡單,僅需要做一些信號上的轉(zhuǎn)換,可以使用固定的硬件邏輯實(shí)現(xiàn),這樣的方案具有成本低、速度快的優(yōu)點(diǎn),但缺點(diǎn)是靈活性差;針對于復(fù)雜調(diào)試需求,調(diào)試處理單元可以使用通用或?qū)S锰幚砥髯鳛檎{(diào)試處理器,以保證能對復(fù)雜的調(diào)試需求做出及時(shí)的響應(yīng)。針對采用通用處理器作為調(diào)試處理單元的方案,通常會使用嵌入式操作系統(tǒng),而將調(diào)試控制程序作為系統(tǒng)上的一個(gè)進(jìn)程。圖2為現(xiàn)有技術(shù)中使用通用處理器的仿真調(diào)試系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖。其中,調(diào)試進(jìn)程響應(yīng)調(diào)試主機(jī)發(fā)過來的調(diào)試要求(基于RDP,Remote DebugProtocol,遠(yuǎn)程調(diào)試協(xié)議),并調(diào)用TAP驅(qū)動進(jìn)行調(diào)試操作,TAP驅(qū)動以操作系統(tǒng)驅(qū)動程序的形式提供仿真器使用JTAG對開發(fā)板訪問的接口,而嵌入式系統(tǒng)完成系統(tǒng)級別調(diào)度,為調(diào)試進(jìn)程提供一個(gè)通用的運(yùn)行環(huán)境?;谏鲜龇抡嬲{(diào)試方案的仿真器靈活度高,可以支持比較復(fù)雜的調(diào)試要求,但穩(wěn)定性相對較差,并且調(diào)試主機(jī)與調(diào)試進(jìn)程之間的通信是單向的,不便于調(diào)試主機(jī)對仿真器狀態(tài)的監(jiān)控,不便于擴(kuò)展新特性。綜上所述,可知先前技術(shù)之仿真調(diào)試系統(tǒng)存在穩(wěn)定性差且不易于擴(kuò)展的問題,因此實(shí)有必要提出改進(jìn)的技術(shù)手段,來解決此一問題

發(fā)明內(nèi)容
為克服上述現(xiàn)有技術(shù)存在的不足,本發(fā)明的主要目的在于提供一種基于嵌入式系統(tǒng)的仿真調(diào)試系統(tǒng)及方法,其不僅可以改進(jìn)仿真器的穩(wěn)定性,而且便于仿真器功能的擴(kuò)展。為達(dá)上述及其它目的,本發(fā)明提供一種基于嵌入式系統(tǒng)的仿真調(diào)試系統(tǒng),應(yīng)用于一仿真器,至少包括:代理進(jìn)程模塊,用于接收調(diào)試主機(jī)發(fā)送的控制命令,并控制調(diào)試進(jìn)程模塊的運(yùn)行;
調(diào)試進(jìn)程模塊,在該代理進(jìn)程模塊的控制下響應(yīng)該調(diào)試主機(jī)發(fā)送過來的調(diào)試要求,并調(diào)用TAP驅(qū)動模塊進(jìn)行調(diào)試操作;TAP驅(qū)動模塊,以操作系統(tǒng)驅(qū)動程序的形式提供仿真器對開發(fā)板訪問的接口 ;以及嵌入式系統(tǒng),用于完成系統(tǒng)級別調(diào)度。進(jìn)一步地,該代理進(jìn)程模塊與該調(diào)試進(jìn)程模塊使用管道進(jìn)行通信,同時(shí)共享一緩沖區(qū),用于保存掃描鏈上的處理器狀態(tài)。進(jìn)一步地,該代理進(jìn)程模塊還用于對該調(diào)試進(jìn)程模塊進(jìn)行異常檢測與干預(yù)。進(jìn)一步地,該異常包括該調(diào)試進(jìn)程模塊異常退出或者處在不正確的調(diào)試狀態(tài)。進(jìn)一步地,若該代理進(jìn)程模塊檢測到該調(diào)試進(jìn)程模塊異常退出,則重啟該調(diào)試進(jìn)程模塊;若該代理進(jìn)程模塊檢測到該調(diào)試進(jìn)程模塊處于不正確的調(diào)試狀態(tài),此時(shí)若尚未建立調(diào)試連接,則直接重啟該調(diào)試進(jìn)程模塊,若已經(jīng)建立調(diào)試連接則等待本次調(diào)試完成后,再重啟該調(diào)試進(jìn)程模塊。為達(dá)上述及其他目的,本發(fā)明提供一種基于嵌入式系統(tǒng)的仿真調(diào)試方法,應(yīng)用于一仿真器,其包括如下步驟:該仿真器啟動時(shí),啟動代理進(jìn)程,由代理進(jìn)程啟動調(diào)試進(jìn)程,調(diào)試進(jìn)程啟動后,通過所提供的接口掃描開發(fā)板上的信息并報(bào)告給該代理進(jìn)程,由代理進(jìn)程登記該信息與調(diào)試狀態(tài),并上報(bào)給調(diào)試主機(jī);該調(diào)試主機(jī)發(fā)起調(diào)試請求,向該代理進(jìn)程發(fā)送建立連接的控制命令;該代理進(jìn)程接到建立連接的控制命令后,分配空閑端口返回給該調(diào)試主機(jī),并通知該調(diào)試進(jìn)程,然后記錄;該調(diào)試進(jìn)程使用分配到的端口建立一個(gè)線程等待該調(diào)試主機(jī)發(fā)起連接;該調(diào)試主機(jī)使用該端口發(fā)起調(diào)試請求;該調(diào)試進(jìn)程響應(yīng)連接,建立調(diào)試連接;調(diào)試結(jié)束后,該調(diào)試主機(jī)發(fā)送關(guān)閉連接命令給該代理進(jìn)程;該代理進(jìn)程得到響應(yīng)后,通知該調(diào)試進(jìn)程關(guān)閉連接,并于完成后通知該調(diào)試主機(jī);以及該調(diào)試主機(jī)關(guān)閉連接,該代理進(jìn)程更新狀態(tài)。進(jìn)一步地,于該代理進(jìn)程接到控制命令并通知該調(diào)試進(jìn)程后,還包括如下步驟:代理進(jìn)程持續(xù)檢測調(diào)試進(jìn)程是否有異常退出或處于不正常的調(diào)試狀態(tài);若檢測到該調(diào)試進(jìn)程異常退出,則重啟該調(diào)試進(jìn)程;若檢測到該調(diào)試進(jìn)程處于不正常的調(diào)試狀態(tài),若此時(shí)尚未建立調(diào)試連接,則直接重啟該調(diào)試進(jìn)程,若已建立連接則等待本次調(diào)試完成后,重啟該調(diào)試進(jìn)程。進(jìn)一步地,該調(diào)試進(jìn)程的異常退出包括該調(diào)試進(jìn)程超時(shí)未響應(yīng)該代理進(jìn)程與該調(diào)試進(jìn)程被異常關(guān)閉。進(jìn)一步地,若該代理進(jìn)程檢測到該調(diào)試進(jìn)程連接被異常關(guān)閉,則執(zhí)行如下步驟以重啟該調(diào)試進(jìn)程:保存調(diào)試現(xiàn)場和調(diào)試狀態(tài);關(guān)閉原有調(diào)試連接,并清除原有連接記錄;
重新建立調(diào)試連接;以及恢復(fù)調(diào)試現(xiàn)場,調(diào)整調(diào)試連接狀態(tài)。進(jìn)一步地,該調(diào)試進(jìn)程處于不正常的調(diào)試狀態(tài)包括該調(diào)試進(jìn)程與該代理進(jìn)程通信異常。與現(xiàn)有技術(shù)相比,本發(fā)明一種基于嵌入式系統(tǒng)的仿真調(diào)試系統(tǒng)及方法通過利用代理進(jìn)程模塊控制調(diào)試進(jìn)程模塊的運(yùn)行,避免調(diào)試主機(jī)直接控制調(diào)試進(jìn)程模塊,不僅提高了仿真器的穩(wěn)定性,而且便于仿真器功能的擴(kuò)展。通過本發(fā)明,調(diào)試主機(jī)可以在異常情況下軟復(fù)位仿真器,降低了等候時(shí)間;同時(shí),調(diào)試主機(jī)可以隨時(shí)保存調(diào)試現(xiàn)場,以免一旦發(fā)生異常導(dǎo)致丟失現(xiàn)場


圖1是現(xiàn)有技術(shù)中常見的一個(gè)仿真器的基本結(jié)構(gòu)圖;圖2為現(xiàn)有技術(shù)中使用通用處理器的仿真調(diào)試系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖;圖3為本發(fā)明一種基于嵌入式系統(tǒng)的仿真調(diào)試系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖;圖4為本發(fā)明較佳實(shí)施例中代理進(jìn)程模塊和調(diào)試進(jìn)程模塊交互的示意圖;圖5為本發(fā)明較佳實(shí)施例中連接狀態(tài)切換圖;圖6為本發(fā)明較佳實(shí)施例中調(diào)試狀態(tài)切換圖;圖7為本發(fā)明基于嵌入式系統(tǒng)的仿真調(diào)試方法的步驟流程圖。
具體實(shí)施例方式以下通過特定的具體實(shí)例并結(jié)合

本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭示的內(nèi)容輕易地了解本發(fā)明的其它優(yōu)點(diǎn)與功效。本發(fā)明亦可通過其它不同的具體實(shí)例加以施行或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)亦可基于不同觀點(diǎn)與應(yīng)用,在不背離本發(fā)明的精神下進(jìn)行各種修飾與變更。圖3為本發(fā)明一種基于嵌入式系統(tǒng)的仿真調(diào)試系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖。如圖3所示,本發(fā)明一種基于嵌入式系統(tǒng)的仿真調(diào)試系統(tǒng),應(yīng)用于一仿真器,至少包括:代理進(jìn)程模塊301、調(diào)試進(jìn)程模塊302、TAP驅(qū)動模塊303以及嵌入式系統(tǒng)304代理進(jìn)程模塊301用于接收調(diào)試主機(jī)發(fā)送的控制命令,并根據(jù)該控制命令控制調(diào)試進(jìn)程模塊302的運(yùn)行;調(diào)試進(jìn)程模塊302在代理進(jìn)程模塊301的控制下響應(yīng)調(diào)試主機(jī)發(fā)送過來的調(diào)試要求,并調(diào)用TAP驅(qū)動模塊303進(jìn)行調(diào)試操作,其中,代理進(jìn)程模塊301與調(diào)試進(jìn)程模塊302使用管道進(jìn)行通信,同時(shí)共享一片緩沖區(qū),用于保存掃描鏈上的處理器狀態(tài);TAP驅(qū)動模塊303以操作系統(tǒng)驅(qū)動程序的形式提供仿真器使用JTAG對開發(fā)板訪問的接口 ;嵌入式系統(tǒng)304用于完成系統(tǒng)級別調(diào)度,為調(diào)試進(jìn)程提供一個(gè)通用的環(huán)境。具體來說,當(dāng)應(yīng)用本發(fā)明的仿真器啟動時(shí),代理進(jìn)程模塊301首先啟動,然后由代理進(jìn)程模塊301啟動調(diào)試進(jìn)程模塊302 ;調(diào)試進(jìn)程模塊302啟動后,通過JTAG接口掃描開發(fā)板上的信息并報(bào)給代理進(jìn)程模塊301,代理進(jìn)程模塊301登記該信息和調(diào)試狀態(tài),并上報(bào)給調(diào)試主機(jī);當(dāng)開始調(diào)試時(shí),由調(diào)試主機(jī)發(fā)起調(diào)試請求,調(diào)試主機(jī)向代理進(jìn)程模塊301發(fā)送控制命令(如建立連接),代理進(jìn)程模塊301在接到控制命令后,分配空閑端口返回給調(diào)試主機(jī),并通知調(diào)試進(jìn)程模塊302以及記錄;調(diào)試進(jìn)程模塊302則使用分配到的端口建立一線程等待調(diào)試主機(jī)發(fā)起連接;調(diào)試主機(jī)使用該端口發(fā)起調(diào)試請求;調(diào)試進(jìn)程模塊302響應(yīng)連接以建立調(diào)試連接;調(diào)試結(jié)束后,調(diào)試主機(jī)發(fā)送關(guān)閉連接的控制命令給代理進(jìn)程模塊301,由代理進(jìn)程模塊301通知調(diào)試進(jìn)程模塊302關(guān)閉連接,并于調(diào)試主機(jī)關(guān)閉連接后更新狀態(tài)。較佳的,本發(fā)明之代理進(jìn)程模塊301還用于對調(diào)試進(jìn)程模塊302進(jìn)行異常檢測和干預(yù)。這里的異常包括,調(diào)試進(jìn)程異常退出或者處在不正確的調(diào)試狀態(tài)下。針對異常,代理進(jìn)程模塊301處理的原則如下:一旦檢測調(diào)試進(jìn)程異常退出,則重啟調(diào)試進(jìn)程模塊,其又分為以下兩種情況:(I)如果調(diào)試進(jìn)程超時(shí)未響應(yīng)代理進(jìn)程的,則立即重啟調(diào)試進(jìn)程模塊302 ;(2)若發(fā)現(xiàn)調(diào)試進(jìn)程連接被異常關(guān)閉,則執(zhí)行如下流程進(jìn)行重啟調(diào)試進(jìn)程模塊:保存調(diào)試現(xiàn)場和調(diào)試狀態(tài);關(guān)閉原有調(diào)試連接,并清除原有連接記錄;重新建立調(diào)試連接;恢復(fù)調(diào)試現(xiàn)場,調(diào)整調(diào)試連接狀態(tài)針對調(diào)試進(jìn)程處在不正確的調(diào)試狀態(tài),如調(diào)試進(jìn)程模塊302和代理進(jìn)程模塊301通信異常,此時(shí)如果尚未建立調(diào)試連接,則直接重啟調(diào)試進(jìn)程模塊302,如果已經(jīng)建立調(diào)試連接則等待本次調(diào)試完成后,再重啟調(diào)試進(jìn)程模塊302。在本發(fā)明之較佳實(shí)施例中,本發(fā)明之硬件可使用一款以ARM926作為主控的SOC芯片作為調(diào)試處理器,并移植 uClinux (嵌入式系統(tǒng))作為軟件運(yùn)行環(huán)境,調(diào)試進(jìn)程模塊302作為一個(gè)應(yīng)用程序運(yùn)行在uClinux之上,同時(shí)使用一個(gè)代理進(jìn)程與之交互,在調(diào)試過程的測試現(xiàn)場(比如響應(yīng)斷點(diǎn)后)是由調(diào)試進(jìn)程模塊來保存在仿真器端的。以下將通過本發(fā)明之較佳實(shí)施例來進(jìn)一步說明本發(fā)明之各模塊之間的交互過程。由前可知,調(diào)試主機(jī)與代理進(jìn)程模塊301的交互都是由調(diào)試主機(jī)發(fā)起的,調(diào)試主機(jī)將相應(yīng)的控制命令字發(fā)送給代理進(jìn)程模塊301,代理進(jìn)程模塊301完成相應(yīng)操作后,按照相應(yīng)格式回給調(diào)試主機(jī)。在本發(fā)明較佳實(shí)施例中,具體的控制命令字可如表I所示:
命令字格式含義
CHECKCHECK[INTYAL]開始檢查調(diào)試進(jìn)程狀態(tài)
INTVAL是間隔時(shí)間
STOPCHECK STOPCHECK 停止檢查調(diào)試進(jìn)程狀態(tài)SCAN_SCAN_檢查掃描連的狀態(tài),在調(diào)試過
權(quán)利要求
1.一種基于嵌入式系統(tǒng)的仿真調(diào)試系統(tǒng),應(yīng)用于一仿真器,至少包括: 代理進(jìn)程模塊,用于接收調(diào)試主機(jī)發(fā)送的控制命令,并控制調(diào)試進(jìn)程模塊的運(yùn)行; 調(diào)試進(jìn)程模塊,在該代理進(jìn)程模塊的控制下響應(yīng)該調(diào)試主機(jī)發(fā)送過來的調(diào)試要求,并調(diào)用TAP驅(qū)動模塊進(jìn)行調(diào)試操作; TAP驅(qū)動模塊,以操作系統(tǒng)驅(qū)動程序的形式提供仿真器對開發(fā)板訪問的接口 ;以及 嵌入式系統(tǒng),用于完成系統(tǒng)級別調(diào)度。
2.如權(quán)利要求1所述的基于嵌入式系統(tǒng)的仿真調(diào)試系統(tǒng),其特征在于:該代理進(jìn)程模塊與該調(diào)試進(jìn)程模塊使用管道進(jìn)行通信,同時(shí)共享一緩沖區(qū),用于保存掃描鏈上的處理器狀態(tài)。
3.如權(quán)利要求1所述的基于嵌入式系統(tǒng)的仿真調(diào)試系統(tǒng),其特征在于:該代理進(jìn)程模塊還用于對該調(diào)試進(jìn)程模塊進(jìn)行異常檢測與干預(yù)。
4.如權(quán)利要求3所述的基于嵌入式系統(tǒng)的仿真調(diào)試系統(tǒng),其特征在于:該異常包括該調(diào)試進(jìn)程模塊異常退出或者處在不正確的調(diào)試狀態(tài)。
5.如權(quán)利要求4所述的基于嵌入式系統(tǒng)的仿真調(diào)試系統(tǒng),其特征在于:若該代理進(jìn)程模塊檢測到該調(diào)試進(jìn)程模塊異常退出,則重啟該調(diào)試進(jìn)程模塊;若該代理進(jìn)程模塊檢測到該調(diào)試進(jìn)程模塊處于不正確的調(diào)試狀態(tài),此時(shí)若尚未建立調(diào)試連接,則直接重啟該調(diào)試進(jìn)程模塊,若已經(jīng)建立調(diào)試連接則等待本次調(diào)試完成后,再重啟該調(diào)試進(jìn)程模塊。
6.一種基于嵌入式系統(tǒng)的仿真調(diào)試方法,應(yīng)用于一仿真器,其包括如下步驟: 該仿真器啟動時(shí),啟動代理進(jìn)程,由代理進(jìn)程啟動調(diào)試進(jìn)程,調(diào)試進(jìn)程啟動后,通過所提供的接口掃描開發(fā)板上的信息并報(bào)告給該代理進(jìn)程,由代理進(jìn)程登記該信息與調(diào)試狀態(tài),并上報(bào)給調(diào)試主機(jī); 該調(diào)試主機(jī)發(fā)起調(diào)試請求,向該代理進(jìn)程發(fā)送建立連接的控制命令; 該代理進(jìn)程接到建立連接的控制命令后,分配空閑端口返回給該調(diào)試主機(jī),并通知該調(diào)試進(jìn)程,然后記錄; 該調(diào)試進(jìn)程使用分配到的端口建立一個(gè)線程等待該調(diào)試主機(jī)發(fā)起連接; 該調(diào)試主機(jī)使用該端口發(fā)起調(diào)試請求; 該調(diào)試進(jìn)程響應(yīng)連接,建立調(diào)試連接; 調(diào)試結(jié)束后,該調(diào)試主機(jī)發(fā)送關(guān)閉連接命令給該代理進(jìn)程; 該代理進(jìn)程得到響應(yīng)后,通知該調(diào)試進(jìn)程關(guān)閉連接,并于完成后通知該調(diào)試主機(jī);以及 該調(diào)試主機(jī)關(guān)閉連接,該代理進(jìn)程更新狀態(tài)。
7.如權(quán)利要求6所述的基于嵌入式系統(tǒng)的仿真調(diào)試方法,其特征在于,于該代理進(jìn)程接到控制命令并通知該調(diào)試進(jìn)程后,還包括如下步驟: 代理進(jìn)程持續(xù)檢測調(diào)試進(jìn)程是否有異常退出或處于不正常的調(diào)試狀態(tài); 若檢測到該調(diào)試進(jìn)程異常退出,則重啟該調(diào)試進(jìn)程;若檢測到該調(diào)試進(jìn)程處于不正常的調(diào)試狀態(tài),若此時(shí)尚未建立調(diào)試連接,則直接重啟該調(diào)試進(jìn)程,若已建立連接則等待本次調(diào)試完成后,重啟該調(diào)試進(jìn)程。
8.如權(quán)利要求7所述的基于嵌入式系統(tǒng)的仿真調(diào)試方法,其特征在于:該調(diào)試進(jìn)程的異常退出包括該調(diào)試進(jìn)程超時(shí)未響應(yīng)該代理進(jìn)程與該調(diào)試進(jìn)程被異常關(guān)閉。
9.如權(quán)利要求8所述的基于嵌入式系統(tǒng)的仿真調(diào)試方法,其特征在于,若該代理進(jìn)程檢測到該調(diào)試進(jìn)程連接被異常關(guān)閉,則執(zhí)行如下步驟以重啟該調(diào)試進(jìn)程: 保存調(diào)試現(xiàn)場和調(diào)試狀態(tài); 關(guān)閉原有調(diào)試連接,并清除原有連接記錄; 重新建立調(diào)試連接;以及 恢復(fù)調(diào)試現(xiàn)場,調(diào)整調(diào)試連接狀態(tài)。
10.如權(quán)利要求6所述的基于嵌入式系統(tǒng)的仿真調(diào)試方法,其特征在于:該調(diào)試進(jìn)程處于不正常的調(diào)試狀態(tài)包括該 調(diào)試進(jìn)程與該代理進(jìn)程通信異常。
全文摘要
本發(fā)明公開一種基于嵌入式系統(tǒng)的仿真調(diào)試系統(tǒng)及方法,該系統(tǒng)包括代理進(jìn)程模塊,用于接收調(diào)試主機(jī)發(fā)送的控制命令,并控制調(diào)試進(jìn)程模塊的運(yùn)行;調(diào)試進(jìn)程模塊,在該代理進(jìn)程模塊的控制下響應(yīng)該調(diào)試主機(jī)發(fā)送過來的調(diào)試要求,并調(diào)用TAP驅(qū)動模塊進(jìn)行調(diào)試操作;TAP驅(qū)動模塊,以操作系統(tǒng)驅(qū)動程序的形式提供仿真器對開發(fā)板訪問的接口;以及嵌入式系統(tǒng),用于完成系統(tǒng)級別調(diào)度,利用本發(fā)明,不僅可以改進(jìn)仿真器的穩(wěn)定性,而且便于仿真器功能的擴(kuò)展。
文檔編號G06F11/36GK103186458SQ20111045446
公開日2013年7月3日 申請日期2011年12月29日 優(yōu)先權(quán)日2011年12月29日
發(fā)明者鈕玥 申請人:聯(lián)芯科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
田阳县| 进贤县| 禹城市| 城市| 二连浩特市| 子长县| 承德市| 邓州市| 岐山县| 丰台区| 交口县| 台南市| 独山县| 襄汾县| 左贡县| 高安市| 潍坊市| 理塘县| 海安县| 西平县| 五峰| 宜君县| 田东县| 安阳县| 北海市| 阳谷县| 历史| 尼勒克县| 辽源市| 长武县| 上栗县| 塔城市| 贵南县| 响水县| 玉山县| 樟树市| 巢湖市| 巢湖市| 六枝特区| 名山县| 上高县|