嵌入式Linux操作系統(tǒng)_第1頁
嵌入式Linux操作系統(tǒng)_第2頁
嵌入式Linux操作系統(tǒng)_第3頁
嵌入式Linux操作系統(tǒng)_第4頁
嵌入式Linux操作系統(tǒng)_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

嵌入式Linux嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)是指支持嵌入式系統(tǒng)工作的操作系統(tǒng),它在知識體系和技術結構上與通用操作系統(tǒng)沒有太大區(qū)別。實時系統(tǒng)是指一個能夠在指定的或者確定的時間內,實現(xiàn)系統(tǒng)功能和對外部或內部、同步或異步事件作出響應的系統(tǒng)。嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)在設計上都非常緊湊有效,拋棄了運行在它們之上的特定的應用程序所不需要的各種功能。嵌入式操作系統(tǒng)多數(shù)也是實時操作系統(tǒng)嵌入式操作系統(tǒng)負責嵌入系統(tǒng)的全部軟、硬件資源的分配、調度工作,控制協(xié)調并發(fā)活動,必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達到系統(tǒng)所要求的功能。典型的嵌入式操作系統(tǒng)VxWorksWindowsCEpSOSQNXPalmOS嵌入式LinuxC/OS-II國內著名的嵌入式實時操作系統(tǒng)1.VxWorks

VxWorks操作系統(tǒng)美國WindRiver公司于1993年設計開發(fā)的一種嵌入式實時操作系統(tǒng)。

VxWorks擁有良好的持續(xù)發(fā)展能力、高性能的內核及友好的用戶開發(fā)環(huán)境,是目前嵌入式系統(tǒng)領域中使用最廣泛、市場占有率最高的實時操作系統(tǒng)。

VxWorks支持多種處理器,如x86、i960、SunSparc、PowerPC、MotorolaMC68xxx,MIPSRX000、StrongARM等。

VxWorks采用GNU的編譯和調試器。1.VxWorksVxWorks以其良好的可靠性和卓越的實時性被廣泛的應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中,如通信衛(wèi)星、軍事演習、導彈制導和飛機導航等。美國的F-16、FA-18戰(zhàn)斗機,B-12隱形轟炸機和愛國者導彈。美國JPL實驗室研制的著名“索杰納”火星探測器上也使用了VxWorks。2.WindowsCEMicrosoftWindowsCE是從整體上為有限資源的平臺而設計的多線程、多任務的嵌入式操作系統(tǒng)。WindowsCE主要針對小容量、移動式、智能化、32位、連接設備的模塊化實時應用。WindowsCE能夠對掌上設備、無線設備、專用工業(yè)控制器的用戶電子設備等進行定制,并能在多種處理器體系結構上運行,尤其適用于那些對內存占用空間具有一定限制的設備。WindowsCE的基本內核至少需要200K的ROM。

Microsoft公司為WindowsCE提供了PlatformBuilder和EmbeddedVisualStudio開發(fā)工具。

WindowsCE嵌入式操作系統(tǒng)不是一個硬實時操作系統(tǒng),但它最大的優(yōu)點是能夠提供與PC機類似的圖形用戶界面和主要的應用程序。2.WindowsCE

4.QNX

QNX是加拿大QNX公司的產品。大多數(shù)RTOS都是從68K的CPU上開發(fā)成熟,然后再移植到x86體系上。而QNX是直接在x86體系上開發(fā)出來的,只是近幾年才在68K等CPU上使用。

QNX是實時、可擴充的操作系統(tǒng),內核非常小巧(QNX4.x約為12KB),且運行速度極快。QNX具有強大的圖形界面功能,適合作為機頂盒、手持設備、GPS設備的嵌入式實時操作系統(tǒng)使用。6.嵌入式Linux

Linux是一種免費的、源代碼完全開放的、符合POSIX標準規(guī)范的操作系統(tǒng)。嵌入式Linux版本包括:硬實時的嵌入式Linux(如新墨西哥工學院的RT-Linux、堪薩斯大學的KURT-Linux)和一般的嵌入式Linux版本(如CLinux、PocketLinux等)。

