国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

嵌入式系統高級編程語言技術分析

發布時間:2010-7-26 16:20    發布者:lavida
一、 嵌入式系統高級語言編程特點  

隨著嵌入式系統應用范圍的不斷擴大和嵌入式實時操作系統RTOS(Real Time Operating System)的廣泛使用,高級語言編程已是嵌入式系統設計的必然趨勢。因為匯編語言和具體的微處理器的硬件結構密切相關,移植性較差,既不宜在復雜系統中使用,又不便于實現軟件重用;而高級語言具有良好的通用性和豐富的軟件支持,便于推廣,易于維護。因此高級語言編程具有許多優勢。
  
(1) 通用性強。隨著微處理器技術的不斷發展,其功能越來越具體,種類越來越多,而不同種類的微處理器都有自己專用的匯編語言。這就為系統開發者設置了一個巨大的障礙,使得系統編程更加困難,軟件重用無法實現;而高級語言一般和具體機器的硬件結構聯系較少,比較流行的高級語言對多數微處理器都有良好的支持,通用性較好。  

(2) 容易編程。隨著嵌入式系統應用范圍的不斷擴大和應用層面的不斷深入,系統規模越來越大,結構越來越復雜,設計變得越來越困難。一個系統內有多種微處理器已是常見的事情。這時,要用匯編語言編程不僅要求編程人員要對所有微處理器的匯編語言都了如指掌,而且隨著任務復雜程度的不斷提高,用匯編語言實現規模較大的任務難度極大;而高級語言的語意層次較高,且有豐富的程序庫支持,因此,編寫較復雜的程序相對簡單。使用高級語言編程,不僅能夠加快系統開發進程,節省大量時間,同時也有利于系統調試及維護工作。  

(3) 容易閱讀。由于匯編語言的語意層次較低,在閱讀匯編語言程序時,往往要花費大量精力分析“細節”問題,如為什么把一個數據傳送給一個寄存器,為什么把某個標志位清零等。當把注意力放在這些“細節”上的時候,往往又把程序的主線忘記了。因此,匯編語言程序不僅難寫,而且難讀。采用高級語言就可以很好地解決這些問題。因為高級語言的語意層次較高,表達方式更接近人們日常的思維方法,一些數學表達式可以直接用一條語句表達,程序的思路更加清晰、簡捷。因此,程序也就容易閱讀。  

(4) 可移植性好。由于匯編語言和具體的微處理器密切相關,為某個微處理器設計的程序不能直接移植到另一個不同種類的微處理器上使用,因此,移植性差;而高級語言對所有微處理器都是通用的,因此,程序可以在不同的微處理器上運行,可移植性較好。這是實現軟件重用的基礎。  

(5) 可維護性好。高級語言程序往往是模塊化設計,各個模塊之間的接口是固定的。因此,當系統出現問題時,可以很快地將問題定位到某個模塊內,并盡快得到解決。另外,模塊化設計也便于系統功能的擴充和升級。  

(6) 直接支持中斷管理。中斷是嵌入式系統最重要也是最常用的信息交換方式,因此中斷系統是否靈活,中斷功能是否強大對系統的性能影響極大。在高級語言中,一般都有強大的中斷管理機制,以便構建高效靈活的中斷系統;而在匯編語言中,一般要由程序設計者自己編程來進行中斷管理。這不僅增加了編程的難度,而且效果也不一定好。  

(7) 支持軟件重用。由于匯編語言的可移植性極差,使得其軟件重用性嚴重受阻;而高級語言具有較好的通用性和可移植性,這就使得高級語言程序可以在不同時間、不同地點、不同系統、不同人員之間分享,實現軟件重用。這不僅可以提高產品質量,縮短開發周期,降低產品成本,而且還可以使軟件開發走上正規化、產業化的道路。  

二、 嵌入式系統高級編程語言概述  

