嵌入式習(xí)題答案_第1頁(yè)
嵌入式習(xí)題答案_第2頁(yè)
嵌入式習(xí)題答案_第3頁(yè)
嵌入式習(xí)題答案_第4頁(yè)
嵌入式習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第一章習(xí)題答案1. 什么是嵌入式系統(tǒng)?請(qǐng)列舉幾個(gè)常見(jiàn)的嵌入式系統(tǒng)。答:根據(jù)國(guó)際電氣和電子工程師協(xié)會(huì)(IEEE)的定義,嵌入式系統(tǒng)是控制、監(jiān)視或者輔助設(shè)備、機(jī)器和生產(chǎn)線運(yùn)行的裝置(Devices used to control, monitor, or assist the operation of equipment, machinery or plants)。這主要是從產(chǎn)品的應(yīng)用角度加以定義的,由此可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,可以涵蓋機(jī)械等附屬裝置。目前被我國(guó)科學(xué)家普遍認(rèn)同的定義是:嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁減,對(duì)功能、可靠性、成本、體積、功耗要求嚴(yán)

2、格的專用計(jì)算機(jī)系統(tǒng)。常見(jiàn)的嵌入式系統(tǒng):手機(jī),DVD,路由器,核磁共振儀,全自動(dòng)洗衣機(jī)。2. 嵌入式系統(tǒng)與通用計(jì)算機(jī)有哪些區(qū)別?答:(1) 以應(yīng)用為中心;(2) 以計(jì)算機(jī)技術(shù)為基礎(chǔ)(3) 軟件和硬件可裁減(4) 對(duì)系統(tǒng)性能要求嚴(yán)格(5)軟件的固件化(6)需要專用的開(kāi)發(fā)工具3. 嵌入式系統(tǒng)的發(fā)展分為哪幾個(gè)階段?答:第一階段:無(wú)操作系統(tǒng)的嵌入算法階段。第二階段:以嵌入式CPU為基礎(chǔ),以簡(jiǎn)單操作系統(tǒng)為核心的嵌入式系統(tǒng)。第三階段:以嵌入式操作系統(tǒng)為標(biāo)志的嵌入式系統(tǒng)。第四階段:以基于Internet為標(biāo)志的嵌入式系統(tǒng)。4. 請(qǐng)列舉嵌入式系統(tǒng)的主要應(yīng)用領(lǐng)域。答:(1)工業(yè)控制領(lǐng)域(2)交通運(yùn)輸領(lǐng)域(3)消費(fèi)

3、電子產(chǎn)品(4)家電領(lǐng)域(5)通信領(lǐng)域(6)商業(yè)和金融領(lǐng)域(7)環(huán)境監(jiān)測(cè)領(lǐng)域(8)醫(yī)療領(lǐng)域(9)建筑領(lǐng)域(10)軍事國(guó)防領(lǐng)域(11)航天航空領(lǐng)域第二章習(xí)題答案1. 簡(jiǎn)述簡(jiǎn)單嵌入式系統(tǒng)與復(fù)雜嵌入式系統(tǒng)的主要區(qū)別。答:簡(jiǎn)單嵌入式系統(tǒng)很早就已經(jīng)存在,這類嵌入式系統(tǒng)因?yàn)檐浻布?fù)雜度都很低,一般不使用操作系統(tǒng),例如常用的單片機(jī)系統(tǒng)。對(duì)于復(fù)雜的嵌入式系統(tǒng),它的開(kāi)發(fā)模式發(fā)生了極大的改變。一個(gè)復(fù)雜的嵌入式系統(tǒng)不僅硬件系統(tǒng)的開(kāi)發(fā)比單片機(jī)復(fù)雜了許多,更重要的是在該系統(tǒng)中采用了嵌入式操作系統(tǒng),其應(yīng)用軟件的開(kāi)發(fā)轉(zhuǎn)變?yōu)槭褂貌僮飨到y(tǒng)標(biāo)準(zhǔn)接口的計(jì)算機(jī)工程領(lǐng)域的應(yīng)用軟件開(kāi)發(fā)。復(fù)雜嵌入式系統(tǒng)具有更強(qiáng)大的功能,但是簡(jiǎn)單的嵌入式并不

4、會(huì)隨著復(fù)雜的嵌入式系統(tǒng)出現(xiàn)而消亡。2. 簡(jiǎn)述嵌入式系統(tǒng)的體系結(jié)構(gòu)。答:嵌入式系統(tǒng)從組成上看,可分為嵌入式硬件系統(tǒng)與嵌入式軟件系統(tǒng)兩大部分。嵌入式硬件層由嵌入式微處理器、嵌入式存儲(chǔ)器系統(tǒng)、通用設(shè)備和IO接口等組成。嵌入式系統(tǒng)的軟件層分為嵌入式操作系統(tǒng)和嵌入式應(yīng)用軟件兩大部分。3. 嵌入式處理器分為哪幾類?答:嵌入式處理器可分為以下四種:嵌入式微控制器(MicroController Unit,MCU),嵌入式微處理器(Embedded Microprocessor Unit,EMPU),嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)和嵌入式片上

5、系統(tǒng)(System on Chip,SoC)。4. ARM中常用的嵌入式存儲(chǔ)器都有哪些?答:ARM系統(tǒng)的存儲(chǔ)器可以分為片內(nèi)存儲(chǔ)器和片外存儲(chǔ)器。片內(nèi)一般以RAM或SRAM為主。片外通常以Flash和SDRAM為主。嵌入式系統(tǒng)中常用的幾種內(nèi)存有Flash、SRAM、SDRAM、DDRSDRAM等。5. 嵌入式系統(tǒng)中常用的外設(shè)接口都有哪些?答:串行接口UART,USB接口,IrDA紅外線接口,SPI(串行外圍設(shè)備接口),I2C總線接口,CAN總線接口,Ethernet(以太網(wǎng)接口)等。6. 嵌入式系統(tǒng)中常用的輸入輸出設(shè)備都有哪些?答:嵌入式系統(tǒng)中輸入形式一般包括觸摸屏、語(yǔ)音識(shí)別、按鍵、鍵盤和虛擬鍵盤

