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

用于刷新多處理器設(shè)備的方法

文檔序號(hào):6453362閱讀:194來(lái)源:國(guó)知局
專利名稱:用于刷新多處理器設(shè)備的方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及將軟件下載到多處理器電子設(shè)備的非易失性(non-volatile)可編程存儲(chǔ)器上。本發(fā)明更適用于(但不限于)刷新雙處理器蜂窩電話。
背景技術(shù)
諸如蜂窩電話、個(gè)人數(shù)字助理(PDA)和膝上型電腦的個(gè)人電子設(shè)備變得越來(lái)越小和越來(lái)越尖端。這些設(shè)備的廣泛流行進(jìn)一步使得很多人在出行的時(shí)候要攜帶大量的設(shè)備。例如,對(duì)于出差的人來(lái)說(shuō),他們總是隨身攜帶著蜂窩電話、一個(gè)或多個(gè)PDA以及膝上型電腦,這種情況并不罕見(jiàn)。同時(shí)攜帶這么多的設(shè)備是很不方便的。因此,現(xiàn)在在努力將多種設(shè)備的功能結(jié)合到單一的、多功能的設(shè)備中。
多功能的設(shè)備包括整合了與PDA相關(guān)的大部分或全部功能的先進(jìn)的蜂窩電話。例如,現(xiàn)在一些蜂窩電話中包含有約會(huì)日歷、通訊錄、計(jì)算器和游戲。
電子工業(yè)現(xiàn)在面臨的挑戰(zhàn)是要開(kāi)發(fā)出高性能的微處理器,它們要能夠有效地管理這種多功能設(shè)備的所有功能。有一個(gè)問(wèn)題是,如果將處理器設(shè)計(jì)成專門用來(lái)完成特定的任務(wù),那么通常只有在完成這種任務(wù)的時(shí)候它才能夠更有效的工作。例如,要將只專用于處理蜂窩電話的高速數(shù)字通信信號(hào)的微處理器設(shè)計(jì)成帶有電源(power)、存儲(chǔ)器和散熱器結(jié)構(gòu)的,這與為處理PDA所需的任務(wù)而設(shè)計(jì)的處理器是不同的。如果將單個(gè)的處理器設(shè)計(jì)成用于管理蜂窩電話和PDA的兩種功能的話,就需要采用折中的處理器結(jié)構(gòu)。
避免上述處理器結(jié)構(gòu)中的折中設(shè)計(jì)的一個(gè)方法是在多功能設(shè)備中結(jié)合進(jìn)多個(gè)處理器。那么每個(gè)專門為某種任務(wù)所設(shè)計(jì)的處理器就可以專門用于執(zhí)行這種任務(wù)。因此,在雙處理器的蜂窩電話中就存在一個(gè)專門用于處理通信信號(hào)的處理器和另一個(gè)專門用于處理PDA功能的處理器。
然而,雙處理器電話所帶來(lái)的復(fù)雜性使得完成某些具體的任務(wù)變得更加困難。例如,雙處理器電話中的兩個(gè)處理器可能都包括可編程的、非易失性的存儲(chǔ)器(諸如閃存器(falsh memory))??删幊檀鎯?chǔ)器可以讓用戶下載(或“刷新(flash)”)新的或升級(jí)的軟件功能(諸如,地址薄、鈴聲、游戲等等)。但是某些雙處理器平臺(tái)只包括一個(gè)通過(guò)其接收軟件更新的外部通信信道,并且這個(gè)信道往往只與兩個(gè)處理器中的一個(gè)相連。另一個(gè)處理器只能通過(guò)使用處理器間的通信信道(諸如,通用異步收發(fā)器(UART))的第一處理器,間接地通過(guò)外部通信信道通信。因此在某些雙處理器的設(shè)計(jì)中還不能同時(shí)將軟件下載到兩個(gè)處理器上。