在過去40多年,人們開發研制了幾十種計算機語言,但是僅有少數幾種得到了廣泛應用。這就提示我們選擇一個合適的語言系統并不容易。在小型嵌入式系統中,通常只有一個微處理器,并且其主要工作往往不是計算,而是控制,應選擇控制能力較強的語言。在大型嵌入式系統中,往往會有多個微處理器或計算機并行工作,構成多機系統。它們中有些工作于真正的嵌入式模式,有的則為純粹的信息處理。此時,對系統的編程就變得相當復雜,不同的任務可能會用不同的語言編程。因此,大型系統往往是一個多語言系統。對于這種“混合”系統的語言選擇更應慎重考慮。  

目前,在嵌入式系統開發過程中使用的語言種類很多,但僅有少數幾種語言得到了比較廣泛的應用。本文選擇了Ada、C/C++、Modula-2作為討論對象,并對Java作簡要介紹。  

Ada語言是20世紀70年代美國國防部開發并投入使用的功能強大的通用系統開發語言,最初為Ada83。它支持模塊化、獨立編譯、協處理等功能。其可靠性、可維護性、可讀性都是相當好的。后來,為了更好地支持OOP(Object-Oriented Programming),對其進行了改進,形成了目前廣泛使用的Ada95。使用Ada語言可以大大改善系統的清晰性、可靠性、可維護性等性能指標[2,3]。它是美國國防部指定的唯一一種可用于軍用系統開發的語言。  

C語言是由Dennis Richie于1972年在AT&Bell實驗室研究成功并投入使用的系統編程語言。其設計目標是使C既具有匯編語言的效率,又具有高級語言的易編程性。其最具代表性的應用是UNIX操作系統。從20世紀80年代中期C語言涉足實時系統后,受到了普遍歡迎。目前是使用最廣泛的嵌入式系統編程語言。C++是由Bjarne Stroustrup 于1995年在Bell實驗室研制成功并投入使用的。C++在支持現代軟件工程、OOP、結構化等方面對C進行了卓有成效的改進,但在程序代碼容量、執行速度、程序復雜程度等方面比C語言程序性能差一些。  

Modula-2是由Nicklans Wirth在70年代后期根據Pascal 和Modula開發的系統設計語言。其主要目標是在模塊化、系統編程、協同處理等方面對Pascal 進行改進。Modula-2具有很強的類型檢查能力和豐富的低級功能支持。因此,可用它設計一個完整的實時程序而不用匯編語言的支持。Modula-3是1988年由DEC(Digital Equipment Company)和ORC(Olivetti Research Center)根據Modula-2開發研制并投入使用的系統開發語言。目標是設計一個功能強大但結構簡單的通用編程語言。它在協同處理、OOP、自動垃圾收集以及對C語言和UNIX的支持等方面對Modula-2進行了改進。  

考察一門語言是否適用,需要從多個方面進行考慮。不同語言,都有自己的特色。很難將其全面進行比較。另外,任何一門語言的運行特性都與運行環境密切相關,因此,選擇語言時,應綜合考慮。為敘述方便,我們把語言的性能劃分為基本性能和運行性能兩個方面進行分析。  

(1) 基本性能  

一門語言的基本性能主要是指語言本身的固有特性,或稱靜態特性,即構成語言的組成部分所具有的特性。它不僅決定著語言的可用性、適用性、可靠性等,而且對應用程序的開發產量、便攜性、可維護性、安全性也有一定影響。它是一門語言的核心和基石。考查語言的基本性能主要從以下幾個方面入手:與匯編語言/機器語言的接口,直接尋址,對硬件的控制,位操作,中斷處理,指針操作,數據類型的支持及檢測,控制結構的支持及檢測,模塊化支持,獨立編譯支持,任務結構支持,異常事件處理,數學模型支持,語法和整體結構,多任務支持,標準程序庫,面向對象編程(OOP)結構等。  

(2) 運行性能  

語言的運行性能是指其應用軟件在實際運行時所表現出來的行為特點,是一門語言的動態特性。它對語言的適用性、實用性及可用性影響極大。主要表現在任務期限設置、代碼執行時間的簡單評價,調度策略選擇,時序分析支持等幾個方面。由于語言的運行性能和運行環境密切相關,如CPU速度、內存大小、硬盤速度、操作系統、編譯環境等。因此,評價語言的運行性能應和具體的應用環境聯系起來,任何理論上的評價都沒有多大的實際意義。故本文不再討論這方面的內容。  