RT-Linux通過把Linux任務優(yōu)先級設為最低,而所有實時任務的優(yōu)先級都高于它,最終達到既兼容通常的Linux任務又保證強實時性能的目的。6.嵌入式Linux

CLinux是針對沒有MMU的處理器而開發(fā)的,已被廣泛使用在ColdFire、ARM、MIPS、SPARC、SuperH等沒有MMU的微處理器上。雖然CLinux的內核比Linux2.0內核小得多,但它保留了Linux操作系統(tǒng)穩(wěn)定性好、網絡能力優(yōu)異以及對文件系統(tǒng)的支持等主要優(yōu)點。

CLinux與標準Linux最大的區(qū)別在于內存管理。7.C/OS-II

C/OS-II是一個完整的,源碼公開的,可移植、固化、裁剪的占先式實時多任務內核,主要面向中小型嵌入式系統(tǒng),具有執(zhí)行效率高、占用空間小、可移植性強、實時性能優(yōu)良和可擴展性強等特點。

C/OS-II結構小巧,最小內核可編譯至2K,即使包含全部功能編譯后也僅有6~10KB,非常適用于小型控制系統(tǒng)。8.國內著名的嵌入式實時操作系統(tǒng)

DeltaOS

DeltaOS是全中文的嵌入式實時操作系統(tǒng),提供強實時和嵌入式多任務的內核。

DeltaOS的特點是任務響應時間快速、確定,不隨任務負載大小改變;絕大部分的代碼由C語言編寫,具有很好的移植性。

適用于內在要求較大、可靠性要求較高的嵌入式系統(tǒng),成功應用于通信、網絡、信息家電等多個領域。8.國內著名的嵌入式實時操作系統(tǒng)

HopenOS

HopenOS由一個體積很小的內核以及一些可以根據(jù)需要自行定制的系統(tǒng)模塊組成。其核心HopenKernel的規(guī)模一般為10KB左右,占用空間小,并具有實時、多任務、多線程的系統(tǒng)特征。8.國內著名的嵌入式實時操作系統(tǒng)

HBOS

HBOS系統(tǒng)具有實時、多任務等特征,能提供瀏覽器、網絡通信核圖形窗口等服務,還可供進行一定的定制或二次開發(fā),并能為應用軟件開發(fā)提供API接口支持。

HBOS系統(tǒng)可用于信息家電、智能設備和儀器儀表等領域開發(fā)應用。在HBOS系統(tǒng)平臺下,已經成功地開發(fā)出機頂盒和數(shù)據(jù)采集等系統(tǒng)。嵌入式Linux概述

Linux介紹嵌入式Linux系統(tǒng)交叉開發(fā)環(huán)境開發(fā)工具GNU的介紹Linux介紹Linux是類UNIX操作系統(tǒng)。最初是由LinusTorvalds于1991年在基于Intel80386處理器的IBM兼容機上開發(fā)的操作系統(tǒng)。出現(xiàn)在二十世紀九十年代,在短短十幾年的時間里發(fā)展成為功能強大,設計完善的操作系統(tǒng)。源程序可以在/下載。Linux介紹Linux有異常豐富的驅動程序資源,支持各種主流的硬件設備與技術。它能夠固化在容量只有幾KB或者幾MB的存儲芯片或者微控制器中。Linux包含了現(xiàn)代的UNIX操作系統(tǒng)的所有功能特性,包括多任務、虛擬內存、虛擬文件系統(tǒng)、進程間通信、對稱多處理器(SMP)、多用戶支持等功能。Linux介紹Linux具有以下特性:小巧,吞吐率好強大的網絡功能真正的多任務和多用戶符合IEEEPOSIX標準支持數(shù)十種文件系統(tǒng)