發(fā)明內(nèi)容
因此,在一種形式上,本發(fā)明是一種用于刷新多處理器設(shè)備中的兩個(gè)處理器的方法。這個(gè)方法包括從第一處理器向第二處理器發(fā)送狀態(tài)檢測(cè)啟動(dòng)(boot)命令;根據(jù)第一處理器是否接收到對(duì)狀態(tài)檢測(cè)啟動(dòng)命令的響應(yīng)來(lái)判斷第二處理器的狀態(tài);和在判斷出第一和第二處理器都處于刷新模式狀態(tài)時(shí)刷新第一和第二處理器。
可以將計(jì)時(shí)器設(shè)置成在經(jīng)過(guò)一個(gè)給定的計(jì)時(shí)周期之后終止計(jì)時(shí),這樣就可以在給定的計(jì)時(shí)周期內(nèi)判斷出當(dāng)?shù)谝惶幚砥鹘邮盏綄?duì)狀態(tài)檢測(cè)啟動(dòng)命令的響應(yīng)時(shí),第一和第二處理器都處于刷新模式狀態(tài)。
當(dāng)計(jì)時(shí)器終止計(jì)時(shí)的時(shí)候,可以判斷出第二處理器不處于刷新模式。
第一處理器還可以判斷第二處理器是空白的還是已編程的。
本發(fā)明的進(jìn)程可以通過(guò)連接到雙處理器設(shè)備的主機(jī)PC來(lái)初始化。
第一和第二處理器可以通過(guò)URAT來(lái)連接。
第一處理器可以通過(guò)USB電纜連接到主機(jī)PC。
當(dāng)?shù)谝惶幚砥髋袛喑龅诙幚砥魇且丫幊痰臅r(shí),可以重新設(shè)置第二處理器。
可以強(qiáng)行讓第二處理器進(jìn)入刷新模式。
第一處理器可以是附屬處理器,第二處理器可以是基帶處理器。
本發(fā)明的方法可以重新配置連接到第一處理器的外部通信信道驅(qū)動(dòng)器以包括兩個(gè)接口,一個(gè)接口用于刷新第一處理器,一個(gè)接口用于刷新第二處理器。
數(shù)據(jù)可能先刷新到第一處理器,然后再到第二處理器。
在包括權(quán)利要求書(shū)在內(nèi)的本說(shuō)明中,術(shù)語(yǔ)“包括(comprises、comprising)”或類似的術(shù)語(yǔ)是指非排它的(non-exclusive)包含(inclusion),這樣包含一系列元素的方法和裝置就不是僅僅包括這些元素,而是可能還包括其它沒(méi)有列出的元素。此外,術(shù)語(yǔ)“刷新(flash)”的使用通常是指對(duì)非易失性可編程存儲(chǔ)器編程,而不局限于對(duì)閃存器編程。