6、。輸出設(shè)備主要有LCD 顯示和語(yǔ)音輸出。7. 簡(jiǎn)述嵌入式操作系統(tǒng)的特點(diǎn),請(qǐng)列舉幾個(gè)常見(jiàn)的嵌入式操作系統(tǒng)。答:(1)可裝卸性(2)強(qiáng)實(shí)時(shí)性(3)統(tǒng)一的接口(4)強(qiáng)穩(wěn)定性,弱交互性(5)固化代碼。常見(jiàn)的嵌入式操作系統(tǒng)有Windows CE、VxWorks、C/OS、嵌入式linux。8. 簡(jiǎn)述嵌入式系統(tǒng)開(kāi)發(fā)的特點(diǎn)。答:需要交叉開(kāi)發(fā)工具和環(huán)境,軟硬件協(xié)同設(shè)計(jì),嵌入式系統(tǒng)開(kāi)發(fā)人員以應(yīng)用專家為主,軟件要求固態(tài)化存儲(chǔ),軟件代碼高質(zhì)量、高可靠性 ,系統(tǒng)軟件的高實(shí)時(shí)性9. 簡(jiǎn)述嵌入式系統(tǒng)的開(kāi)發(fā)周期。答:10. 簡(jiǎn)述嵌入式系統(tǒng)的開(kāi)發(fā)與通常PC 機(jī)上的軟件開(kāi)發(fā)有什么區(qū)別。答:系統(tǒng)軟件開(kāi)發(fā)模式可以分為兩類:本地開(kāi)發(fā)

7、模式和交叉開(kāi)發(fā)模式。嵌入式系統(tǒng)的開(kāi)發(fā)與通常PC 機(jī)上的軟件開(kāi)發(fā)有很大的區(qū)別,原有的PC機(jī)的軟件開(kāi)發(fā)過(guò)程從編寫程序、編譯和運(yùn)行等過(guò)程全在同一個(gè)PC 機(jī)平臺(tái)上完成,屬于本地開(kāi)發(fā)(native);嵌入式開(kāi)發(fā)的程序編寫和編譯與原來(lái)一樣還在PC 機(jī)(host)上完成,但編譯產(chǎn)生的結(jié)果要在嵌入式目標(biāo)平臺(tái)(target)上運(yùn)行。通常將這種在主機(jī)上開(kāi)發(fā)編譯,在目標(biāo)平臺(tái)上調(diào)試運(yùn)行的開(kāi)發(fā)模式稱為交叉開(kāi)發(fā)。同樣運(yùn)行在主機(jī)上的編譯器(例如GCC)編譯程序產(chǎn)生目標(biāo)機(jī)上運(yùn)行的可執(zhí)行程序的編譯過(guò)程稱為交叉編譯。嵌入式系統(tǒng)采用這種交叉開(kāi)發(fā)、交叉編譯的開(kāi)發(fā)環(huán)境主要是因?yàn)榍度胧较到y(tǒng)是種專用的計(jì)算機(jī)系統(tǒng),采用量體裁衣量身定制的方法

8、制造。11. 簡(jiǎn)述宿主機(jī)目標(biāo)機(jī)的開(kāi)發(fā)模式。答:交叉開(kāi)發(fā)環(huán)境是指編譯、鏈接和調(diào)試嵌入式應(yīng)用軟件的環(huán)境,它與運(yùn)行嵌入式應(yīng)用軟件的環(huán)境有所不同,通常采用宿主機(jī)目標(biāo)機(jī)模式。宿主機(jī)(host)一般采用一臺(tái)通用計(jì)算機(jī)(如PC機(jī)或者工作站),它通過(guò)串口(Serial)或者以太網(wǎng)(Ethernet)接口與目標(biāo)機(jī)通信。宿主機(jī)的軟硬件資源比較豐富,不但包括功能強(qiáng)大的操作系統(tǒng)(如 Windows 和 Linux),而且還有各種各樣優(yōu)秀的開(kāi)發(fā)工具(如 WindRiver 的Tornado、Microsoft的Embedded Visual C+等),能夠大大提高嵌入式應(yīng)用軟件的開(kāi)發(fā)速度和效率。目標(biāo)機(jī)(target)一

9、般在嵌入式應(yīng)用軟件的開(kāi)發(fā)和調(diào)試期間使用,用來(lái)區(qū)別與嵌入式系統(tǒng)通信的宿主機(jī)。目標(biāo)機(jī)可以是嵌入式應(yīng)用軟件的實(shí)際運(yùn)行環(huán)境,也可以是能夠替代實(shí)際運(yùn)行環(huán)境的仿真系統(tǒng),但軟硬件資源通常都比較有限。嵌入式系統(tǒng)的交叉開(kāi)發(fā)環(huán)境一般包括交叉編譯器、交叉調(diào)試器和系統(tǒng)仿真器(Emulator),其中交叉編譯器用于在宿主機(jī)上生成能在目標(biāo)機(jī)上運(yùn)行的代碼,而交叉調(diào)試器和系統(tǒng)仿真器則用于在宿主機(jī)與目標(biāo)機(jī)間完成嵌入式軟件的調(diào)試。第三章習(xí)題答案1. 簡(jiǎn)述ARM處理器的特點(diǎn)。答:ARM 處理器采用 RISC架構(gòu),具有 RISC的一般特點(diǎn):l 采用大量的寄存器,指令執(zhí)行速度更快;l 尋址方式靈活簡(jiǎn)單,執(zhí)行效率高;l 采用固定長(zhǎng)度的指

10、令格式;l 大多數(shù)數(shù)據(jù)操作都在寄存器中進(jìn)行,通過(guò) Load/Store 的體系結(jié)構(gòu)在內(nèi)存和寄存器之間傳遞數(shù)據(jù)。因此ARM 處理器的內(nèi)核很小,功耗也就很低。ARM 處理器還采用了一些特別的技術(shù),在保證高性能的同時(shí)盡量減小芯片體積,降低芯片的功耗。這些技術(shù)包括:l 在同一條數(shù)據(jù)處理指令中包含算術(shù)邏輯處理單元處理和移位處理;l 使用地址自動(dòng)增加(減少)來(lái)優(yōu)化程序中循環(huán)處理;l Load/Store 指令可以批量傳輸數(shù)據(jù),從而提高傳輸數(shù)據(jù)的效率;l 所有指令都可以根據(jù)前面指令執(zhí)行結(jié)果,決定是否執(zhí)行,以提高指令執(zhí)行的效率;l 支持 Thumb(16位)/ARM(32位)雙指令集,能很好地兼容 8位/16