三、 常用嵌入式系統高級編程語言基本性能  

一門語言的基本性能是組成這門語言的基本要素,是決定其性能好壞的關鍵因素。因此,認真研究語言的基本性能是非常必要的。下面對上述幾種流行的嵌入式系統編程語言的基本性能進行簡單的分析和比較。  

(1) 與匯編語言和機器代碼的接口  

在Ada語言中,可以通過子程序功能實現對匯編語言及機器代碼的訪問。標準程序包MACHINE-CODE支持這一功能。在C中,匯編語言可以定義為一個asm模塊嵌入在C源代碼中,也可以編寫成一個獨立的外部進程,用功能調用進行通訊。宏(Macros)也可以用來提供匯編語言操作。語言本身沒有提供這方面的機制,由編譯器提供支持。  

(2) 直接尋址  

Ada通過SYSTEM包中的Address類尋址絕對地址;C/C++ 通過指針完成絕對尋址,在C++中也可以通過Peek、Poke操作完成存儲器尋址;Modula-2 通過SYSTEM模塊支持絕對尋址。  

(3) 對硬件的訪問和控制  

Ada通過表述從句把Ada代碼映射到具體器件;C/C++通過指針完成對硬件的操作;在Modula-2中器件被標識為具有絕對地址的對象,通過賦值語句訪問這些對象。  

(4) 位操作  

Ada 具體的位可以在表述從句中指明,多個獨立位也可組成一個邏輯字,通過邏輯操作對它們進行加工處理。位操作是C的強項,邏輯操作、移位操作均可實現位操作;在C++中,還可以通過定義“bitfields”結構實現更多的位操作功能。Modula-2用“SET”結構處理位操作。在嵌入式應用中最有用的結構是“BITSET”,通過它可以方便地實現各種位操作。  

(5) 中斷處理  

Ada通過中斷處理任務實現中斷處理。一個中斷任務和一個中斷矢量密切相關,在中斷矢量地址處存放中斷任務入口地址。C/C++語言本身沒有提供標準的中斷處理機制,用戶可以自行處理。Modula-2通過SYSTEM模塊中的IOTRANSFER進程實現中斷處理。用戶也可以編寫自己的中斷處理程序。  

(6) 指針  

三種語言都提供了較強的指針操作。  

(7) 數據類型檢測  

Ada 有嚴格的數據類型檢測機制,混合類型是禁止的,數據類型的轉換是允許的,但有嚴格的規范。C語言的數據類型檢測功能較弱,在數據類型轉換時可能會出現錯誤,C++有改進。Modula-2 對數據類型檢測嚴格,不允許不明確的數據類型轉換。  

(8)程序控制結構  

Ada 提供了一整套嚴格的程序控制結構以支持分支、循環等功能,也支持無條件轉移;C/C++提供了分支、循環等控制結構,方便靈活,但在使用時應注意避免不安全因素;Modula-2在分支、循環控制方面是很嚴格的,但在使用CASE-ELSE結構時應注意,在無條件轉移時,用EXIT跳出循環,用RETURN結束進程,使用時應多加小心。  

(9) 模塊結構與獨立編譯  

Ada程序的基本單元是subprogram、package、task和generic,而編譯的基本單元是subprogram和package,所有程序單元都可以獨立編譯,類型檢查嚴格,沒有公用數據區。C程序的基本單元是function,外部變量是全局變量,內部變量是局部變量;C++程序是若干編譯文件的集合,每個文件可以定義class、function全局變量等類型,每個文件可以獨立編譯。Modula-2 的主程序由若干程序模塊和庫模塊組成,程序模塊是程序單元的最高層,各模塊可獨立編譯。  

(10) 異常事件處理  

Ada提供了一個綜合錯誤處理機制,用于處理由于語言本身和用戶自己引起的異常事件;C/C++語言沒有提供直接的異常事件處理機制,需由用戶自己處理,C++(V3.0)提供直接的異常事件處理功能;PIM Modula-2不提供異常事件處理功能,但也有一些其它編譯系統提供運行錯誤檢測和處理機制。  

