DSP??贾R點(diǎn)及其答案_第1頁
DSP??贾R點(diǎn)及其答案_第2頁
DSP??贾R點(diǎn)及其答案_第3頁
DSP??贾R點(diǎn)及其答案_第4頁
DSP常考知識點(diǎn)及其答案_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上第一章 緒 論1 什么是DSP?答:DSP是數(shù)字信號處理器(Digital Signal Processor ),是特別適合于實(shí)現(xiàn)各種數(shù)字信號處理運(yùn)算的微處理器。主要應(yīng)用場合:(1)數(shù)字信號處理運(yùn)算,(2)通信,(3)網(wǎng)絡(luò)控制及傳輸設(shè)備,(4)語音處理,(5)電機(jī)和機(jī)器人控制,(6)激光打印機(jī)、掃描儀和復(fù)印機(jī),(7)自動測試診斷設(shè)備及智能儀器儀表、虛擬儀器,(8)圖像處理,(9)軍事,(10)自動控制等。2. DSP芯片的特點(diǎn)有哪些? 答: (1) 采用改進(jìn)的哈佛結(jié)構(gòu);(2) 采用流水線技術(shù);(4) 配有專用的硬件乘法-累加器;(5) 具有特殊的DSP指令;(6) 快

2、速的指令周期;(7) 硬件配置強(qiáng);(8).支持多處理器結(jié)構(gòu);(9) 省電管理和低功耗。3. DSP采用改進(jìn)的哈佛總線結(jié)構(gòu),畫出改進(jìn)的哈佛總線結(jié)構(gòu)示意圖。答:改進(jìn)的哈佛結(jié)構(gòu)如下:4. DSP中由哪些地址和數(shù)據(jù)總線組成多總線結(jié)構(gòu)?答:存儲器接口有三條地址總線:(1) PAB(Program Address Bus (22))程序地址總線,用來傳送來自程序空間的讀寫地址。PAB是一個22位的總線。(2) DRAB(Data-read Address Bus (32))數(shù)據(jù)讀地址總線。32位的DRAB用來傳送來自數(shù)據(jù)空間的讀地址。(3) DWAB( Data-write Address Bus (32

3、))數(shù)據(jù)寫地址總線。32位的DWAB用來傳送來自數(shù)據(jù)空間的寫地址。存儲器接口還有三條數(shù)據(jù)總線:(1) PRDB(Program-read Data Bus (32))程序讀數(shù)據(jù)總線, PRDB 在讀取程序空間時用來傳送指令或數(shù)據(jù)。(2) DRDB( Data-read Data Bus (32) )數(shù)據(jù)讀數(shù)據(jù)總線。32位的DRDB在讀取數(shù)據(jù)空間時用來傳送數(shù)據(jù)。(3) DWDB( Data/Program-write Data Bus (32))數(shù)據(jù)/程序?qū)憯?shù)據(jù)總線。 32位的DWDB在對數(shù)據(jù)空間寫數(shù)據(jù)時用來傳送數(shù)據(jù)。5. DSP芯片的選型一般是從哪幾個方面進(jìn)行考慮?答:并不存在最好的DSP,正

4、確的DSP選擇取決于具體的應(yīng)用場合。沒有任何DSP能夠滿足所有的,或者大多數(shù)應(yīng)用的需要。對于一種應(yīng)用來說是好的選擇,對另外的應(yīng)用則可能是很差的選擇。 一般從數(shù)據(jù)格式、數(shù)據(jù)寬度、速度、存儲器的安排、開發(fā)的難易程度、功耗和電源管理、器件的封裝等方面考慮選擇DSP。6. 簡述TI公司的DSP三大平臺和它們各自的應(yīng)用場合。答:(1) 最佳控制:TMS320C2000 DSP平臺TMS320C2000 DSP平臺將各種高級數(shù)字控制功能集成于一顆IC上。強(qiáng)大的數(shù)據(jù)處理和控制能力可大幅提高應(yīng)用效率和降低功耗。(2) 最低功耗:TMS320C5000 DSP平臺TMS320C5000 DSP專門針對消費(fèi)類數(shù)字