11、位器件。2. 嵌入式RISC處理器ARM7TDMI中TDMI的基本含義分別是什么?答:T :支持16 位壓縮指令集Thumb。D :支持JTAG調(diào)試器,可片上Debug。M :支持64位長(zhǎng)乘法指令I(lǐng): 嵌入式跟蹤宏單元(ICE)。3. 常用的ARM處理器系列都有哪些?答:ARM 處理器目前應(yīng)用比較多的是ARM7 系列、ARM9 系列、ARM9E 系列、ARM10E 系列、SecurCore 系列、Intel 的StrongARM、Xscale 等多個(gè)系列,最新的系列是ARM11系列。4. ARM處理器一般支持的的數(shù)據(jù)類型都有哪些?答:8位有符號(hào)字節(jié)類型數(shù)據(jù);8 位無(wú)符號(hào)字節(jié)類型數(shù)據(jù);16 位有

12、符號(hào)半字類型數(shù)據(jù);16 位無(wú)符號(hào)半字類型數(shù)據(jù);32 位有符號(hào)字類型數(shù)據(jù);32 位無(wú)符號(hào)字類型數(shù)據(jù)。5. 什么是大端模式?什么是小端模式?請(qǐng)舉例說(shuō)明它們的區(qū)別。所謂的大端模式,是指數(shù)據(jù)的低位保存在內(nèi)存的高地址中,而數(shù)據(jù)的高位保存在內(nèi)存 的低地址中。所謂的小端模式,是指數(shù)據(jù)的低位保存在內(nèi)存的低地址中,而數(shù)據(jù)的高位保存在內(nèi)存的高地址中。若寄存器R1=0x,分別按小端模式和大端模式存儲(chǔ)在0x2000字單元中,下圖分別為在兩種模式下內(nèi)存的存儲(chǔ)內(nèi)容。6. 請(qǐng)簡(jiǎn)述ARM7TDMI采用哪幾級(jí)流水線結(jié)構(gòu),并說(shuō)明在ARM狀態(tài)下各階段指令地址的關(guān)系。答:ARM7架構(gòu)采用了三級(jí)流水線,分為取指(fetch),譯碼(d

13、ecode)和執(zhí)行(execute)。程序計(jì)數(shù)器R15(PC)總是指向取指的指令,而不是指向正在執(zhí)行的指令或者正在譯碼的指令。對(duì)于ARM狀態(tài)下指令,PC值=當(dāng)前程序執(zhí)行位置。7.簡(jiǎn)述ARM和THUMB狀態(tài)的區(qū)別,舉例說(shuō)明使用什么指令從ARM狀態(tài)轉(zhuǎn)換為Thumb狀態(tài)。答:ARM狀態(tài):處理器執(zhí)行32位的字對(duì)齊的ARM指令;Thumb狀態(tài):處理器執(zhí)行16位的半字對(duì)齊的Thumb指令。 ARM指令集和Thumb指令集均有切換處理器狀態(tài)的指令BX。從ARM狀態(tài)轉(zhuǎn)換到Thumb狀態(tài):ADR R0, TSTART+ 1 BX R0 8. ARM處理器有哪些工作模式?哪些是特權(quán)模式?哪些是異常模式?答:ARM

14、體系結(jié)構(gòu)支持7種工作模式(Processor modes),分別為用戶模式(usr)、快中斷模式(fiq)、中斷模式(irq)、管理模式(svc)、數(shù)據(jù)訪問(wèn)終止模式(abt)、系統(tǒng)模式(sys)、及未定義指令中止模式(und)。除去用戶模式外的其他6種處理器工作模式稱為特權(quán)模式(Privileged Modes)。除去用戶模式和系統(tǒng)模式以外的5種處理器工作模式稱為異常模式(Exception Modes)9.ARM處理器共有多少個(gè)寄存器?在所有工作模式下,哪些寄存器都指向同一個(gè)物理寄存器?答:ARM處理器含有37個(gè)物理上獨(dú)立的寄存器,其中包括31個(gè)通用寄存器和6個(gè)狀態(tài)寄存器。R0-R12寄存器

15、在所有工作模式下都指向同一個(gè)物理寄存器。10.簡(jiǎn)述CPSR寄存器控制位的作用。答:(1)中斷禁止位I、F:I=1 禁止IRQ中斷;F=1 禁止FIQ中斷。(2)T標(biāo)志位:該位反映處理器的運(yùn)行狀態(tài)。當(dāng)該位為1時(shí),程序運(yùn)行于Thumb狀態(tài),當(dāng)該位為0時(shí),表示運(yùn)行于ARM狀態(tài)。(3) 運(yùn)行模式位M4:0:M0、M1、M2、M3、M4是模式位。這些位決定了處理器的運(yùn)行模式。11. ARM的異常中斷包含哪些類型?它們的優(yōu)先級(jí)順序是怎樣的?它們的異常向量地址是多少?答:12. 當(dāng)處理異常時(shí),ARM內(nèi)核會(huì)做哪些處理?答:ARM 處理器對(duì)異常中斷的響應(yīng)過(guò)程如下:(1) 保存處理器當(dāng)前狀態(tài)、中斷屏蔽位以及各條件