(11) 任務(task)結構支持  

“task”是Ada程序標準的組成模塊,是該語言重要的和不可分割的組成部分;C中沒有獨立的“task”結構,但可以通過“function”實現;在C++中可以通過“classes”實現;Modula-2中沒有獨立的“task”結構,可以用“PROC”結構實現。  

(12) 數學模型支持  

Ada提供了較好的數學模型支持,無論在何種微處理器上運行,其程序行為都會受到嚴格檢查;C/C++支持定點、浮點運算。但數學模型并不完善,容易引起一些無定義的行為,如被0除或上下溢出等;PIM Modula-2的數學模型與運行環境有聯系,新標準在改進。  

(13) 語法與結構  

Ada英語式結構及語法,程序易讀易懂;C/C++是一種簡潔(terse)語言,程序比較難讀,C++更難讀;Modula-2語言結構定義明確,程序容易閱讀。  

(14) 多任務支持  

多任務支持是Ada語言的一大特點,是其不可分割的組成部分;C/C++不支持多任務;Modula-2通過“Coroutines”等機制支持多任務。  

(15) 標準庫  

Ada有豐富的基本功能庫;C/C++有非常豐富的庫程序,但在應用中應當注意兼容性;Modula-2有比較豐富的庫程序,但也應注意兼容性。  

(16) OOP結構支持  

Ada83就是一個OOP語言,Ada95又有增強;C不支持OOP,C++具有較強的OOP功能;Modula-2不支持OOP,Modula-3支持OOP。

四、 關于Java  

Java語言是Sun Microsystems公司于1995年在Internet上發布的面向對象的程序設計語言。其主要研制人是Gosling。他的目標是設計一個能夠運行于規模巨大、地域分布、體系異構的網絡環境中的語言系統,完成多個電子設備之間的通訊與協同工作。Gosling在設計中采用了虛擬機器碼(virtual machine code)方式,即Java語言編譯后產生的是虛擬機,虛擬機運行在一個解釋器上,解釋器用來解釋Java編譯器編譯后的程序。這使得Java成為一個與平臺無關的計算機語言,即Java應用程序不用修改即可在不同的軟硬件平臺上運行。從而實現了“一次編程,到處可用”(Write once,Run anywhere),使得Java語言很快風靡全球,甚至有人說是一場革命。  

(1) Java的特點  

Java語言是一種網絡語言,但它又不僅僅局限于此。近兩年Java語言發展迅速,在很多領域得到廣泛使用。這說明Java確實具有鮮明的特色。  

首先,Java是簡單的。它刪除了一些高級語言不是絕對必要的東西,如運算符重載、標題文件、指針運算、隱式類型轉換、多重繼承等,并通過自動垃圾收集功能大大簡化了程序設計者的內存管理工作,使程序設計變得簡單。  

第二,Java是面向對象的。Java語言的設計集中于對象及其接口,它提供了簡單的類機制及動態的接口模型。對象中封裝了它的狀態變量及相應的方法,實現了模塊化和信息隱藏;而類則提供了一類對象的原型,并通過繼承機制使子類可以使用父類的方法,實現代碼重用。  

第三,Java的體系結構是中立的。一般來說,網絡是由不同結構的機器構成,CPU和作業結構均有不同。讓應用程序在不同結構的機器上運行是一件困難的事;但Java編譯器能產生一種結構中立的目標文件格式,使編譯碼可以在不同的處理器上運行。  

第四,Java是健全的。Java在編譯和運行程序時都要對可能出現的問題進行檢查,以防止錯誤的產生。當程序出現例外時,Java會把它拋棄,以保證計算機系統不會崩潰。  

第五,Java是安全的。Java不支持指針操作,避免了指針操作帶來的種種弊端。Java擁有多個階層的互鎖(interlocking)保護措施,能有效防止病毒的侵入和破壞行為的發生。字節碼驗證被Web瀏覽器用來確保小程序不含病毒。  

第六,Java是多線程的。Java可以同時執行多個線程,如它可以在進行計算的同時與用戶交互對話。通常,編寫多線程程序是困難的;但Java提供了容易使用的同步機制,使程序設計方便容易。  