為了更容易理解本發(fā)明并付諸實(shí)施,現(xiàn)在將參考優(yōu)選的實(shí)施例并結(jié)合附圖來(lái)進(jìn)行說(shuō)明,附圖中類似的序號(hào)表示類似的元素,在這些附圖中圖1是用于刷新雙處理器電話的相關(guān)軟件組件的示意性方框圖;圖2是用于刷新空白的電話的相關(guān)軟件組件的示意性方框圖;圖3是用于刷新已編程的電話的相關(guān)軟件組件的示意性方框圖;圖4是本發(fā)明的方法的通用流程圖;和圖5A是本發(fā)明的方法的詳細(xì)流程圖;圖5B是圖5A的詳細(xì)流程圖的延續(xù)。
具體實(shí)施例方式
參看圖1,其中示出了用于刷新雙處理器蜂窩電話100的相關(guān)軟件組件。應(yīng)當(dāng)理解,電話100僅僅是可在其上實(shí)現(xiàn)本發(fā)明的各種多處理器電子設(shè)備的一個(gè)例子。電話100通過(guò)外部通信信道105與主機(jī)PC110相連。外部通信信道105(諸如,通用串行總線(USB)電纜)的用途是讓軟件能夠從PC 110下載到電話100上。因此PC 110包括下載工具115和通信信道驅(qū)動(dòng)器120,通信信道105的一端與通信信道驅(qū)動(dòng)器120相接。
電話100包括附屬處理器125和基帶處理器130,它們通過(guò)處理器間通信信道135相連。位于信道135各端的驅(qū)動(dòng)器140和145(諸如,UART驅(qū)動(dòng)器)管理通過(guò)信道135傳輸?shù)臄?shù)據(jù)。附屬處理器125包括諸如USB設(shè)備驅(qū)動(dòng)器的外部通信信道驅(qū)動(dòng)器150,它可以讓附屬處理器125與主機(jī)PC 110直接通信。數(shù)據(jù)從PC 110刷新到附屬處理器125,從而穿過(guò)驅(qū)動(dòng)器150,并在刷新閃存器160之前由數(shù)據(jù)驗(yàn)證軟件155直接處理。然而,從PC 110刷新到基帶處理器130的數(shù)據(jù),在由數(shù)據(jù)驗(yàn)證軟件165處理并再次刷新閃存器170之前,必須首先通過(guò)驅(qū)動(dòng)器150并穿過(guò)處理器間通信信道135。
在再次刷新各個(gè)閃存器160、170之前,主機(jī)PC 110必須要知道每個(gè)處理器125、130的狀態(tài)。這是因?yàn)樵谟芍鳈C(jī)PC110刷新之前,每個(gè)處理器125、130必須要處于刷新模式。附屬處理器可以通過(guò)信道105直接將它的狀態(tài)傳達(dá)給PC 110。然而基帶處理器130不能直接與PC 110進(jìn)行通信,因此附屬處理器125就必須檢測(cè)基帶處理器130的狀態(tài),然后將狀態(tài)報(bào)告給PC 110。
基帶處理器130可能處于兩種狀態(tài)中的一種。第一狀態(tài)是未編程的“空白”電話100的刷新模式(即,引導(dǎo)程序(bootstrap)軟件正在運(yùn)行)。第二狀態(tài)是已編程的電話100的刷新模式(即,引導(dǎo)裝入程序(bootloader)軟件正在運(yùn)行)。同時(shí),基帶處理器130可能在運(yùn)行標(biāo)準(zhǔn)的電話代碼,在這種情況下,附屬處理器125將強(qiáng)行使基帶處理器130進(jìn)入刷新模式。由于基帶處理器130并不是與主機(jī)PC 110直接相連的,因此附屬處理器125就必須檢測(cè)基帶處理器130的狀態(tài),然后將狀態(tài)傳達(dá)給主機(jī)PC110。
參看圖2,其中示出了用于刷新空白的電話100的相關(guān)軟件組件。在這里,附屬處理器125包括普通的引導(dǎo)程序軟件210和RAM下載軟件220?;鶐幚砥?30包括IROM引導(dǎo)程序軟件230和用于引導(dǎo)程序的RAM下載軟件240。
參看圖3,其中示出了用于再次刷新已編程的電話100的相關(guān)軟件組件。在這里,附屬處理器125包括引導(dǎo)裝入程序(Blob)軟件310和RAM下載軟件220?;鶐幚砥?30包括刷新引導(dǎo)裝入程序軟件320和用于引導(dǎo)裝入程序的RAM下載軟件330。
通常在某一時(shí)刻、某一處理器上,只有一種類型的上述電話啟動(dòng)軟件組件(即,引導(dǎo)程序、引導(dǎo)裝入程序和RAM下載程序)可以激活。
根據(jù)本發(fā)明,附屬處理器125通過(guò)稱為“ENUM”的狀態(tài)檢測(cè)啟動(dòng)命令來(lái)檢測(cè)基帶處理器130的狀態(tài)。當(dāng)附屬處理器的RAM下載程序220開(kāi)始運(yùn)行后,它首先發(fā)出ENUM命令。這個(gè)命令沒(méi)有數(shù)據(jù),因此它的格式可以簡(jiǎn)單地將ENUM命令與開(kāi)始文字和結(jié)束文字標(biāo)志捆綁在一起

如果基帶處理器130的狀態(tài)是未編程的“空白”電話100的刷新模式,基帶處理器130對(duì)ENUM命令的響應(yīng)可能是如下格式的

在另一種情況下,如果基帶處理器130的狀態(tài)是已編程的電話100的刷新模式,基帶處理器130對(duì)ENUM命令的響應(yīng)可能就是如下格式的