16、標(biāo)志位。這是通過(guò)將當(dāng)前程序狀態(tài)寄存器CPSR 的內(nèi)容保存到將要執(zhí)行的異常中斷對(duì)應(yīng)的SPSR 寄存器中實(shí)現(xiàn)的。各異常中斷有自己的物理SPSR 寄存器。(2) 設(shè)置當(dāng)前程序狀態(tài)寄存器CPSR中相應(yīng)的位。包括設(shè)置CPSR中的控制模式位,使處理器進(jìn)入相應(yīng)的執(zhí)行模式;設(shè)置CPSR中的中斷禁止位,如果進(jìn)入IRQ 模式時(shí),禁止IRQ 中斷,如果當(dāng)進(jìn)入FIQ 模式時(shí),禁止FIQ 中斷。(3) 將寄存器LR_mode設(shè)置成返回地址。(4) 將程序計(jì)數(shù)器值(PC)設(shè)置成該異常中斷的中斷向量地址,從而跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序執(zhí)行。13. 當(dāng)異常結(jié)束時(shí),ARM內(nèi)核會(huì)做哪些處理?答:ARM 系統(tǒng)處理完中斷后從異常中

17、斷處理程序中返回包括下面的步驟:(1) 恢復(fù)被中斷的程序的處理狀態(tài),即將SPSR_mode 寄存器內(nèi)容復(fù)制到當(dāng)前程序狀態(tài)寄存器CPSR 中。(2)返回到發(fā)生異常中斷的指令的下一條指令處執(zhí)行。即將LR_mode 寄存器的內(nèi)容復(fù)制程序計(jì)數(shù)器PC 中。因?yàn)檎麄€(gè)應(yīng)用系統(tǒng)是從復(fù)位異常中斷處理程序執(zhí)行的,所以復(fù)位異常中斷處理程序不需要返回。第四章習(xí)題答案1. 請(qǐng)列舉ARM處理器的指令尋址方式。哪種尋址方式是ARM指令集特有的尋址方式?答:ARM處理器具有9種基本尋址方式,分別為立即尋址、寄存器尋址、寄存器移位尋址、寄存器間接尋址、基址尋址、多寄存器尋址、堆棧尋址、塊拷貝尋址、相對(duì)尋址。寄存器移位尋址是AR

18、M指令集特有的尋址方式。2. 在ARM數(shù)據(jù)處理指令中,第二個(gè)操作數(shù)都有哪幾種形式?答:第2 個(gè)操作數(shù)的三種形式如下。立即數(shù),例如:MOV R0,#0x0000F200 ;寄存器方式,例如:ADD R1,R1,R2;寄存器移位方式,例如:ANDS R1,R1,R2,LSL R3。3. 請(qǐng)分別寫出調(diào)用子程序、子程序返回所使用的指令,并簡(jiǎn)述所用指令的工作過(guò)程。答:用BL指令調(diào)用子程序。BL指令先將下一條指令的地址拷貝到R14(即LR)連接寄存器中,然后跳轉(zhuǎn)到指定地址運(yùn)行指令。子程序返回的指令是:MOV PC, LR。4. 如圖:存儲(chǔ)器地址4010H,4014H,4018H的內(nèi)容分別為1,2,3。寄存

19、器R1,R2,R3的值都為0。R0的值為0x4010。問(wèn):給出指令執(zhí)行后,寄存器R0,R1,R2,R3的結(jié)果。(IA:每次傳送后地址加4)LDMIA R0!,R1-R3答:5. 閱讀下面程序,并回答問(wèn)題。AREAExample1,CODE,READONLY; 聲明代碼段Example1 ENTRY ; 標(biāo)識(shí)程序入口CODE32 START MOVR0,#20- (1) MOVR1,#10LDRR5,=0x- (2)ANDS R2,R5,#0x20- (3)CMPR2,#0- (4)ADDEQR0,R0,#1- (5)ADDNER1,R1,#1- (6)HALTBHALT END ; 文件結(jié)束a

20、) 請(qǐng)回答匯編語(yǔ)句(1)(2)(3)(4)(5)(6)的含義。b) 此程序?qū)崿F(xiàn)什么功能?答:a) 語(yǔ)句(1)把常數(shù)20送到R0;語(yǔ)句(2)使用LDR偽指令把常數(shù)0x送到R5;語(yǔ)句(3)將R5中的數(shù)據(jù)與0x20相與,影響標(biāo)志位;語(yǔ)句(4)將R2的數(shù)據(jù)與0比較;語(yǔ)句(5)如果相等R0加1;語(yǔ)句(6)不相等R1加1(6分)測(cè)試數(shù)據(jù)0x的bit4(第五位)。如果是0,R0中的數(shù)據(jù)20加1。如果是1,R1中的數(shù)據(jù)10加1。(2分)6. 用匯編語(yǔ)言編寫程序,求1到50的累加和。答:AREAExample1,CODE,READONLYENTRY CODE32START LDR R5,=0xMOVR0,#0

21、MOVR1,#1LOOPBL SUMB LOOP SUMADDSR0,R0,R1ADD R1,R1,#1CMP R1,#50BLHI HALTMOVPC,LR HALT STR R0,R5B .END7. 請(qǐng)說(shuō)明匯編語(yǔ)句STRB R2,R0,#4和STR R2,R0,#4!的區(qū)別。答:mem8R0+4=R2;R0不變 mem32R0+4= R2;R0=R0+4mem32表示存儲(chǔ)器的存儲(chǔ)單元中存放的32位字?jǐn)?shù)據(jù),mem16表示存儲(chǔ)器的存儲(chǔ)單元中存放的16位半字?jǐn)?shù)據(jù),mem8表示存儲(chǔ)器的存儲(chǔ)單元中存放的8位字節(jié)數(shù)據(jù)8. 請(qǐng)說(shuō)明MOV指令和LDR指令在傳送立即數(shù)時(shí),使用方法的區(qū)別。答:MOV傳送8位

22、位圖數(shù)據(jù),例如:MOVR1,#0xFF;LDR偽指令傳送32位立即數(shù),例如:LDR R0,=0x。9. 請(qǐng)列舉ARM處理器的四種堆棧類型,并說(shuō)明它們的特點(diǎn)和區(qū)別。答:(1)滿遞增堆棧 FA:堆棧指針指向最后壓入的數(shù)據(jù),且由低地址向高地址生長(zhǎng)。(2)滿遞減堆棧 FD:堆棧指針指向最后壓入的數(shù)據(jù),且由高地址向低地址生長(zhǎng)。(3)空遞增堆棧EA:堆棧指針指向下一個(gè)將要放入數(shù)據(jù)的空位置,且由低地址向高地址生長(zhǎng)。(4)空遞減堆棧ED:堆棧指針指向下一個(gè)將要放入數(shù)據(jù)的空位置,且由高地址向低地址生長(zhǎng)。10. 可以對(duì)狀態(tài)寄存器操作的指令都有哪些,如何使用。答:ARM指令集提供了2條指令,可直接控制程序狀態(tài)寄存器