第七,Java是可擴展的。Java的設計使它能夠適應不斷發展的環境。在類庫中可以自由地加入新的方法和實例變量而不影響用戶程序的執行,同時,Java通過接口來支持多重繼承,使之比嚴格的類繼承具有更靈活的方式和更大的擴展性。  

(2) Java與嵌入式系統  

Java是網絡語言,而嵌入式系統則在功能、價格、體積、功耗、上市時間等方面有特殊要求。因此Java語言受速度和代碼容量的限制,本身并不適合于嵌入式系統的應用。但Sun公司并不愿意放棄這個發展潛力巨大的應用市場,對Java進行改進后發表了J2ME(Java2 Micro Edition)。它是Java API的一個子集,只包含了Java的關鍵特性,是專門針對對內存具有苛刻要求的嵌入式系統而設計的。J2ME粗略地將應用對象劃分為兩大類:內存在128KB"512KB之間的設備和內存大于512KB的設備,根據不同的類別提供不同的用戶接口和軟件包。  

但是由于嵌入式系統的特殊性,一些在Java語言中被認為是特性優異的東西卻在嵌入式系統中成了十分棘手的問題。如缺乏指針尋址和運行于Java虛擬機模式中的安全特性都使Java很難對硬件進行直接控制;自動垃圾收集功能使應用失去了實時決策能力,即它不能以可預知、可重復的時間長度來處理一個具體的代碼部分。實際上Java在進行垃圾收集時暫停了整個應用程序的執行,因此,開發人員幾乎不能控制垃圾收集的時間。令人鼓舞的是這些問題已經或正在被解決。即時編譯(just-in-time-compiler)程序和預先編譯(ahead-of-time-compiler)程序都可以提高Java代碼的執行速度。如New Monic公司的Real Time Executive和WindRiver公司的Fast J都可以在一定程度上保證絕對時間決策應用的開發。  

另一方面,為能夠從硬件上更好地支持Java,很多廠家都致力于Java芯片的開發研制,以充分發揮嵌入式Java小巧靈活的特點來開拓嵌入式市場。如HP公司正在開發、完善自己的編譯工具和Java虛擬機。其目的是要Java嵌入到如打印機、醫學監視器、自動取款機等設備中,使設備具有一定的智能,增加設備的可管理性和可用性,大大提高設備的工作效率。Sun公司宣稱將在J2ME中以Profile的形式為每個領域規定API組件。Java TV就是其中面向雙向數碼電視的API組件。Sun表示,Java TV技術將提供雙向電視所需的基本環境、安全性、擴展性及可攜帶性。通過Java TV技術,開發人員可以開發出更加富有吸引力的信息內容和服務。Sun還宣布,將和通用汽車公司達成合作伙伴關系,共同致力于汽車工業Java標準的確立。一旦Java成為汽車工業的電腦標準語言,Java將增加數百萬用戶。在過去的一年里,J2ME在無線通訊領域得到了充分的重視和廣泛的應用。因為J2ME中包含了能夠在大多數消費者的設備中運行的Java虛擬機、專用的API函數庫和用于開發和設置的工具。因此,手機生產商紛紛推出能夠上網的手機供用戶選用。  

在控制系統中,Java可以使所有操作在由標準Web瀏覽器提供的面板上完成。這些控制面板就是Java Applet。Web瀏覽器可以用來監視或設置系統。這些監視和設置操作均可以通過網絡遠程進行,這使得系統更加容易管理,特別是那些設置在危險的、遙遠的或不易接近地區的設備尤其需要Java的介入。  

Java不僅是一門語言,更是一種思想。它將使軟件開發在設計風格、設計方法、設計目標、設計過程等方面發生根本性變化。它將成為軟件再實現的基礎,未來OS的核心,各種應用軟件的開發平臺和實現環境。但Java并不是萬能的,它有自己的應用范圍,在網絡管理、網絡應用、面向對象的應用、可視化操作、交互式應用領域Java是優秀的;但在實時控制領域,如火箭控制、傳感器控制、宇宙飛行器的方位控制等方面C或匯編語言依然是最佳選擇。  

