版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 淺談ARM-Linux環(huán)境下UDP協(xié)議的通信應(yīng)用研究</p><p> 摘要:進(jìn)行UDP協(xié)議通信時(shí),發(fā)送端和接收端的狀態(tài)是相對(duì)獨(dú)立的,發(fā)送端不與接收端建立連接,而是不停向接收端發(fā)送,為了確保不丟失報(bào)文,上位機(jī)采取了按固定次數(shù)重發(fā)相同內(nèi)容報(bào)文的機(jī)制。這種機(jī)制雖然可以有效確保報(bào)文不丟失,但大量冗余數(shù)據(jù)報(bào)被發(fā)送,網(wǎng)絡(luò)資源利用率不高。顯然重發(fā)次數(shù)越多,冗余數(shù)據(jù)報(bào)越多,效率越低。要想有效保證數(shù)據(jù)報(bào)準(zhǔn)
2、確發(fā)送的同時(shí)又不產(chǎn)生過(guò)多冗余數(shù)據(jù)報(bào),那么重復(fù)發(fā)送的次數(shù)的確定就成為問題的關(guān)鍵。以下給出一種確定上位機(jī)重發(fā)次數(shù)的方法。</p><p> 關(guān)鍵詞:ARM;Linux;交叉編譯環(huán)境;UDP協(xié)議;重發(fā)機(jī)制;重發(fā)次數(shù) </p><p> UDP協(xié)議以其高效性和應(yīng)用的簡(jiǎn)單,被廣泛運(yùn)用于嵌入式網(wǎng)絡(luò)開發(fā)中。由于UDP協(xié)議的應(yīng)用簡(jiǎn)單,在嵌入式設(shè)備開發(fā)過(guò)程中,網(wǎng)絡(luò)資源的利用率并不高。以下將介紹一個(gè)UDP
3、具體項(xiàng)目實(shí)驗(yàn)過(guò)程,描述ARM-Linux環(huán)境的軟硬件環(huán)境構(gòu)建過(guò)程,并對(duì)UDP協(xié)議下一種重發(fā)模式中上位機(jī)的重發(fā)次數(shù)的確定提出一種可行的方法。</p><p><b> 1 研究背景</b></p><p> 隨著嵌入式技術(shù)的快速發(fā)展,嵌入式設(shè)備已經(jīng)在許多領(lǐng)域取代了傳統(tǒng)的微型機(jī)設(shè)備。本文的選題主要來(lái)自于實(shí)習(xí)期間承接的一項(xiàng)改造項(xiàng)目:某院校特長(zhǎng)生評(píng)分系統(tǒng)的改造。項(xiàng)目改造目
4、的有:1) 保留原上位機(jī)。2) 改用手持式客戶端進(jìn)行顯示及評(píng)分操作。3)保留原有網(wǎng)絡(luò)設(shè)備。針對(duì)要求,我們使用S3C2440作為硬件平臺(tái),移植Linux操作系統(tǒng),并在ARM-Linux環(huán)境下研究了UDP協(xié)議的通信過(guò)程,進(jìn)行了上位機(jī)與嵌入式系統(tǒng)的UDP協(xié)議通信實(shí)驗(yàn)及分析,并給出一種重發(fā)機(jī)制中的發(fā)送次數(shù)求法。</p><p><b> 2 硬件平臺(tái)介紹</b></p><p&
5、gt; S3C2440處理速度達(dá)到了400MHZ,具有較高的性價(jià)比。為了提高開發(fā)效率,我們采用公司自行研制開發(fā)的ET-S3C2440開發(fā)板。</p><p> 2.1 ET-S3C2440開發(fā)板簡(jiǎn)介</p><p> ET-S3C2440是公司自行開發(fā)的一款A(yù)RM9架構(gòu)的實(shí)驗(yàn)開發(fā)板,其結(jié)構(gòu)框圖如圖1。</p><p> 核心板的主要器件有:32MB×
6、;2片SDRAM,64MB NORFLASH,512MB NANDFLASH。設(shè)計(jì)了啟動(dòng)方式可選,通過(guò)開關(guān)選擇從Nandflash或Norflash啟動(dòng)。</p><p> 2.2 實(shí)驗(yàn)相關(guān)電路說(shuō)明</p><p> 底板電路主要功能是輸入輸出以及網(wǎng)絡(luò)通訊功能。按鍵輸入部分采用掃描方式獲得輸入,用一個(gè)單向地址鎖存器和一個(gè)雙向地址鎖存器與地址總線相連,可以通過(guò)掃描地址來(lái)獲得按鍵輸入。LC
7、D采用三星的3.5寸TFT屏作為顯示輸出設(shè)備。網(wǎng)卡芯片選用的是與原設(shè)備匹配的10M 的CS8900A,關(guān)于CS8900A與S3C2440的硬件連接,有眾多資源可供參考,本文不再贅述。</p><p> 3 系統(tǒng)軟件平臺(tái)的構(gòu)建</p><p> 硬件平臺(tái)搭建完畢后要將操作系統(tǒng)和應(yīng)用程序在硬件平臺(tái)上運(yùn)行起來(lái)。以下是對(duì)嵌入式Linux操作系統(tǒng)移植的過(guò)程。</p><p&g
8、t; 3.1 交叉編譯環(huán)境的構(gòu)建</p><p> Linux 2.6.29.1版本的內(nèi)核可以登錄到下載。本文選擇的是arm-linux-gcc-4.3.2工具鏈()</p><p> 在宿主機(jī)上進(jìn)入Linux系統(tǒng),切換當(dāng)前目錄到工具鏈所在目錄,新建一個(gè)arm目錄保存解壓后的文件(mkdir /user/local/arm)并將arm-linux-gcc-4.3.2解壓到這個(gè)目錄中(
9、tar jxvf arm-linux-gcc-4.3.2 –C /user/local/arm)。然后將環(huán)境變量$PATH修改一下,讓$PATH中包含有arm-linux-gcc所在的目錄(編輯/etc/profile 添加語(yǔ)句”export PATH=/user/local/arm/4.3.2/bin:$PATH”),然后reboot一下,這樣交叉編譯環(huán)境就構(gòu)建好了。</p><p> 3.2 BOOTLOA
10、DER的移植</p><p> vivi是一款相當(dāng)成熟和相對(duì)簡(jiǎn)單的常用bootloader,我們以vivi為移植原型,將S3C2440所有IO端口寄存器定義添加到頭文件2440add.inc,刪除部分硬件平臺(tái)使用不到的代碼,最后將修改過(guò)的vivi制作成鏡像燒錄到flash中。[1]</p><p> 3.3 Linux內(nèi)核移植</p><p> 獲取Linux
11、-2.6.29.1源代碼并解壓后,首先修改內(nèi)核源代碼所在目錄中的Makefile,將系統(tǒng)架構(gòu)修改為Arm(ARCH ?=arm ),交叉編譯工具修改為arm-linux-gcc (CROSS_COMPILE ?=arm-linux-),修改輸入時(shí)鐘(arch/arm/mach-s3c2440/mach-smdk2440.c中的函數(shù)static void __init smdk2440_map_io中,修改s3c24xx_init_clo
12、cks(12000000)此處所用晶振為12M)。修改machine名稱(在arch/arm/mach-s3c2440/mach-smdk2440.c文件中的函數(shù)MACHINE_START( ),修改為MACHINE_START(S3C2440, “自定義機(jī)器名”),修改NANDflash分區(qū)信息(arch/arm/plat-s3c24xx/common-smdk.c結(jié)構(gòu)體static struct mtd_partition smdk
13、_default_nand_part[]中保存的是nandflah的分區(qū)信息,將其修改為當(dāng)前使用的分區(qū)信息</p><p> 上述內(nèi)核源代碼修改完成后,還需要對(duì)一些設(shè)備的驅(qū)動(dòng)進(jìn)行修改。本文使用的NEC 3.5寸 320×240液晶屏,硬件平臺(tái)使用GPG4腳進(jìn)行背光控制,需要修改LCD背光(/arch/arm/mach-s3c2440/mach-smdk2440.c中static void __init
14、 smdk2440_machine_init(void),將函數(shù)中的GPIO口配置為GPG4)。關(guān)于CS8900A網(wǎng)卡的驅(qū)動(dòng)移植,相關(guān)資源很豐富,本文也不再贅述。</p><p> 本實(shí)驗(yàn)中nandflash采用的是yaffs2文件系統(tǒng),所以打yaffs2文件系統(tǒng)補(bǔ)丁,壓縮包為cvs-root.tar.gz。</p><p> 至此,Linux的內(nèi)核源代碼修改工作完成了,下面還需要利用
15、Makefile,進(jìn)行內(nèi)核配置。</p><p> 在Linux 2.6.29.1內(nèi)核目錄下首先make s3c2410_defconfig使用2410的配置模板來(lái)配置2440;然后make menuconfig,這時(shí)我們可以在圖形化界面中,空格鍵可改變各個(gè)配置選項(xiàng)的被選中狀態(tài),根據(jù)需要進(jìn)行配置即可。配置完成后保存好配置,最后進(jìn)行內(nèi)核的編譯(make dep 建立文件間依賴 make clean 清除編譯殘留文
16、件make zImage 生成內(nèi)核壓縮鏡像文件)。</p><p> 編譯過(guò)程完成后會(huì)在內(nèi)核目錄arch/arm/boot/下生成zImage內(nèi)核映像文件,將這個(gè)鏡像文件燒錄到flash中,調(diào)試檢驗(yàn),經(jīng)上述修改后的內(nèi)核工作運(yùn)行正常。</p><p> 3.4 根文件系統(tǒng)的制作</p><p> 根文件系統(tǒng)是使用busybox-1.13.3來(lái)制作完成。下載bus
17、ybox并解壓完成后,修改Makefile中的架構(gòu)為ARM架構(gòu),編譯工具為arm-linux-gcc( ARCH ?=arm; CROSS_COMPILE ?=arm-linux-),然后Make menuconfig,通過(guò)圖形界面對(duì)busybox進(jìn)行配置,然后對(duì)busybox進(jìn)行編譯(make CONFIG_PREFIX=/opt/studyarm/rootfs install),在目標(biāo)目錄下會(huì)生成目錄bin、sbin、usr和文件l
18、inuxrc的內(nèi)容。</p><p> 基本目錄結(jié)構(gòu)生成后,應(yīng)該在目標(biāo)目錄下建立一些未生成的必要的系統(tǒng)目錄如dev、etc、lib等,并通過(guò)chmod命令改變目錄權(quán)限為可寫。再將一些必要的動(dòng)態(tài)鏈接庫(kù)和靜態(tài)庫(kù)拷貝到lib下,然后在dev目錄下創(chuàng)建設(shè)備節(jié)點(diǎn),最后創(chuàng)建該嵌入式Linux系統(tǒng)的初始化配置文件(包括設(shè)備列表文件、口令、網(wǎng)絡(luò)分組組名、HOSTNAME主機(jī)名、etc/inittab初始化表單、etc/prof
19、ile環(huán)境變量配置文件、用于系統(tǒng)初始化的.bash腳本文件等)。由于本實(shí)驗(yàn)需對(duì)網(wǎng)絡(luò)編程,要求自動(dòng)初始化CS8900A網(wǎng)卡芯片的IP地址、網(wǎng)關(guān)、子網(wǎng)掩碼等,所以在開機(jī)自啟動(dòng)腳本中加入ifconfig語(yǔ)句,使得開機(jī)時(shí)自動(dòng)配置網(wǎng)卡參數(shù)。</p><p> 根文件系統(tǒng)構(gòu)建完成后,使用yaffs2文件系統(tǒng)制作工具mkyaffs2image.tgz,通過(guò)命令mkyaffs2image rootfs rootfs.img生成
20、根文件系統(tǒng)鏡像,然后將鏡像燒寫入flash中。</p><p> 4 ARM-Linux環(huán)境下的UDP協(xié)議通信實(shí)驗(yàn)</p><p> 經(jīng)過(guò)上述硬件設(shè)計(jì)和操作系統(tǒng)移植過(guò)程,本文所使用到的實(shí)驗(yàn)環(huán)境已經(jīng)構(gòu)建完畢,經(jīng)反復(fù)調(diào)試修改,嵌入式Linux操作系統(tǒng)在平臺(tái)下運(yùn)行正常,于是進(jìn)行UDP協(xié)議通信實(shí)驗(yàn)。</p><p> 4.1 UDP協(xié)議套接字編程基礎(chǔ)</p>
21、;<p> UDP是一個(gè)面向數(shù)據(jù)報(bào)和無(wú)連接的簡(jiǎn)單傳輸層協(xié)議,它不像TCP那樣通過(guò)握手過(guò)程建立服務(wù)器與客戶端的連接才可以工作。在網(wǎng)絡(luò)通信質(zhì)量較好的情況下,UDP體現(xiàn)出高效率,這適合于傳送少量報(bào)文的應(yīng)用。 linux系統(tǒng)是通過(guò)套接字結(jié)構(gòu)來(lái)進(jìn)行網(wǎng)絡(luò)編程的,應(yīng)用程序通過(guò)對(duì)套接字的幾個(gè)函數(shù)調(diào)用,會(huì)返回一個(gè)用于通信的套接字描述符,而Linux應(yīng)用程序在進(jìn)行任何形式的I/O操作時(shí),程序?qū)嶋H上是在讀寫一個(gè)文件描述符。因此Linux下的套
22、接字編程,可以看成是對(duì)普通文件描述符的操作,這些操作與被使用的硬件平臺(tái)無(wú)關(guān),這是linux設(shè)備無(wú)關(guān)性的優(yōu)點(diǎn)。UDP協(xié)議的通信模型如圖3所示。</p><p> 在上述流程中,客戶端所收到的報(bào)文被存儲(chǔ)在緩沖區(qū)中,recvfrom()函數(shù)返回了報(bào)文存儲(chǔ)緩沖區(qū)的首地址,我們可以很方便地對(duì)這個(gè)首地址進(jìn)行數(shù)組操作,從而實(shí)現(xiàn)對(duì)報(bào)文的解碼。</p><p> 4.2 上位機(jī)報(bào)文結(jié)構(gòu)及重發(fā)機(jī)制分析&l
23、t;/p><p> 根據(jù)項(xiàng)目要求,上位機(jī)軟件依然保留,我們使用協(xié)議嗅探工具對(duì)上位機(jī)發(fā)送的報(bào)文進(jìn)行了嗅探,得到了上位機(jī)報(bào)文的結(jié)構(gòu)如表1所示。</p><p> 表1 上位機(jī)報(bào)文結(jié)構(gòu)</p><p> 上位機(jī)發(fā)出的每條報(bào)文由32個(gè)字節(jié)組成,第0位為版本信息。第1……12位為比賽信息和運(yùn)動(dòng)員教練信息,是報(bào)文的關(guān)鍵信息部分,13……22位為服務(wù)器端和客戶端的IP地址及端口
24、號(hào)信息,23位是上位機(jī)對(duì)客戶端的操作指令代碼,24位是相關(guān)重發(fā)機(jī)制的代碼,30和31兩位是CheckSum,用來(lái)保證數(shù)據(jù)傳輸?shù)恼_。上位機(jī)采用的重發(fā)機(jī)制是一種上位機(jī)按照固定重發(fā)次數(shù)多次發(fā)送同一關(guān)鍵內(nèi)容報(bào)文的機(jī)制,其第24位重發(fā)機(jī)制位被分為高4位和低4位兩部分,高四位的內(nèi)容是當(dāng)前發(fā)送的報(bào)文的索引號(hào),每次發(fā)送一條新內(nèi)容的報(bào)文時(shí)索引號(hào)自增1,索引號(hào)的取值范圍在0x00—0xFF范圍內(nèi)循環(huán)自增。低四位是重發(fā)編號(hào),表示同一索引號(hào)的報(bào)文正在被第幾次
25、重發(fā),固定的重發(fā)次數(shù)由上位機(jī)初始化時(shí)設(shè)定。</p><p> 4.3 嵌入式客戶端的實(shí)驗(yàn)程序設(shè)計(jì)</p><p> 針對(duì)報(bào)文結(jié)構(gòu),我們對(duì)接收端編寫實(shí)驗(yàn)程序代碼,代碼的主要功能是從上位機(jī)接收?qǐng)?bào)文,將計(jì)算出的CheckSum校驗(yàn)和與收到的校驗(yàn)和對(duì)比判斷報(bào)文是否正確,然后從正確報(bào)文中取出主要信息并按照?qǐng)?bào)文中的上位機(jī)指令碼進(jìn)行輸出。其結(jié)構(gòu)流程圖如圖3所示。</p><p&g
26、t; 實(shí)驗(yàn)程序經(jīng)編碼、調(diào)試后在交叉編譯環(huán)境中交叉編譯,生成arm-Linux環(huán)境下可執(zhí)行文件,在目標(biāo)板上執(zhí)行。經(jīng)測(cè)試試驗(yàn)程序能夠正確接收上位機(jī)發(fā)來(lái)的報(bào)文,對(duì)報(bào)文解碼,并能根據(jù)上位機(jī)命令對(duì)關(guān)鍵信息做輸出處理。</p><p> 4.4 對(duì)上位機(jī)重發(fā)次數(shù)的研究</p><p> 進(jìn)行UDP協(xié)議通信時(shí),發(fā)送端和接收端的狀態(tài)是相對(duì)獨(dú)立的,發(fā)送端不與接收端建立連接,而是不停向接收端發(fā)送,為了確
27、保不丟失報(bào)文,上位機(jī)采取了按固定次數(shù)重發(fā)相同內(nèi)容報(bào)文的機(jī)制。然而這種機(jī)制雖然可以有效確保報(bào)文不丟失,但是大量冗余數(shù)據(jù)報(bào)被發(fā)送,網(wǎng)絡(luò)資源利用率不高。重發(fā)次數(shù)越多,冗余數(shù)據(jù)報(bào)越多,效率越低。要想有效保證數(shù)據(jù)報(bào)準(zhǔn)確發(fā)送的同時(shí)又不產(chǎn)生過(guò)多冗余數(shù)據(jù)報(bào),那么重復(fù)發(fā)送的次數(shù)的確定就成為問題的關(guān)鍵。以下給出一種確定上位機(jī)重發(fā)次數(shù)的方法。</p><p> 假設(shè)當(dāng)前網(wǎng)絡(luò)狀況下,每次報(bào)文發(fā)送被丟失的概率為p,系統(tǒng)允許接收端報(bào)文關(guān)鍵
28、內(nèi)容丟失概率為q,那么如何確定以上重發(fā)機(jī)制中的重發(fā)次數(shù)k呢?</p><p> 特殊情況下若報(bào)文重發(fā)次數(shù)為2,分別在每條報(bào)文重發(fā)機(jī)制位注明一個(gè)索引號(hào)和一個(gè)重發(fā)編號(hào),發(fā)送端發(fā)送報(bào)文的次序應(yīng)形如 1.1 ,1.2 ,2.1 ,2.2 ,3.1 ,3.2……其中索引號(hào)相同的報(bào)文關(guān)鍵內(nèi)容相同,重發(fā)編號(hào)不同代表同一關(guān)鍵內(nèi)容報(bào)文的不同次發(fā)送。因此只有出現(xiàn)連續(xù)兩次丟失數(shù)據(jù)報(bào)的情況下,報(bào)文關(guān)鍵內(nèi)容才可能丟失。出現(xiàn)連續(xù)兩次丟失的
29、情況有2種,當(dāng)x.1 , x.2丟失,此時(shí)索引號(hào)為x的報(bào)文關(guān)鍵信息將全部丟失。當(dāng)x.2,(x+1). 1丟失,丟失報(bào)文的索引號(hào)不同,此時(shí)不會(huì)發(fā)生報(bào)文關(guān)鍵信息丟失,因此報(bào)文關(guān)鍵內(nèi)容丟失的概率q=p2/2。</p><p> 當(dāng)報(bào)文重發(fā)次數(shù)為3,依然在每條報(bào)文的重發(fā)機(jī)制位注明索引號(hào)和重發(fā)號(hào),發(fā)送報(bào)文的次序應(yīng)為1.1 ,1.2 ,1.3 ,2.1 ,2.2 ,2.3 ,3.1 ,3.2……。只有出現(xiàn)連續(xù)3次丟失數(shù)據(jù)報(bào)
30、的情況報(bào)文關(guān)鍵信息才可能丟失,列出連續(xù)3次丟失報(bào)文的情況有3種,當(dāng)x.1 , x.2 , x.3丟失,此時(shí)索引號(hào)為x的報(bào)文信息全部丟失。當(dāng)x.2 , x.3 ,(x+1).1或x.3 ,(x+1).1 ,(x+1).2丟失時(shí)不影響報(bào)文的準(zhǔn)確傳遞。因此此時(shí)報(bào)文關(guān)鍵內(nèi)容丟失的概率q=p3/3。</p><p> 推廣至一般情況易得當(dāng)報(bào)文重發(fā)次數(shù)為k時(shí),報(bào)文關(guān)鍵內(nèi)容丟失的概率q=pk/k,移項(xiàng)有kq=pk。于是我們得
31、到求重發(fā)次數(shù)k的方法</p><p> 1) 根據(jù)網(wǎng)絡(luò)狀況獲得報(bào)文丟失概率p; </p><p> 2) 根據(jù)客戶需求取得報(bào)文關(guān)鍵內(nèi)容的允許丟失率范圍q;</p><p> 3) 分別作出y=px和y=qx的圖像;</p><p> 4) 求得兩圖像的交點(diǎn)的x坐標(biāo),并將x坐標(biāo)值取整加一即為所求重發(fā)次數(shù)k。</p><
32、;p> 本文實(shí)驗(yàn)中,需求方允許報(bào)文關(guān)鍵信息丟失概率q=0.0001,我們分別對(duì)上位機(jī)發(fā)送端和下位機(jī)接收端收發(fā)的報(bào)文進(jìn)行了統(tǒng)計(jì),在某一固定時(shí)間段內(nèi),上位機(jī)共發(fā)送報(bào)文19665條,接收端接收?qǐng)?bào)文18636條,傳輸過(guò)程中丟失的報(bào)文19665-18636=1029條,當(dāng)前網(wǎng)絡(luò)環(huán)境下的報(bào)文丟失率為,即p=0.0523。據(jù)此數(shù)值分別作出y=0.0001x的曲線和y=0.0523 x的曲線,取得兩曲線交點(diǎn)x坐標(biāo)為x≈2.78,最后將x=2.7
33、8取整加1得到k=3,即上位機(jī)對(duì)同一數(shù)據(jù)報(bào)的重發(fā)次數(shù)應(yīng)該定為3次就可保證系統(tǒng)丟失報(bào)文的概率低于0.0001。</p><p><b> 5 結(jié)論與展望</b></p><p> 本文從硬件平臺(tái)搭建、Linux移植以及UDP協(xié)議編程幾個(gè)方面介紹了arm-Linux環(huán)境下UDP協(xié)議通信的具體實(shí)現(xiàn),并分析了一種在實(shí)際嵌入式項(xiàng)目中常用的上位機(jī)數(shù)據(jù)報(bào)重發(fā)機(jī)制,最后對(duì)這種機(jī)制
34、中的重發(fā)次數(shù)的確定方法給出了求解過(guò)程,為后續(xù)的具體項(xiàng)目實(shí)施提供了實(shí)踐依據(jù),也希望為其他應(yīng)用這種重發(fā)機(jī)制的嵌入式產(chǎn)品開發(fā)者們提供了借鑒。</p><p><b> 參考文獻(xiàn): </b></p><p> [1] 李偉.基于ARM9的嵌入式Linux手持平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:武漢理工大學(xué)碩士學(xué)位論文,2009.</p><p> 范艷
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- arm-linux啟動(dòng)流程分析
- 基于ARM-Linux的無(wú)線區(qū)域通信系統(tǒng)的研究與實(shí)現(xiàn).pdf
- ARM-Linux驅(qū)動(dòng)程序研究.pdf
- nRF24L01在ARM-Linux環(huán)境下自組網(wǎng)協(xié)議設(shè)計(jì).pdf
- 嵌入式ARM-Linux系統(tǒng)在間諧波檢測(cè)中的應(yīng)用研究.pdf
- 基于ARM-linux嵌入式系統(tǒng)的研究與應(yīng)用.pdf
- 基于arm-linux的gps導(dǎo)航系統(tǒng)
- 基于ARM-LINUX的路由器研究.pdf
- 基于ARM-Linux的北斗定位終端的研究.pdf
- Linux下基于ARM的GPRS通信研究.pdf
- ARM-Linux嵌入式語(yǔ)音終端.pdf
- 基于ARM-LINUX的人體脂肪儀研究.pdf
- 基于ARM-Linux的農(nóng)田信息監(jiān)測(cè)系統(tǒng).pdf
- 基于ARM-Linux的動(dòng)畫顯示單元研制.pdf
- 基于ARM-Linux的嵌入式系統(tǒng)在電磁流量計(jì)中的應(yīng)用研究.pdf
- 基于arm-linux平臺(tái)的模擬手機(jī)設(shè)計(jì)
- 基于ARM-Linux的無(wú)線視頻監(jiān)控系統(tǒng)設(shè)計(jì).pdf
- 基于ARM-LINUX的網(wǎng)絡(luò)流量監(jiān)測(cè)系統(tǒng).pdf
- 基于ARM-LINUX的SNMP網(wǎng)管系統(tǒng)的實(shí)現(xiàn).pdf
- 基于ARM-Linux的車聯(lián)網(wǎng)終端技術(shù)研究.pdf
評(píng)論
0/150
提交評(píng)論