23、(psr,Program State Register)。MRS指令用于將CPSR或SPSR的值傳送到通用寄存器中。MSR指令與之相反,用于將通用寄存器的內(nèi)容或者立即數(shù)傳送到到CPSR或SPSR中。例如:MRS R1,CPSRBIC Rl,Rl,#0x80 ;0b0lMSR CPSR_c,Rl練習(xí)題閱讀下面程序,并回答問(wèn)題。AREAExample1,CODE,READONLY; 聲明代碼段Example1 ENTRY CODE32START LDR R0,=0x- (1) MOVR1,#0x2000 - (2)STR R1,R0 - (3) SUBR2,R1,#2 - (4)STRB R2,R

24、0,#4- (5)B .END ; 文件結(jié)束a) 程序中分號(hào)的作用是什么?b) 請(qǐng)回答匯編語(yǔ)句(1)(2)(3)(4)(5)的含義。c) 如果將匯編語(yǔ)句(5)STRB R2,R0,#4改為STRB R2,R0,#4!,有什么不同? 答案分號(hào)后面的內(nèi)容是對(duì)程序的注釋。語(yǔ)句(1)使用LDR偽指令將地址數(shù)據(jù)0x送入R0;語(yǔ)句(2)將常數(shù)0x2000送入R1;語(yǔ)句(3)將數(shù)據(jù)0x2000存儲(chǔ)到地址為0x的存儲(chǔ)空間中;語(yǔ)句(4)將R1中的數(shù)據(jù)減2,結(jié)果0x1FFE送到R2;語(yǔ)句(5)將數(shù)據(jù)0x1FFE的低位字節(jié)數(shù)據(jù)0xFE存儲(chǔ)到地址為0x的存儲(chǔ)空間中。STRB R2,R0,#4執(zhí)行后,R0的值為0x;S

25、TRB R2,R0,#4執(zhí)行后,R0的值為0x。第五章習(xí)題答案1. 簡(jiǎn)述Xscale內(nèi)核的特點(diǎn)。答:ARM 的體系結(jié)構(gòu)是基于RISC 的,XSCALE 是ARM 處理器的一種,所以XSCLAE具有RISC 的基本特性。XScale 的超流水線(SuperPipeline)技術(shù),主頻高達(dá)600MHz 以上。高效的存儲(chǔ)器體系結(jié)構(gòu),主要包括32KB D-Cache、32KB I-Cache、2KB Mini Dcache、Fill Buffers、ending Buffers以及4.8GB/s帶寬的存儲(chǔ)總線,使處理器可以高效訪問(wèn)存儲(chǔ)器。實(shí)現(xiàn)了基于統(tǒng)計(jì)分析的分支預(yù)測(cè)功能部件。XScale對(duì)ARM的乘加

26、邏輯進(jìn)行了增強(qiáng),增加了8 條 DSP 指令。2. 簡(jiǎn)述PAX270處理器的結(jié)構(gòu)和主要的通信模塊。答:CPU 520M 運(yùn)行能力;XSCALE 構(gòu)架,并帶有無(wú)線MMX 指令集;7 級(jí)流水線;32KB的指令cache , 32KB 的數(shù)據(jù) cache, 2KB微型數(shù)據(jù)cache;外部擴(kuò)充存儲(chǔ)器控制器;256KB 內(nèi)部 SRAM;豐富的串行接口: AC97 AUDIO PORT; IIS PORT;USB HOST,USB DEVICE;USB OTG;3個(gè)UART,紅外通訊接口;標(biāo)準(zhǔn)IEEE JTAG,支持邊界掃描;實(shí)時(shí)時(shí)鐘 和系統(tǒng)時(shí)鐘;中斷控制器;LCD 控制器;SDRAM controller

27、, 支持4 個(gè) BANK,最高可以運(yùn)行在104M。外部SDRAM可以是2.5V 3.0V 或3.3V;支持PCMCIA and Compact Flash;SD Card / MMC Controller (with SPI mode support);2個(gè)IIC Controllers;3 個(gè)SSP Controllers;CAMERA接口;121 個(gè)多功能GPIO;4種LOWPOWER模式;4個(gè)PWM3. 簡(jiǎn)述GPIO模塊的特點(diǎn)。答:PXA270處理器提供121個(gè)多功能輸入/輸出引腳,除了可以選擇作為基本輸入/輸出使用外,還可以選擇它的復(fù)用功能,復(fù)用功能包括串口通信接口,定時(shí)器輸出,外部中

28、斷等。當(dāng)多功能輸入/輸出引腳作為高速的通用GPIO接口時(shí),可以用來(lái)生成和捕捉外設(shè)的輸出和輸入信號(hào)。每個(gè)GPIO引腳通過(guò)編程控制可實(shí)現(xiàn)輸出或輸入功能。 當(dāng)GPIO引腳作為輸入時(shí),通過(guò)設(shè)置上升或下降沿檢測(cè),可作為一個(gè)中斷源來(lái)使用。4. GPIO模塊中如何選擇引腳的功能,舉例說(shuō)明。答:通過(guò)寄存器GPDR和GAFR來(lái)選擇引腳功能,在使用寄存器GAFR設(shè)置GPIO引腳功能之前,必須先通過(guò)寄存器GPDR設(shè)置引腳的方向。例如:設(shè)定將GPIO118為SDA輸出引腳,首先利用寄存器GPDR3設(shè)定 GPIO118是輸出引腳,當(dāng)GAFR3的Bit13:12=01時(shí),將GPIO118復(fù)用為SDA輸出引腳。代碼如下:G