總結  

近年來計算機語言發展很快。新的語言不斷產生;流行語言不斷改進,逐步完善;不適用的語言逐步被淘汰。計算機語言的發展呈現出生機勃勃的景象。隨著嵌入式技術的發展,嵌入式系統高級編程語言倍受重視,逐步形成了百花齊放,百家爭鳴的局面。未來的嵌入式系統編程語言誰主潮流,現在還很難預測。Ada語言定義嚴格,易讀易懂,有較豐富的庫程序支持,目前在國防、航空、航天等相關領域應用比較廣泛,未來仍將在這些領域占有重要地位。C語言具有廣泛的庫程序支持,目前在嵌入式系統中是應用最廣泛的編程語言,未來仍將在嵌入式系統應用領域占重要地位。C++在PC機系統和工作站系統中都是重要的編程語言。Visual C++將在圖形用戶接口——GUI方面有較大作用。但C++的目標代碼往往比較龐大和復雜,在嵌入式系統應用中應充分考慮這一因素。Modula-2定義清晰,支持豐富,具有較好的模塊化結構,在教學科研方面有較廣泛的應用。雖然該語言的開發應用一直比較平緩,但近兩年在歐洲有所復蘇。Java語言相對年輕,但發展勢頭強勁。它的“一次編程,到處可用”的特性使得它在很多領域倍受歡迎。隨著網絡技術和嵌入式技術的不斷發展,Java及嵌入式Java的應用也將越來越廣泛。  
從運行特性來說,Ada語言具有較好的運行行為。因為它和運行環境聯系較少,語言本身定義嚴格,因此其運行行為是比較出色的。C/C++語言程序的運行行為和硬件環境及編譯系統有較大聯系,因此,可能會產生較多意想不到的問題。在某個環境下運行的程序換個機器或換個編譯系統就可能會產生錯誤。因此,無論是C還是C++都有幾頁無定義行為的說明。 Modula-2也有比較好的運行行為,且仍在改進。Java語言采用虛擬機技術,使得其應用程序的運行與具體的應用平臺無關,因此,具有良好的運行特性。  

雖然我們僅僅討論了Ada、C/C++、Modula-2三種語言的基本特性,對Java語言做了簡要介紹。但這足以提示我們在嵌入式系統開發應用中,應高度重視高級語言在嵌入式系統編程中的優勢所在,并應合理地選擇、研究、開發、應用適合自己的嵌入式系統高級編程語言。這不僅是未來嵌入式系統開發應用的發展方向,而且對我國的嵌入式技術發展意義重大。
本文地址:http://www.qingdxww.cn/thread-17020-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
  • Dev Tool Bits——使用DVRT協議查看項目中的數據
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕热久久久久久久 | 亚洲天堂影院 | 免费午夜网站 | 亚洲欧美一二三区 | 伊人久久大香网 | 日韩精品一级毛片 | 日本一卡精品视频免费 | 综合成人 | 国产性夜夜春夜夜爽 | 成人午夜视频在线播放 | 欧美成人精品第一区二区三区 | 九色视频在线看 | 羞羞的网站| 欧美日韩在线成人 | 国产日韩欧美swag在线观看 | 六月丁香色婷婷 | 动漫av网站免费观看 | 日日干天天操 | 视频二区 国产精品 职场同事 | 亚洲国产欧美一区二区欧美 | 日本jjzz | 男人久久天堂 | 国产做国产爱免费视频 | 激情文学在线视频 | 狠狠色丁香婷婷综合久久来 | 亚洲欧美日韩在线一区二区三区 | 四虎成人精品在永久在线观看 | 成年人黄视频在线观看 | 欧美激情一区二区三区在线 | 青草精品视频 | 国产亚洲精品xxx | 青草青草久热精品视频在线观看 | 91亚洲国产成人久久精品网站 | 激情国产视频 | 成人综合色站 | 国产成人精品一区二三区 | 黄色网站视频免费 | 国产精品三区四区 | 国产精品麻豆综合在线 | 天天操网 | 亚洲欧美在线一区二区 |