然而,如果基帶處理器130正在運(yùn)行標(biāo)準(zhǔn)的電話代碼,最好不向附屬處理器125發(fā)送對(duì)ENUM命令的響應(yīng)。
應(yīng)當(dāng)將上述命令幀的格式設(shè)計(jì)成與啟動(dòng)命令格式相同的格式。因此,只需要對(duì)基帶處理器的引導(dǎo)裝入程序和引導(dǎo)程序組件做很少的修改。
參看圖4,其中示出了用于判斷諸如電話100的雙處理器設(shè)備的狀態(tài)并隨后刷新設(shè)備的方法400的通用流程圖。方法400在步驟405處被調(diào)用。步驟410將狀態(tài)檢測(cè)啟動(dòng)命令從第一處理器(諸如,附屬處理器125)發(fā)送到第二處理器(諸如,基帶處理器130)。接著在步驟415處可以將可選的計(jì)時(shí)器設(shè)置成在一個(gè)給定的周期后終止計(jì)時(shí)。然后在步驟420處,根據(jù)第一處理器是否接收到對(duì)狀態(tài)檢測(cè)啟動(dòng)命令的響應(yīng)來(lái)判斷第二處理器的狀態(tài)。當(dāng)計(jì)時(shí)器計(jì)時(shí)終止時(shí),可以判斷出第二處理器沒(méi)有處于刷新模式。最后,在步驟425處,當(dāng)判斷出兩個(gè)處理器都處于刷新模式狀態(tài)時(shí),將兩個(gè)處理器都進(jìn)行刷新。然后方法400在步驟430處結(jié)束。
參看圖5A,其中示出了用于判斷基帶處理器130的狀態(tài)、向PC 110報(bào)告這個(gè)狀態(tài)以及隨后刷新電話100的方法500的詳細(xì)流程圖。方法500在步驟505處被調(diào)用。步驟510初始化電話100。然后,在步驟515處,附屬處理器125向基帶處理器130發(fā)送ENUM命令并設(shè)置計(jì)時(shí)器。
在步驟520處,附屬處理器125可接收來(lái)自基帶處理器130的響應(yīng)。如果是這樣,那么計(jì)時(shí)器就停止計(jì)時(shí)。附屬處理器125在步驟525處判斷計(jì)時(shí)器是否計(jì)時(shí)終止。如果計(jì)時(shí)器沒(méi)有計(jì)時(shí)終止,那么附屬處理器125就知道在步驟520處接收到了響應(yīng)。然后方法500就繼續(xù)執(zhí)行到步驟530處,在這里附屬處理器125知道基帶處理器130處于刷新模式。附屬處理器125讀取對(duì)ENUM命令的響應(yīng),這個(gè)響應(yīng)標(biāo)識(shí)了電話100是空白的還是已編程的。如果基帶處理器130是空白的,方法500就進(jìn)行到步驟535處,在這里將用于USB驅(qū)動(dòng)器150的接口字符串描述符設(shè)置成“空白”。如果在步驟530處基帶處理器130是已編程的,那么在步驟540處就將用于USB驅(qū)動(dòng)器150的接口字符串描述符設(shè)置成“刷新”。然后在步驟545處附屬處理器125就選擇一種用于USB驅(qū)動(dòng)器150的配置,它將建立可以刷新附屬處理器125和基帶處理器130的兩個(gè)接口。接著在步驟585處,現(xiàn)在主機(jī)PC 110知道附屬處理器125和基帶處理器130都處于刷新模式,因此主機(jī)PC 110開(kāi)始向電話100刷新數(shù)據(jù)。
但是,如果在步驟525處計(jì)時(shí)器計(jì)時(shí)終止了,那么附屬處理器125就知道沒(méi)有接收到對(duì)ENUM命令的響應(yīng)。然后方法500就進(jìn)行到步驟550和555,在這里設(shè)置標(biāo)志以強(qiáng)行讓基帶處理器130重新進(jìn)入刷新模式。接著在步驟560處,基帶處理器130進(jìn)入刷新模式,并且運(yùn)行刷新引導(dǎo)裝入程序軟件320和用于引導(dǎo)裝入程序的RAM下載軟件330。
在重置基帶處理器130之后,附屬處理器125就在步驟565處重新設(shè)置計(jì)時(shí)器并向基帶處理器130重發(fā)ENUM命令以確認(rèn)刷新引導(dǎo)裝入程序軟件320和用于引導(dǎo)裝入程序的RAM下載軟件330正在運(yùn)行。
然后在步驟570處,附屬處理器125應(yīng)當(dāng)接收來(lái)自基帶處理器130的響應(yīng)并停止計(jì)時(shí)器。在步驟575處,附屬處理器125再次判斷計(jì)時(shí)器是否計(jì)時(shí)終止。和前面一樣,如果計(jì)時(shí)器沒(méi)有計(jì)時(shí)終止,那么附屬處理器125就知道在步驟570處接收到了響應(yīng)。然后方法500就繼續(xù)執(zhí)行到步驟580處,在這里附屬處理器125知道基帶處理器130處于刷新模式。然后在步驟545處,附屬處理器125選擇一種用于USB驅(qū)動(dòng)器150的雙接口配置,它可以讓附屬處理器125和基帶處理器130都得到刷新。接著在步驟585處,現(xiàn)在主機(jī)PC 110就再次知道附屬處理器125和基帶處理器130都處于刷新模式,因此主機(jī)PC 110開(kāi)始向電話100刷新數(shù)據(jù)。
圖5B是圖5A中所示方法500的延續(xù)。在主機(jī)PC 110在步驟585處開(kāi)始向電話100刷新數(shù)據(jù)之后,方法500就進(jìn)行到步驟586,在這里附屬處理器125判斷是否將從外部通信信道驅(qū)動(dòng)器150的附屬處理器接口接收數(shù)據(jù)。如果是的話,那么就在步驟587處分析和分發(fā)數(shù)據(jù)。接著,附屬處理器125就在步驟588處判斷它是否收到斷電或重新啟動(dòng)的命令。如果接收到了這樣的命令,那么電話100就在步驟589處斷電或重新啟動(dòng)。否則方法500返回到步驟586。
如果在步驟586處附屬處理器125沒(méi)有需要接收的數(shù)據(jù),那么方法500就進(jìn)行到步驟590處,在這里附屬處理器125判斷是否需要從外部通信信道驅(qū)動(dòng)器150的基帶處理器接口接收數(shù)據(jù)。如果在基帶處理器接口有數(shù)據(jù),那么就在步驟591處接收數(shù)據(jù)并將數(shù)據(jù)通過(guò)處理器間通信信道135發(fā)送到基帶處理器130。然后方法500返回步驟586。但是如果沒(méi)有要為基帶處理器130接收的數(shù)據(jù),在步驟592處,附屬處理器125就判斷是否有要從基帶處理器130接收的數(shù)據(jù)。如果有數(shù)據(jù),附屬處理器125就在步驟593處通過(guò)處理器間通信信道135接收基帶處理器130的數(shù)據(jù),并將它發(fā)送給主機(jī)PC 110。在將來(lái)自基帶處理器130的數(shù)據(jù)發(fā)送給PC 110之后,或者如果在步驟592處沒(méi)有來(lái)自基帶處理器130的數(shù)據(jù)需要發(fā)送,那么方法500就再次返回步驟586。
因此本發(fā)明可以讓雙處理器電話(其中只有一個(gè)處理器125包括外部通信信道驅(qū)動(dòng)器150)向主機(jī)PC 110報(bào)告另一個(gè)處理器130的狀態(tài)。然后主機(jī)PC 110就能夠刷新兩個(gè)處理器125、130。本發(fā)明的方法500可以管理包括雙處理器電話100在內(nèi)的所有處理器的狀態(tài)。此外,本發(fā)明只需要對(duì)主機(jī)PC 110的下載工具115和基帶處理器引導(dǎo)裝入程序軟件320、330進(jìn)行最少的修改。這是因?yàn)楸景l(fā)明的大部分步驟都可以通過(guò)使用附屬處理器RAM下載軟件220來(lái)完成。
這里的詳細(xì)描述只提供了優(yōu)選的典型實(shí)施例,這并不是為了限制本發(fā)明的范圍、應(yīng)用性或者配置。更確切地說(shuō),對(duì)本發(fā)明的優(yōu)選的典型實(shí)施例的詳細(xì)描述為本領(lǐng)域的一般技術(shù)人員提供了一種可以實(shí)現(xiàn)本發(fā)明的優(yōu)選的典型實(shí)施例的描述。應(yīng)當(dāng)理解,在不背離如所附權(quán)利要求書(shū)中提出的本發(fā)明的精神和范圍的前提下,可以對(duì)本發(fā)明的元素和步驟的功能和安排進(jìn)行各種修改。
權(quán)利要求
1.一種刷新多處理器設(shè)備的兩個(gè)處理器的方法,其包括如下步驟從第一處理器向第二處理器發(fā)送狀態(tài)檢測(cè)啟動(dòng)命令;根據(jù)所述第一處理器是否接收到對(duì)所述狀態(tài)檢測(cè)啟動(dòng)命令的響應(yīng)來(lái)判斷所述第二處理器的狀態(tài);在判斷出所述第一和第二處理器都處于刷新模式狀態(tài)時(shí),刷新所述第一和第二處理器。
2.如權(quán)利要求1中所述方法,其進(jìn)一步包括將計(jì)時(shí)器設(shè)置成在給定的時(shí)間周期之后終止計(jì)時(shí)的步驟,其中,在所述給定的計(jì)時(shí)器周期內(nèi)所述第一處理器接收到對(duì)所述狀態(tài)檢測(cè)啟動(dòng)命令的響應(yīng)時(shí),就判斷出所述第一和第二處理器都處于刷新模式狀態(tài)。
3.如權(quán)利要求2中所述方法,其中當(dāng)所述計(jì)時(shí)器計(jì)時(shí)終止時(shí),就判斷出所述第二處理器不處于刷新模式。
4.如權(quán)利要求1中所述方法,其中所述的判斷所述第二處理器的狀態(tài)的步驟將判斷所述第二處理器是空白的還是已編程的。
5.如權(quán)利要求1中所述方法,其中所述方法通過(guò)有效連接到所述雙處理器設(shè)備的主機(jī)PC來(lái)初始化。
6.如權(quán)利要求1中所述方法,其中所述第一和第二處理器通過(guò)UART有效連接。
7.如權(quán)利要求5中所述方法,其中所述第一處理器通過(guò)USB電纜與所述主機(jī)PC有效連接。
8.如權(quán)利要求1中所述方法,其進(jìn)一步包括當(dāng)所述第一處理器判斷出所述第二處理器是已編程的時(shí)重置所述第二處理器的步驟。
9.如權(quán)利要求1中所述方法,其進(jìn)一步包括強(qiáng)行使所述第二處理器進(jìn)入刷新模式的步驟。
10.如權(quán)利要求1中所述方法,其中所述第一處理器是附屬處理器,所述第二處理器是基帶處理器。
11.如權(quán)利要求1中所述方法,其進(jìn)一步包括重新配置有效連接到所述第一處理器的外部通信信道驅(qū)動(dòng)器以包括第一和第二接口的步驟,其中所述第一接口刷新所述第一處理器,所述第二接口刷新所述第二處理器。
12.如權(quán)利要求1中所述方法,其中數(shù)據(jù)先刷新到所述第一處理器上,然后再到所述第二處理器上。
全文摘要
本發(fā)明公開(kāi)了一種用于刷新多處理器設(shè)備(100)的兩個(gè)處理器的方法。所述方法包括從第一處理器(125)向第二處理器(130)發(fā)送狀態(tài)檢測(cè)啟動(dòng)命令。(步驟410。)根據(jù)所述第一處理器(125)是否接收到對(duì)所述狀態(tài)檢測(cè)啟動(dòng)命令的響應(yīng)來(lái)判斷所述第二處理器(130)的狀態(tài)。(步驟420。)當(dāng)判斷出所述第一處理器(125)和所述第二處理器(130)都處于刷新模式狀態(tài)時(shí),刷新所述第一處理器(125)和所述第二處理器(130)。(步驟425。)可選地,可以設(shè)置計(jì)時(shí)器,其中如果所述計(jì)時(shí)器計(jì)時(shí)終止,就判斷所述第二處理器不處于刷新模式。(步驟415) 。
文檔編號(hào)G06F15/16GK1601466SQ0312496
公開(kāi)日2005年3月30日 申請(qǐng)日期2003年9月23日 優(yōu)先權(quán)日2003年9月23日
發(fā)明者周頎, 鹿偉 申請(qǐng)人:摩托羅拉公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
隆德县| 天台县| 汉阴县| 五华县| 武隆县| 鹤峰县| 北辰区| 遂川县| 蒲城县| 乌兰县| 拉萨市| 南平市| 无为县| 东光县| 香港| 秦皇岛市| 江永县| 长泰县| 银川市| 诸暨市| 高邑县| 龙门县| 观塘区| 兴和县| 西昌市| 杭锦后旗| 东安县| 比如县| 长阳| 双城市| 当阳市| 五原县| 息烽县| 拜城县| 宜兰市| 边坝县| 灌云县| 甘南县| 滨州市| 谢通门县| 济阳县|