29、PDR3= GPDR3| (0x0122);GAFR3_U = GAFR3_U &(0x1112)|(AF1 12);5. 編寫程序代碼,實(shí)現(xiàn)設(shè)置GPIO8和GPIO41為輸出功能,GPIO8為低電平輸出,設(shè)置GPIO41為高電平輸出。答:#define GPDR0(*(volatile unsigned char*)(0x40E0000C)#define GPDR1(*(volatile unsigned char*)(0x40E00010)#define GPCR0(*(volatile unsigned char*)(0x40E00024)#define GPSR1(*(volatile

30、 unsigned char*)(0x40E0001C) GPDR0= GPDR0 | (0x018); GPCR0= GPCR0 | (0x018); GPDR1= GPDR1 | (0x019); GPSR1= GPSR1 | (0x019); 6. PAX270有幾個(gè)UART單元,各有什么用途?答:PAX270有三個(gè)UART單元。全功能UART:FFUART支持調(diào)制解調(diào)器控制功能,最高波特率可達(dá)到 bps。藍(lán)牙UART:BTUART是一個(gè)高速的UART,所支持的波特率可達(dá)到 bps,并且可以連接到藍(lán)牙模塊,但只支持調(diào)制解調(diào)器控制信號(hào)中的CTS和RTS信號(hào)。標(biāo)準(zhǔn)UART:STUART的最高

31、波特率可達(dá)到 bps,但不支持調(diào)制解調(diào)器控制信號(hào)。7. 串行通訊的傳輸模式有哪些?簡(jiǎn)述RS232C接口的通信原理。答:串行通訊的傳輸模式有三種:?jiǎn)喂?、半雙工和雙工。RS232是全雙工的數(shù)據(jù)發(fā)送模式,利用RS232通信時(shí),僅適用3根基本的數(shù)據(jù)傳輸線有:RXD、TXD、GND 。TXD(發(fā)送線):數(shù)據(jù)發(fā)送信號(hào)線 ,數(shù)據(jù)由該腳發(fā)出,送上通信線,沒(méi)有數(shù)據(jù)傳輸時(shí),邏輯電平為“1”;RXD(接收線):數(shù)據(jù)接收信號(hào)線,從通信信號(hào)線來(lái)的數(shù)據(jù),從該腳引入,在無(wú)信息時(shí)候,邏輯電平為“1”;GND(地線): 參考地信號(hào)線,為其他信號(hào)線提供電平參考。8. 簡(jiǎn)述UART模塊的通信原理。答:每個(gè)UART 能將從RXD 端

32、接收的串行數(shù)據(jù)轉(zhuǎn)變?yōu)椴⑿械臄?shù)據(jù),并且能夠?qū)?lái)自處理器的并行數(shù)據(jù)轉(zhuǎn)化串行數(shù)據(jù),然后通過(guò)TXD 端發(fā)送出去。根據(jù)UART 是否在FIFO 模式下執(zhí)行,發(fā)送和接收的數(shù)據(jù)會(huì)有選擇的鎖存在發(fā)送/接收FIFO。例如,當(dāng)UART在接收數(shù)據(jù)時(shí),來(lái)自RXD 端的數(shù)據(jù)首先會(huì)經(jīng)過(guò)接收移位寄存器,然后組織成一個(gè)字節(jié)的數(shù)據(jù),如果運(yùn)行在FIFO 模式,數(shù)據(jù)會(huì)首先鎖存在接收FIFO 里,同時(shí)接收緩沖寄存器RBR 會(huì)保存FIFO 第一字節(jié)單元數(shù)據(jù),F(xiàn)IFO 的內(nèi)容可以通過(guò)連續(xù)讀取RBR 獲得,每讀寫完一次后,F(xiàn)IFO第一字節(jié)單元數(shù)據(jù)會(huì)被移出。當(dāng)UART 收到來(lái)自總線的并行數(shù)據(jù)時(shí),數(shù)據(jù)首先進(jìn)入發(fā)送緩沖寄存器THR,如果工作在F

33、IFO 模式,數(shù)據(jù)會(huì)再被鎖存在發(fā)送FIFO,最后才被送入發(fā)送移位寄存器,將并行數(shù)據(jù)以逐位方式在TXD 端發(fā)送出去,每次向THR 寫入的數(shù)據(jù)(有效數(shù)據(jù)最長(zhǎng)為8 位)會(huì)被送入FIFO,只有FIFO 的第一字節(jié)單元會(huì)被送入發(fā)送移位寄存器里,并且在FIFO里還未發(fā)送的數(shù)據(jù)會(huì)逐漸上移到第一字節(jié)單元。無(wú)論是接收還是發(fā)送,當(dāng)運(yùn)行在nonFIFO方式時(shí),數(shù)據(jù)不會(huì)被鎖存在FIFO,而只會(huì)被鎖存在寄存器RBR 或THR,可以簡(jiǎn)單認(rèn)為在nonFIFO 時(shí),RBR 和THR 分別與接收移位寄存器和發(fā)送移位寄存器直接相連。9. 使用FFUART進(jìn)行異步傳輸數(shù)據(jù),以波特率為9600傳送數(shù)據(jù),則寄存器FFDLH和FFDLL

34、應(yīng)如何設(shè)置?答:波特率發(fā)生器的時(shí)鐘通過(guò)PXA270的內(nèi)部系統(tǒng)時(shí)鐘來(lái)設(shè)定,采用 14.7456MHz 作為固定的輸入時(shí)鐘,并且可以對(duì)它以 1 至(216-1)分頻。波特率發(fā)生器的時(shí)鐘必須是波特率的16倍,波特率(BaudRate)可以通過(guò)以下公式計(jì)算:FUART以波特率為9600傳送數(shù)據(jù),即baudrate=9600,經(jīng)公式計(jì)算得 Divisor=96,配置 FFDLH=0X0 ,F(xiàn)FDLL=0x60。10. 請(qǐng)編寫使用FFUART采用查詢方式發(fā)送/接收數(shù)據(jù)的函數(shù)。答:(1)接收數(shù)據(jù)函數(shù)int SerialInputByte(char *c) if(FFLSR & 0x)=0) return 0