有完整的開發(fā)工具嵌入式Linux操作系統(tǒng)的應用領域:手機、PDA數(shù)字相機、數(shù)字電視機、數(shù)碼相機VCD/DVD音響設備、可視電話家庭網絡設備洗衣機、電冰箱智能玩具Linux介紹廣泛應用的原因:公開源代碼沒有專利費外部設備驅動豐富網絡協(xié)議及中間件非常豐富穩(wěn)定可靠良好的可移植性嵌入式Linux嵌入式Linux(EmbeddedLinux)是指對標準Linux經過小型化裁剪處理之后,能夠固化在容量只有幾KB或者幾MB字節(jié)的存儲器芯片或者單片機中,是適用于特定嵌入式應用場合的專用Linux操作系統(tǒng)。嵌入式Linux在目前已經開發(fā)成功的嵌入式系統(tǒng)中,約有一半使用的是Linux。這與它自身的優(yōu)良特性是分不開的。嵌入式Linux同Linux一樣,具有低成本、多種硬件平臺支持、優(yōu)異的性能和良好的網絡支持等優(yōu)點。

嵌入式Linux

嵌入式Linux還在Linux基礎上做了部分改進,主要的改動有:改善的內核結構提高的系統(tǒng)實時性嵌入式Linux同Linux一樣,也有眾多的版本,其中不同的版本分別針對不同的需要在內核等方面加入了特定的機制。

嵌入式Linux系統(tǒng)交叉開發(fā)環(huán)境

交叉開發(fā)模型主要思想是,首先在宿主機(Host)上安裝開發(fā)工具,編輯、編譯目標板(Target)的Linux引導程序、內核和文件系統(tǒng),然后下載到目標板上運行。通常這種在宿主機環(huán)境下開發(fā),在目標機上運行的開發(fā)模式叫做交叉開發(fā)。交叉開發(fā)模型見圖所示。嵌入式Linux系統(tǒng)交叉開發(fā)環(huán)境交叉開發(fā)Host(宿主機):通常是硬件資源豐富的PC機或工作站。編輯、編譯、鏈接等過程在HOST上完成。Target(目標機):即嵌入式設備,是應用程序的最終運行平臺。調試在二者間聯(lián)機交互進行,連接方式:RS232串口,TCP/IP,USB等。Host與Target的差別硬件差別:處理器、存儲能力、外設等軟件環(huán)境差異:Host上有通用OS,有可視化開發(fā)環(huán)境;Target一般是裸機,無任何軟件資源,無法進行開發(fā)調試。

開發(fā)工具GNU的介紹

GNU(GNU’sNotUnix)項目是自由軟件基金會(FreeSoftwareFoundation)的董事長RichardM.Stallman于1984年發(fā)起,意在軟件開發(fā)團體中發(fā)起支持開發(fā)自由軟件的運動。

開發(fā)工具GNU的介紹

GNU工具包括:GCC:編譯應用程序和內核Glibc:工具庫Binutils:工具包make:工程管理器,讀入Makefile文件,按內容進行編譯

開發(fā)工具GNU的介紹

GNU代碼生成和調試工具包括:C編譯器gccC++編譯器g++GNU的匯編器asGNU的鏈接器ld二進制轉換工具(objcopy、bjdump)調試工具(gdb、gdbserver、kgdb)基于不同硬件平臺的開發(fā)庫。開發(fā)工具GNU的介紹1.GNUBinutils工具

工具集GNUBinutils主要是一套用來構造和使用二進制代碼所需的工具集。建立嵌入式交叉編譯環(huán)境,GNUBinutils工具包是不可缺少的,沒有Binutils,GNU的C編譯器gcc將無法正常工作。開發(fā)工具GNU的介紹2.編譯器gcc

是GNU的功能強大,性能優(yōu)越的多平臺編譯器,是Linux中最重要的軟件開發(fā)工具。它被成功地移植到不同的處理平臺上。標準的臺式Linux上的gcc是針對IntelCPU的,而ARM系列開發(fā)軟件使用的是針對ARM系列處理器的gcc編譯器、arm-elf-gcc、arm-elf-as及相應的GNUBinutils工具集。開發(fā)工具GNU的介紹Gcc的編譯流程使用gcc編譯器編譯C語言程序時,通常會經過四個處理階段,即預處理階段、編譯階段、匯編階段和鏈接階段。gcc是通過文件的后綴來區(qū)別文件的類別,下面的表中給出gcc的部分約定規(guī)則。在使用gcc編譯器時,需要給出一系列調用參數(shù)和文件名,當沒有給出時,gcc將使用缺省參數(shù),gcc基本的用法是:gcc[options][filename]開發(fā)工具GNU的介紹