5、市場而設(shè)計(jì)。(3) 最佳處理能力:TMS320C6000 DSP平臺 TMS320C6000 DSP是處理能力最強(qiáng),易于采用高級語言編程的DSP。定點(diǎn)及浮點(diǎn)DSP市場定位在網(wǎng)絡(luò)交換,圖像處理,雷達(dá)信號處理等高端應(yīng)用領(lǐng)域。7. DSP芯片發(fā)展趨勢應(yīng)該朝著哪些方面發(fā)展?答:(1) 系統(tǒng)級集成DSP是潮流 (2) DSP和微處理器的融合 (3) DSP和FPGA的融合(4) 可編程DSP是主導(dǎo)產(chǎn)品 (5) 追求更高的運(yùn)算速度 (6)定點(diǎn)DSP是主流 第二章 CCS軟件應(yīng)用基礎(chǔ)1 如何對CCS3.3的單處理器目標(biāo)系統(tǒng)進(jìn)行配置?答:(1) 運(yùn)行桌面上的Code Composer Studio Setup

6、應(yīng)用程序,出現(xiàn)系統(tǒng)配置窗口。(2) 在配置前可以通過選擇File->Remove all清除以前的設(shè)置。(3) 在Available Factory Boards欄中選擇需要調(diào)試的目標(biāo)板或仿真器。為了方便找到相應(yīng)的硬件配置,可以在右上側(cè)的過濾欄中根據(jù)需用的處理器所屬系列(Family)、處理器平臺類型(Platform)、字節(jié)模式(Endian)等進(jìn)行過濾。確定相應(yīng)的配置后直接拖到左側(cè)的System Configuration欄中,或者選中需要的目標(biāo)配置文件后單擊下面的Add按鈕添加,如果Available Factory Boards欄中不存在用戶需要的標(biāo)準(zhǔn)配置,可以自己創(chuàng)建配置文件進(jìn)