35、; else *c = FFRBR; return 1; (2)發(fā)送數(shù)據(jù)函數(shù)void SerialOutputByte(const char c) while (FFLSR & 0x) = 0 );FFTHR = (ulong)c & 0xFF); if (c=n)SerialOutputByte(r); void SerialOutputString(char * str) int i=0; while( (*(str+i)!=0) SerialOutputByte(*(str+i); i+; 11. 簡(jiǎn)述PXA270中斷控制器的內(nèi)部結(jié)構(gòu)。答:PXA270中斷控制器,通過(guò)設(shè)置寄存器 ICMR

36、 屏蔽中斷源。通過(guò)設(shè)置寄存器 ICLR 對(duì)中斷源分類,即可以讓中斷源發(fā)出的中斷請(qǐng)求以 IRQ 中斷方式或以 FIQ 中斷方式被處理。查詢寄存器 ICPR 得知 32 個(gè)中斷源當(dāng)前是否有中斷請(qǐng)求,在 ICPR 寄存器上顯示發(fā)出中斷請(qǐng)求的中斷源不受 ICMR 影響,即 ICMR 即使屏蔽某個(gè)中斷源,只要中斷源發(fā)出中斷請(qǐng)求,ICPR 仍然會(huì)在相應(yīng)的位上顯示“1”。查詢寄存器 ICIP 得知以 IRQ 方式被處理的中斷源是否發(fā)出中斷請(qǐng)求,該寄存器受到 ICMP 影響。即 ICIP ICPR & ICMR & (ICLR)。查詢寄存器 ICFP 得知以 FIQ 方式被處理的中斷源是否發(fā)出中斷請(qǐng)求,該寄存

37、器受到 ICMP 影響。即 ICFP ICPR & ICMR & ICLR。第六章習(xí)題答案1. 簡(jiǎn)述基于 Xscale PXA 270 處理器的 EELiod 270 開(kāi)發(fā)平臺(tái),開(kāi)發(fā)嵌入式Linux系統(tǒng)的交叉開(kāi)發(fā)環(huán)境的搭建過(guò)程。答:構(gòu)建基于嵌入式linux的交叉編譯環(huán)境的構(gòu)建過(guò)程主要包括以下幾方面的內(nèi)容。第一:安裝一臺(tái)裝有指定操作系統(tǒng)的PC機(jī)作宿主開(kāi)發(fā)機(jī),宿主機(jī)器在硬件上需具備標(biāo)準(zhǔn)串口、并口和網(wǎng)口,對(duì)于嵌入式Linux,宿主機(jī)上的操作系統(tǒng)一般要求為Redhat Linux,在此,我們推薦使用Redhat 9.0作為宿主機(jī)(開(kāi)發(fā)主機(jī))的操作系統(tǒng)。第二:檢測(cè)目標(biāo)機(jī)與宿主機(jī)的連接,通過(guò)串口實(shí)現(xiàn)通信,

38、查看目標(biāo)機(jī)系統(tǒng)的內(nèi)容。在windows 下使用超級(jí)終端,在 linux 下使用minicom。第三:在宿主機(jī)上建立交叉編譯環(huán)境。利用GNU 編譯器的交叉編輯工具鏈,生成可在ARM系統(tǒng)架構(gòu)上執(zhí)行的二進(jìn)制可執(zhí)行程序。第四:實(shí)現(xiàn)目標(biāo)機(jī)與宿主機(jī)之間文件的傳輸。設(shè)置統(tǒng)一段的網(wǎng)絡(luò),通過(guò)nfs網(wǎng)絡(luò)文件共享文件,F(xiàn)TP網(wǎng)絡(luò)傳輸上傳下載文件。第五:燒寫嵌入式Linux內(nèi)核、Bootloader、文件系統(tǒng)映像以及應(yīng)用程序到目標(biāo)板。軟件的更新通常使用串口或網(wǎng)口,最初的Bootloader 燒寫是通過(guò)并口進(jìn)行的。2. 宿主PC機(jī)上如何查看XSBase 270目標(biāo)板系統(tǒng)的內(nèi)容?答:在Linux操作系統(tǒng)安裝完成后,就可以

39、使用Linux下的 minicom來(lái)檢測(cè)宿主機(jī)和目標(biāo)機(jī)的連接。在Windows 下面可使用超級(jí)終端。3. 如何測(cè)試交叉編譯環(huán)境是否建立成功?答:首先,使用VI 編輯器創(chuàng)建一個(gè)hello.c 文件。rootlocalhost xscale270# vi hello.c編寫一個(gè)簡(jiǎn)單的程序來(lái)打印出一行簡(jiǎn)單的信息:Welcome Emdoor!。保存并退出該文件。使用如下的命令來(lái)編譯該文件。rootlocalhost xscale270# gcc -o hello hello.crootlocalhost xscale270# arm-linux-gcc -o hello hello.cgcc編程生成

40、的是X86系統(tǒng)結(jié)構(gòu)的二進(jìn)制文件。arm-linux-gcc是在在宿主機(jī)中,交叉編譯hello.c源程序,并查看生成的.o目標(biāo)文件。調(diào)用交叉編譯器arm-linux-gcc編譯hello.c文件使用file 命令來(lái)分別查看編譯出的二進(jìn)制文件hello和hello-arm。rootlocalhost xscale270# file hellorootlocalhost xscale270# file hello-arm編譯器arm-linux-gcc 生成的可執(zhí)行文件hello-arm文件是不能在宿主PC機(jī)上運(yùn)行的,只能在XSBase 270目標(biāo)機(jī)上運(yùn)行。4. 如何實(shí)現(xiàn)宿主PC機(jī)與XSBase 2

41、70目標(biāo)板的通信。答:要使用網(wǎng)絡(luò)進(jìn)行通訊和文件傳輸,必須使宿主機(jī)和目標(biāo)機(jī)是相同的網(wǎng)段。例如設(shè)置宿主機(jī)的IP地址:00;目標(biāo)機(jī)的IP地址:0。在嵌入式系統(tǒng)開(kāi)發(fā)中,可采用網(wǎng)絡(luò)文件系統(tǒng) NFS 可以將 PC 機(jī)上的一部分文件系統(tǒng)作為目標(biāo)機(jī)的資源,這樣可以彌補(bǔ)目標(biāo)機(jī)存儲(chǔ)空間的不足。文件傳輸協(xié)議 ftp(File Transimit Protocol)利用以太網(wǎng)實(shí)現(xiàn)文件的傳輸。需要上傳的文件應(yīng)保存到宿主機(jī)的/var/ftp/pub 目錄下。5. 簡(jiǎn)述Makefile的基本結(jié)構(gòu)。答:Makefile文件由一組依賴關(guān)系和規(guī)則構(gòu)成。每個(gè)依賴關(guān)系有一個(gè)目標(biāo)(即將要?jiǎng)?chuàng)建

42、的文件)和一組該目標(biāo)所依賴的源文件組成。Makefile 的基本結(jié)構(gòu):target :dependency_files command 結(jié)構(gòu)中各部分的含義如下:l target(目標(biāo)):一個(gè)目標(biāo)文件,可以是 Object 文件,也可以是執(zhí)行文件,還可以是一個(gè)標(biāo)簽(Label)。l dependency_files(依賴文件):要生成目標(biāo)文件(target)所依賴哪些文件。l command(命令):創(chuàng)建項(xiàng)目時(shí)需要運(yùn)行的shell命令6. 使用Makefile編譯程序的優(yōu)點(diǎn)是什么?答:在 Linux環(huán)境下,對(duì)于只含有幾個(gè)源代碼文件的小程序的編譯,可以手工輸入命令對(duì)源代碼文件逐個(gè)進(jìn)行編譯。但是在大