其中,options就是參數(shù)選項,filename是相關的文件名稱。常用的選項有:–c:只編譯生成目標文件,不鏈接成可執(zhí)行文件。–DMACRO=DEFN:以字符串“DEFN”定義MACRO宏。–E: 只對程序進行預處理。–g: 生成調試信息,GNU調試器可利用該信息。–llibrary: 用來指定所使用的庫文件。–ldirectory:為include文件的搜索指定目錄。–ofilename:生成指定的文件名的可執(zhí)行文件。

開發(fā)工具GNU的介紹開發(fā)工具GNU的介紹3.調試器gdb

gdb是GnuDeBugger的縮寫,是GNUC的用來調試C和C++程序的調試工具。開發(fā)者在使用它時,可以了解程序在運行時的詳細情況,如程序的內部結構和內存等信息。gdb能夠通過完成以下幾個任務來幫助你查找程序中的錯誤。Linux開發(fā)環(huán)境建立Windows環(huán)境+CygwinWindows環(huán)境+VMWare虛擬機(安裝RedHat9.0)Linux環(huán)境,推薦RedHat9.0單機模式(一臺計算機)Cygwin是運行于Windows中的一個應用程序,它可以使得Linux環(huán)境下的應用程序可以在Cygwin環(huán)境下進行編譯,即可以在Windows下進行編譯。在linux環(huán)境下進行Linux開發(fā)Linux開發(fā)環(huán)境建立Linux的程序編輯、編譯、調試都在Linux環(huán)境進行必須采用支持GDB的調試器(如ADT1000A)才能進行調試,否則只能通過BOOTLOADER進行簡單的程序燒寫運行等調試信息的打印可以通過串口完成,使用linux下的minicom超級終端程序(類似于Windows上的超級終端工具)接收并顯示目標板傳送的打印信息Linux串口驅動完成后,可以通過內核打印函數(shù)printk向串口打印信息,這是Linux內核調試過程中最有效的手段在Windows+VMWare虛擬機環(huán)境下進行Linux開發(fā)如果需要使用只支持Windows環(huán)境下調試的調試器,可以通過在VMWare中安裝linux虛擬機,在該虛擬機中進行編輯、編譯Linux,然后通過網絡(ftp、nfs、ssh)等手段傳送到Windows中,進行調試,這樣編譯和調試可以分別在linux和windows環(huán)境下但是是在一臺電腦中完成,它的缺點是系統(tǒng)要求較高,運行速度慢。VMWare是運行于Windows中的一個應用程序,是一個虛擬機,可以在其上安裝多個操作系統(tǒng),相當于在Windows上安裝一個虛擬的操作系統(tǒng)。Linux開發(fā)環(huán)境建立Step1安裝主機Windows+VMWare在VMWare中安裝linux虛擬機Step2在linux虛擬機上安裝開發(fā)工具軟件Step3開發(fā)環(huán)境配置(linux)配置網絡:配置IP地址、NFS服務、防火墻配置NFS:設置主機和目標機間的共享目錄Step4配置超級終端(windows)目標機的信息窗口Linux開發(fā)環(huán)境建立在Windows+VMWare虛擬機環(huán)境下進行Linux開發(fā)Linux內核的目錄結構Linux內核主要由5個子系統(tǒng)組成◆進程調度子系統(tǒng);◆進程間通信子系統(tǒng);◆內存管理子系統(tǒng);◆虛擬文件子系統(tǒng);◆網絡接口子系統(tǒng);Linux內核的目錄結構linuxDocumentationarchdriversfsincludeinitmmnommulibnetscript有關內核的詳細文檔硬件體系結構相關源代碼內核中所有設備驅動程序所有文件系統(tǒng)的代碼內核代碼庫文件的頭文件kernel初始化代碼Linux內核的內存管理常用庫函數(shù)代碼內核的網絡協(xié)議代碼配置內核的一些腳本文件Linux內核的arch目錄archbootkernellibmach-s3c2410vmlinux.lds壓縮內核啟動引導代碼內核起始代碼常用函數(shù)s3c2410平臺相關代碼核心的連接腳本文件與架構和平臺相關的源代碼都放在arch目錄下移植工作的重點就是移植arch目錄下的文件Linux內核移植分三個步驟配置內核編譯內核下載、運行、調試內核Linux內核配置工具makeconfig基于文本的最為傳統(tǒng)的配置界面makemenuconfig基于文本選單的配置界面makexconfig基于圖形窗口模式的配置界面編譯Linux內核建立依賴關系makedep編譯內核make編譯內核makezImage編譯壓縮核心(zImage)編譯生成的Linux映像文件zImage通常保存在arch/arm/boot/目錄下下載、運行和調試內核通過調試器下載內核并運行通過BOOTLOADER下載內核到SDRAM中運行通過BOOTLOADER將內核燒寫到FLASH中,然后運行LinuxBootLoadervivi是韓國MIZI公司提供的一款針對S3C2410芯片的Bootloader。能引導Linux系統(tǒng)的運行,編譯完內核后,快速下載內核和文件系統(tǒng)。Vivi首先通過串口下載內核和文件系統(tǒng)網絡驅動正常運行后,vivi可通過網口下載內核和文件系統(tǒng)vivi的軟件架構分為三個層次BootLoadervivivivi的工作模式vivi有兩種工作模式,啟動加載模式可以在一段時間后(這個時間可更改)自行啟動Linux內核,這是vivi的默認模式。在下載模式下,vivi為用戶提供一個命令行接口,通過該接口可以使用vivi提供的一些命令。Vivi的啟動過程(1)