7、行配置。(4)選擇System Configuration欄中的系統(tǒng)硬件,單擊右鍵并選擇屬性,可以查看和編輯相關(guān)屬性,根據(jù)需要可以針對不同的選型作適當(dāng)?shù)恼{(diào)整。(5)選擇系統(tǒng)平臺下的CPU,單擊右鍵并選擇屬性,可以查看和編輯CPU的屬性文件。主要包括的GEL文件、主/從設(shè)置、啟動模式(實(shí)時或停止模式)等。(6)單擊Save衣(luit按鈕保存配置并退出配置程序,下次選用相同的平臺開發(fā)時不需要重新配置。(7)退出配置程序后彈出Code Composer Studio IDE啟動的判斷按鈕,選擇Yes即可運(yùn)行CCS。如果配置的是硬件平臺,在運(yùn)行CCS IDE之前,應(yīng)該檢查硬件系統(tǒng)的莽接狀況和目標(biāo)系統(tǒng)

8、的供電情況。2 簡單程序的開發(fā)步驟有哪些?答:(1)如果已經(jīng)在C: CCStudio_v3. 1目錄下安裝了CCS開發(fā)環(huán)境,則在C: CCStudio_v3. 1MyProjects目錄下創(chuàng)建開發(fā)文件夾sinewave 。(2) C: CCStudio_v3. 1tutorialdsk2812sinewave目錄下的.c,. cmd以及.h文件復(fù)制到創(chuàng)建的目錄,然后運(yùn)行CCS。(3) 依據(jù)工程的創(chuàng)建方法,創(chuàng)建新的工程(參考2.4.1小節(jié))(4) 選擇Project->Add Files to Proiect,添加.C、cmd以及rt_2800m1. lib文件。(5) 雙擊項(xiàng)目管理窗口下

9、的sine.c一文件瀏覽程序源代碼,單擊Rebuild All編譯程序。(6) 編譯、鏈接通過后,CCS下面的狀態(tài)輸出窗口將顯示相應(yīng)的狀態(tài)。(7) 選擇File-Load Program裝載應(yīng)用程序。(8) 運(yùn)行程序。3 DSP探針的作用有哪些?答:探針主要用來從PC機(jī)的數(shù)據(jù)文件中讀取數(shù)據(jù),提供給算法或其他程序使用,從而有利于DSP的算法開發(fā)或參考數(shù)據(jù)的生成??梢允褂锰结樛瓿上铝腥蝿?wù):(1) 從主機(jī)的數(shù)據(jù)文件中讀取數(shù)據(jù),然后傳送到目標(biāo)處理器的存儲緩沖,以便算法程序使用主機(jī)的數(shù)據(jù);(2) 從目標(biāo)處理器的存儲緩沖中讀取數(shù)據(jù)并存放到PC機(jī)的指定文件中,以便進(jìn)一步分析;(3) 刷新帶有數(shù)據(jù)的圖形窗口。

10、第三章 C/C+程序編寫基礎(chǔ)1. TMS320X28xx采用C/C+編程時,采用位定義和寄存器文件結(jié)構(gòu)方法有什么好處?答:(1) TI公司為用戶提供寫好的文件結(jié)構(gòu)體和位區(qū)定義,可以在其網(wǎng)站下載。C281x C/C+ Header Files and Peripheral Examples (SPRC097)C280x, C2801x C/C+ Header Files and Peripheral Examples (SPRCl91C2804x C/C+ Header Files and Peripheral Examples (SPRC324)(2) 使用位區(qū)方便編寫代碼,可讀性強(qiáng),易升級。

11、(3) 位區(qū)定義可以充分利用Code Composer Studio編輯器的自動代碼輸入功能,方便用戶輸入代碼。當(dāng)使用寄存器文件結(jié)構(gòu)和位區(qū)時,很多變量名很長,難于記憶而且輸入非常困難。當(dāng)輸入代碼時,Code Composer Studio編輯器提供可能的結(jié)構(gòu)體或位區(qū)列表,這樣用戶可以很容易地使用輸入編輯程序代碼。CPU定時器的TCR寄存器自動輸入。(4) 方便Code Composer Studio的Watch窗口觀察變量。用戶可以在Code Composer Studio的Watch窗口增加擴(kuò)展寄存器文件結(jié)構(gòu)體,直接觀察相應(yīng)的位區(qū)定義的參數(shù)值,2. 什么是定點(diǎn)數(shù)據(jù),什么是浮點(diǎn)數(shù)據(jù)?TMS32

12、0X28xx是定點(diǎn)還是浮點(diǎn)處理器?它是如何實(shí)現(xiàn)浮點(diǎn)數(shù)據(jù)處理的?答:小數(shù)點(diǎn)固定的數(shù)據(jù)稱為定點(diǎn)數(shù)據(jù),小數(shù)點(diǎn)浮動的數(shù)據(jù)稱為發(fā)浮點(diǎn)數(shù)據(jù),TMS320X28xx是定點(diǎn)處理器,它通過TMS320X28xx Iqmath庫實(shí)現(xiàn)浮點(diǎn)處理。第6章 TMS320F2812的時鐘和看門狗1.如果要使系統(tǒng)時鐘為輸入時鐘的5倍頻,同時使能所有的外設(shè)時鐘,將高速外設(shè)的時鐘設(shè)置為系統(tǒng)時鐘的1/10,低速外設(shè)的時鐘設(shè)置為系統(tǒng)時鐘的1/12,應(yīng)該如何設(shè)置相關(guān)的寄存器?答:PLLCR=0x000A;PCLKCR=0xFFFF,HISPCP=0x0005,LOSPCP=0x0006第7章 可編程數(shù)字量通用I/O1. 八個帖片LED

13、由GPIOA0-GPIOA7驅(qū)動,畫出電路圖,編寫C語言源程序,實(shí)現(xiàn)如下功能:(1) 使八個二極管全亮。(2) 使八個二極管一半亮(GPIOA0-GPIOA3所接二極管亮),一半暗(GPIOA4-GPIOA7所接二極管暗) 。答:電路圖如下:(1) 使八個二極管全亮,程序如下:#include "DSP28_Device.h"void IOinit()EALLOW; 對保護(hù)空間的訪問使能GpioMuxRegs.GPAMUX.all = 0xFF00; 將GPIOA0GPIOA7配置為一般I/O端口,GpioMuxRegs.GPADIR.all = 0x00FF; 將GPIO

14、A0GPIOA7配置為輸出EDIS;禁止對保護(hù)空間的訪問void main(void)InitSysCtrl(); / 系統(tǒng)初始化子程序,在DSP28_sysctrl.c中DINT; / 關(guān)閉總中斷IER = 0x0000; / 關(guān)閉外設(shè)中斷IFR = 0x0000; / 清中斷標(biāo)志IOinit(); / I/O初始化子程序while (1)GpioDataRegs.GPADAT.all = 0xFF00; 將GPIOA0GPIOA7輸出為全0 (2) 使八個二極管一半亮(GPIOA0-GPIOA3所接二極管亮),一半暗(GPIOA4-GPIOA7所接二極管暗),程序如下:#include &

15、quot;DSP28_Device.h"void IOinit()EALLOW; 對保護(hù)空間的訪問使能GpioMuxRegs.GPAMUX.all = 0xFF00; 將GPIOA0GPIOA8配置為一般I/O端口,GpioMuxRegs.GPADIR.all = 0x00FF; 將GPIOA0GPIOA8配置為輸出EDIS;禁止對保護(hù)空間的訪問void main(void)InitSysCtrl(); / 系統(tǒng)初始化子程序,在DSP28_sysctrl.c中DINT; / 關(guān)閉總中斷IER = 0x0000; / 關(guān)閉外設(shè)中斷IFR = 0x0000; / 清中斷標(biāo)志IOinit(

16、); / I/O初始化子程序while (1)GpioDataRegs.GPADAT.all = 0xFFF0; 第八章1. F28x器件有大量的外設(shè)模塊,由此會產(chǎn)生大量的中斷,F(xiàn)28x是如何管理這些中斷的?用圖示說明。答:F28x器件有大量的外設(shè)模塊,每一個外設(shè)模塊都可以產(chǎn)生一個或多個對應(yīng)于外設(shè)模塊事件的外設(shè)模塊級中斷。由于CPU沒有能力在CPU級處理所有的外設(shè)中斷請求,因此需要外設(shè)中斷擴(kuò)展(PIE)控制器去集中和仲裁不同來源的中斷請求。 PIE向量表用來存儲各個中斷服務(wù)程序的入口地址。所有復(fù)用和非復(fù)用在內(nèi)的每個中斷都有一個向量。F28x器件的PIE中斷管理原理圖如下:2. 若要禁止所有的外

17、設(shè)中斷,IER 的值設(shè)置為多少?答:IER=0x0000。3.若要清除所有的中斷標(biāo)志,IFR 的值設(shè)置為多少?答:IFR=0x0000。4 畫出PIE外設(shè)中斷擴(kuò)展模塊結(jié)構(gòu)圖,并簡單說明它的功能。答:PIE外設(shè)中斷擴(kuò)展模塊結(jié)構(gòu)圖如下圖:功能同第1題。5 用CPU定時器0實(shí)現(xiàn)100ms的定時,晶振頻率30MHz,鎖相環(huán)PLL是5倍頻,編寫ConfigCpuTimer(struct CPUTIMFR_VARS *Timer, float Freq, float Period)函數(shù),并寫出ConfigCpuTimer()函數(shù)的實(shí)際參數(shù)值。答:void ConfigCpuTimer(struct CPU

18、TIMFR_VARS *Timer, float Freq, float Period) Uint32 temp; /初始化周期 Timer->CPUFreqInMHz=Freq; Timer->PeriodInUSec=Period; temp=(long) (Freq*Period); Timer->RegsAddr->PRD. all=temp; /設(shè)置預(yù)定標(biāo)參數(shù)(SYSCLKOUT): Timer->RegsAddr->TPR. all=0;Timer->RegsAddr->TPRH. all = 0 ;/初始化定時器控制寄存器 Time

19、r->RegsAddr->TCR.bit.TSS=1; /1=Stop timer, 0=Start/Restart TimerTimer->RegsAddr->TCR. bit.TRB=1; / 1=reload timerTimer->RegsAddr->TCR. bit. SOFT =1; Timer->RegsAddr->TCR.bit.FREE = 1; /Timer Free RunTimer->RegsAddr->TCR.bit.TIE=1; /0=Disable/ 1=Enable Timer Interrupt /復(fù)

20、位中斷計(jì)數(shù)Timer->InterruptCount=0;實(shí)際參數(shù)值ConfigCpuTimer(&CpuTimer0,150,);第九章 事件管理器及其應(yīng)用1.利用GP定時器1在GPIOF8引腳上產(chǎn)生0.2s的方波,用一個貼片LED閃爍來表示。系統(tǒng)時鐘150MHz,高速外設(shè)時鐘25MHz,定時器1預(yù)分頻因子W為128分頻,試編寫相關(guān)程序。答:系統(tǒng)時鐘150MHz,通過高速外設(shè)時鐘預(yù)定標(biāo)器(HISPCP)得到25MHz的高速外設(shè)時鐘,再通過定時器1預(yù)分頻因子的128分頻,得到定時周期為5.12us。定時周期= 0.2s/2=0.1s;0.1/(5.12×10-6)=0x

21、4C4B周期寄存器T1PR=0x4C4B -1=0x4C4A。程序如下:#include "DSP28_Device.h"interrupt void eva_timer1_isr(void);void EVA_Timer1() EvaRegs.GPTCONA.all = 0; / 初始化 EVA Timer 1 EvaRegs.T1PR = 0x4C4A; / 定時周期為5.12us*(T1PR+1)=0.1s EvaRegs.EVAIMRA.bit.T1PINT = 1; /使能定時器1的周期中斷 EvaRegs.EVAIFRA.bit.T1PINT = 1; /寫1清

22、除定時器1的周期中斷標(biāo)志 EvaRegs.T1CNT = 0x0000; EvaRegs.T1CON.all = 0x1740; /連續(xù)增計(jì)數(shù),128分頻,打開定時器void main(void)InitSysCtrl(); /初始化系統(tǒng)控制寄存器, 時鐘頻率150MEALLOW;SysCtrlRegs.HISPCP.all = 0x0003;/高速時鐘的工作頻率25MEDIS;DINT; /關(guān)閉總中斷,清除中斷標(biāo)志IER = 0x0000; /關(guān)閉外圍中斷IFR = 0x0000; /清中斷標(biāo)志InitPieCtrl(); /初始化PIE控制寄存器InitPieVectTable();EVA

23、_Timer1();EALLOW;GpioMuxRegs.GPFMUX.bit.MCLKXA_GPIOF8=0; /把GPIOF8設(shè)置為一般I/O口,輸出GpioMuxRegs.GPFDIR.bit.GPIOF8=1;PieVectTable.T1PINT = &eva_timer1_isr; /中斷服務(wù)程序入口地址放入中斷向量表EDIS; /依次使能各級中斷:外設(shè)中相應(yīng)中斷位->PIE控制器->CPU PieCtrlRegs.PIEIER2.all = M_INT4; /GP定時器1使能位于PIE第2組第4個,將其使能IER |= M_INT2; /PIE第2組對應(yīng)于CP

24、U的可屏蔽中斷2(INT2),將其使能EINT; /開總中斷for(;); interrupt void eva_timer1_isr(void) GpioDataRegs.GPFDAT.bit.GPIOF8=GpioDataRegs.GPFDAT.bit.GPIOF81; /產(chǎn)生方波EvaRegs.EVAIMRA.bit.T1PINT = 1 /使能定時器1的周期中斷 EvaRegs.EVAIFRA.bit.T1PINT = 1 /寫1清除定時器1的周期中斷標(biāo)志PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; /清零 PIEACK中的第2組中斷對應(yīng)位 第十三章

25、A/D轉(zhuǎn)換單元1 已知XCLKIN=30MHz,要使ADC模塊的時鐘ADC CLK為3.125MHz,應(yīng)該對哪些寄存器中的哪些段進(jìn)行設(shè)置,設(shè)置的數(shù)值分別為多少?(P348表13.8)答:應(yīng)該對PCLKCR中的ADCENCLK、PLLCR中的DIV、HISPCP中的HSPCLK、ADCTRL3中的ADCCLKPS、ADCTRL1中的CPS進(jìn)行設(shè)置。 設(shè)置的數(shù)值分別是:PCLKCR中的ADCENCLK設(shè)置為1(或PCLKCR=0x0008),PLLCR中的DIV設(shè)置為1010(PLLCR=0x000A),HISPCP中的HSPCLK設(shè)置為011(HISPCP=0x0003),ADCTRL3中的AD

26、CCLKPS設(shè)置為0010,ADCTRL1中的CPS設(shè)置為1。2 假設(shè)用SEQ1完成5個通道的自動連續(xù)轉(zhuǎn)換。ADCINA2和ADCINA1轉(zhuǎn)換兩次;ADCINA6轉(zhuǎn)換一次,請編程序配置ADC。答:/ 配置 ADC AdcRegs.ADCMAXCONV.all = 0x0004; / 設(shè)置SEQ1的2個轉(zhuǎn)化通道AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x2; / 設(shè)置SEQ1的 ADCINA2 作為第一轉(zhuǎn)換通道AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1; / 設(shè)置SEQ1的 ADCINA1 作為第二轉(zhuǎn)換通道 AdcRegs.ADCCHS

27、ELSEQ1.bit.CONV02 = 0x2; / 設(shè)置SEQ1的 ADCINA2 作為第三轉(zhuǎn)換通道AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x1; / 設(shè)置SEQ1的 ADCINA1 作為第四轉(zhuǎn)換通道AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0x6; / 設(shè)置SEQ1的 ADCINA6作為第五轉(zhuǎn)換通道AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1; / 使能 EVASOC 去啟動 SEQ1 AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; / 使能 SEQ1 中斷 (每次 EOS)3.

28、 假設(shè)用SEQ1完成6個通道的自動連續(xù)轉(zhuǎn)換。ADCINA3和ADCINA 5轉(zhuǎn)換兩次;ADCINA6、ADCINA7轉(zhuǎn)換一次,問MAX CONV1的值為多少?CHESELQn寄存器應(yīng)該填入什么值?答:MAX CONV1的值為6;CHESELQ1=0x5353;CHESELQ2=0xXX76;CHESELQ3=0xXXXX;CHESELQ4=0xXXXX;4. 如果需要進(jìn)行8個通道的轉(zhuǎn)換,則MAX CONVn應(yīng)設(shè)為多少?若是雙排序器模式使用SEQ1或者級連模式使用SEQ,排序器指針應(yīng)該如何設(shè)置?轉(zhuǎn)換結(jié)果存放在哪些結(jié)果寄存器中?若是雙排序器模式使用SEQ2,排序器指針又應(yīng)該如何設(shè)置?轉(zhuǎn)換結(jié)果存放在哪些結(jié)果寄存器中?答:若是雙排序器模式使

溫馨提示

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

評論

0/150

提交評論