43、型的項(xiàng)目開(kāi)發(fā)中,一個(gè)工程中的源文件不計(jì)其數(shù),其按類型、功能、模塊分別放在若干個(gè)目錄中,這時(shí)人們通常利用 GNU make工具來(lái)自動(dòng)完成應(yīng)用程序的維護(hù)和編譯工作。GNU make 工具是通過(guò)解釋Makefile 文件來(lái)完成整個(gè)工程的完全自動(dòng)編譯,極大的提高了軟件開(kāi)發(fā)的效率。Makefile定義了一系列的規(guī)則來(lái)指定哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯。Makefile就像一個(gè)Shell腳本一樣,也可以執(zhí)行操作系統(tǒng)的命令。7. 在Makefile中變量如何定義,可在Makefile中的哪些部分使用?自動(dòng)變量$和$分別代表什么含義?答:Makefile中變量可以使用“=”定義和

44、使用指示符“define”定義。Makefile 中的變量可以使用在“目標(biāo)”,“依賴目標(biāo)”,“命令”或Makefile 的其它部分中。$:目標(biāo)文件的完整名稱;$:第一個(gè)依賴文件的名稱。8. 編寫一個(gè)文件的程序,使用Makefile文件進(jìn)行編譯。答:(1)利用文本編輯器創(chuàng)建hello.c 文件。/hello.c#include int main()printf(Welcome Emdoor!n);return 1;()編寫Makefile文件。# makefile test for hello programCC=gcc CFLAGS= all: hello hello: hello.o$(CC

45、) $(CFLAGS) hello.o o hello hello.o: hello.c$(CC) $(CFLAGS) -c hello.c -o hello.o clean:rm rf hello *.o()執(zhí)行make命令,編譯hello.c程序。rootlocal$make9. 編寫多個(gè)文件的程序,使用Makefile文件進(jìn)行編譯。(1) 答:在/work目錄先新建一個(gè)hello2目錄,并在該目錄下用vi命令創(chuàng)建文件hello1.c、hello2.c、hello.h和Makefile。分別輸入如下內(nèi)容。l 文件hello1.c/hello1.c#include int main()pri

46、ntf(Welcome Emdoor!n);test2();return 1;l 文件hello2.c/hello2.c#include hello2.h#include void test2(void)printf(Welcome Emdoor! hello2n);l 文件hello2.h/hello2.hvoid test2(void);l 文件makefile# makefile test for multi files programCC=gcc CFLAGS= OBJS=hello1.o hello2.oall: hellohello: $(OBJS)$(CC) $(CFLAGS)

47、$ -o $hello1.o: hello1.c$(CC) $(CFLAGS) -c $ -o $hello2.o: hello2.c$(CC) $(CFLAGS) -c $ -o $clean:rm -rf hello *.o(2) 先后執(zhí)行如下命令rootlocal$make rootlocal$./hello作業(yè)11. 以下不是嵌入式系統(tǒng)的是 A. 全自動(dòng)洗衣機(jī) B. 手機(jī) C. 攝像機(jī) D. 機(jī)械手表 標(biāo)準(zhǔn)答案:D2. 以下不是嵌入式操作系統(tǒng)的是 A. 嵌入式Linux B. Unix C. Windows CE D. VxWorks 標(biāo)準(zhǔn)答案:B3. 嵌入式系統(tǒng)的核心是 A. 外圍輸

48、入設(shè)備 B. 嵌入式處理器 C. 應(yīng)用軟件 D. 網(wǎng)絡(luò)接口 標(biāo)準(zhǔn)答案:B4. ARM7微處理器具有流水線。 A. 三級(jí) B. 四級(jí) C. 五級(jí) D. 六級(jí) 標(biāo)準(zhǔn)答案:A5. 以下ARM的匯編語(yǔ)句屬于寄存器尋址的是。 A. LDR R0,R1 B. MOV R0,R1 C. MOV R0,#0x20 D. LDMIB R0,R1-R7 標(biāo)準(zhǔn)答案:B6. 程序狀態(tài)寄存器中確定正在執(zhí)行的指令是ARM指令還是Thumb指令的標(biāo)志位是 A. I B. N C. T D. F 標(biāo)準(zhǔn)答案:C7. AMR處理器中,常作為SP寄存器的物理寄存器是 A. R15 B. R14 C. R13 D. R12 標(biāo)準(zhǔn)答案:C8. 對(duì)寄存器R1的內(nèi)容乘以4的正確指令是( )。 A. LSR

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論