關閉看門狗

(2)

禁止所有中斷

(3)

初始化system

clock

(4)

初始化串口

(5)

初始化nand

flash相關的控制寄存器

(6)

把vivi

copy

SDRAM上,最后把pc指向ram

(7)

設置堆棧

(8)

call

一個叫做main的函數(shù)。這個函數(shù)是c寫的

Vivi的啟動過程main()函數(shù)中調用若干個初始化的函數(shù)reset_handler()

(clear

memory)

board_init()

(時鐘初始化,I/O配置)mem_map_init()

和mmu_init

(使用nand

flash作啟動設備,內存映射完后,MMU開始工作,初始化cache)

heap_init()

(初始化堆)mtd_init()

初始化MTD設備(閃存芯片、小型閃存卡、記憶棒等之類的設備)

init_priv_data()

初始化私有數(shù)據(jù)init_builtin_cmds()

初始化用戶的基本命令,包括boot,

bon,

load,

help

等boot_or_vivi()

用于啟動vivi---等待用戶輸入,有輸入進入vivi_shell,沒有輸入,超時后啟動linux

至此main結束

Vivi的啟動過程Vivi常用命令啟動vivi時,在超級終端界面中鍵入任意鍵(除enter外)進入vivi命令界面,字符提示為“vivi>”,reset命令復位Arm9系統(tǒng)help命令顯示開發(fā)板上vivi支持的所有命令,如boothelpVivi常用命令part命令用于對分區(qū)進行操作。load命令下載程序到存儲器中(Flash或者RAM中)。param命令用于對bootloader的參數(shù)進行操作。boot命令用于引導linuxkernel啟動。bon命令用于對bon分區(qū)進行操作。go命令跳轉到指定地址處執(zhí)行該地址處的代碼Linux文件系統(tǒng)Linux內核移植文件系統(tǒng)是操作系統(tǒng)用于明確磁盤或分區(qū)上的文件的方法和數(shù)據(jù)結構;即在磁盤上組織文件的方法。指文件存在的物理空間。在Linux系統(tǒng)中,每個分區(qū)都是一個文件系統(tǒng),都有自己的目錄層次結構。Linux的最重要特征之一就是支持多種文件系統(tǒng),這樣它更加靈活,并可以和許多其它種操作系統(tǒng)共存。Linux的文件系統(tǒng)是采用的階層式樹狀目錄結構,最上層是“/”,然后在下邊創(chuàng)建其它的目錄。文件系統(tǒng)中管理的每個對象(文件或目錄)在Linux中表示為一個inode。inode包含管理文件系統(tǒng)中的對象所需的所有數(shù)據(jù):文件類型、訪問權限、屬主、時間戳、大小、指向數(shù)據(jù)塊的指針Linux文件系統(tǒng)Linux文件系統(tǒng)文件系統(tǒng)的創(chuàng)建:

這個過程是存儲設備建立文件系統(tǒng)的過程,一般也被稱為格式化或初始化,通過一些初始化工具來進行。一般的情況下每個類型的操作系統(tǒng)都有這方面的工具,也有多功能的第三方工具。在Linux中有mkfs系列工具

掛載(mount):

在Linux中將一個文件系統(tǒng)與一個存儲設備關聯(lián)起來的過程稱為掛載(mount)。

◆使用mount命令將一個文件系統(tǒng)附著到當前文件系統(tǒng)層次結構中(根)。在執(zhí)行掛載時,要提供文件系統(tǒng)類型、文件系統(tǒng)和一個掛裝點掛載點通常是一個空置的目錄。

◆文件系統(tǒng)只有掛載才能使用。

◆根文件系統(tǒng)是系統(tǒng)啟動時掛載的第一個文件系統(tǒng),其他的文件系統(tǒng)需要在跟文件系統(tǒng)目錄中建立節(jié)點后再掛載。Linux文件系統(tǒng)Linux文件系統(tǒng)Linux內核移植虛擬文件系統(tǒng)(VirtualFileSystem)是物理文件系統(tǒng)與服務之間的一個接口層,它對Linux的每個文件系統(tǒng)的所有細節(jié)進行抽象,使得不同的文件系統(tǒng)在Linux核心以及系統(tǒng)中運行的其他進程看來,都是相同的。嚴格說來,VFS并不是一種實際的文件系統(tǒng)。它只存在于內存中,不存在于任何外存空間。VFS在系統(tǒng)啟動時建立,在系統(tǒng)關閉時消亡。Linux文件系統(tǒng)Linux內核移植VirtualFileSystem(虛擬文件系統(tǒng))使得Linux可以支持多個不同的文件系統(tǒng)。由于系統(tǒng)已將Linux文件系統(tǒng)的所有細節(jié)進行了轉換,所以Linux核心的其它部分及系統(tǒng)中運行的程序將看到統(tǒng)一的文件系統(tǒng)。Linux的虛擬文件系統(tǒng)允許用戶同時能透明地安裝許多不同的文件系統(tǒng)。虛擬文件系統(tǒng)是為Linux用戶提供快速且高效的文件訪問服務而設計的。常用Linux文件系統(tǒng)Linux系統(tǒng)核心可以支持十多種文件系統(tǒng)類型:JFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC、romfs等。cramfs是一個壓縮式的只讀文件系統(tǒng),它并不需要一次性地將文件系統(tǒng)中的所有內容都解壓縮到內存之中,而只是在系統(tǒng)需要訪問某個位置的數(shù)據(jù)的時侯,馬上計算出該數(shù)據(jù)在cramfs中的位置,將其實時地解壓縮到內存之中,然后通過對內存的訪問來獲取文件系統(tǒng)中需要讀取的數(shù)據(jù)。cramfs中的解壓縮以及解壓縮之后的內存中數(shù)據(jù)存放位置都是由cramfs文件系統(tǒng)本身進行維護的。常用Linux文件系統(tǒng)Linux系統(tǒng)中混合使用Cramfs、YAFFS和Ramfs

溫馨提示

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

評論

0/150

提交評論