




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
應(yīng)用程序設(shè)計(jì)實(shí)驗(yàn)第1頁(yè),共41頁(yè),2023年,2月20日,星期六串口通信實(shí)驗(yàn)【實(shí)驗(yàn)?zāi)康摹?.通過(guò)實(shí)驗(yàn)了解Linux系統(tǒng)中S3C2410串行口功能單元;2.通過(guò)實(shí)驗(yàn)了解S3C2410上Linux的串行通訊?!緦?shí)驗(yàn)設(shè)備】
硬件:EDUKIT---III實(shí)驗(yàn)平臺(tái),S3C2410核心子板,EmbestJTAG仿真器套件,PC機(jī)。軟件:EmbestIDE集成開(kāi)發(fā)環(huán)境,CygwinUnix模擬平臺(tái),arm-linux-gcc編譯工具鏈,WindowsXP操作系統(tǒng),EmbestOnlineFlashProgrammerforARM編程器?!緦?shí)驗(yàn)內(nèi)容】學(xué)習(xí)和掌握S3C2410串行通訊(UART)單元的相關(guān)寄存器功能。學(xué)習(xí)和掌握Linux的串行通訊單元的設(shè)置和基本操作。2第2頁(yè),共41頁(yè),2023年,2月20日,星期六串口通信實(shí)驗(yàn)【實(shí)驗(yàn)原理】和所有設(shè)備一樣,Linux也是通過(guò)設(shè)備文件來(lái)訪問(wèn)串口,即在訪問(wèn)時(shí)打開(kāi)相應(yīng)設(shè)備文件。S3C2410x處理器內(nèi)部共有三個(gè)UART單元,分別都提供了Linux驅(qū)動(dòng),串行接口UART0、UART1和UART2分別對(duì)應(yīng)設(shè)備文件/dev/ttyS0、/dev/ttyS1和/dev/ttyS2。1、串口操作函數(shù)open 用于打開(kāi)串口設(shè)備close 用于關(guān)閉串口設(shè)備read 用于從串口設(shè)備上讀取數(shù)據(jù)write 用于往串口設(shè)備上寫(xiě)數(shù)據(jù)ioctl 用于串口設(shè)備除讀寫(xiě)外的控制操作3第3頁(yè),共41頁(yè),2023年,2月20日,星期六串口通信實(shí)驗(yàn)2、串口設(shè)置函數(shù)串口通訊里termios.h是個(gè)很重要的頭文件。分別使用tcgetattr()和tcsetattr()函數(shù)可以獲取核設(shè)置串口屬性。
tcgetattr(int__fd,structtermios*__termios_p)tcsetattr(int__fd,int__optional_actions,__conststructtermios*__termios_p)其中termios是結(jié)構(gòu)termios形式的數(shù)據(jù)結(jié)構(gòu),用于存放串口屬性:structtermios{tcflag_tc_iflag; /* 輸入模式標(biāo)志*/tcflag_tc_oflag; /* 輸出模式標(biāo)志*/tcflag_tc_cflag; /* 控制模式標(biāo)志*/tcflag_tc_lflag; /* 本地模式標(biāo)志*/cc_tc_line;/*linediscipline*/cc_tc_cc[NCCS]; /* 控制特性*/speed_tc_ispeed; /* 輸入速度*/speed_tc_ospeed; /* 輸出速度*/}4第4頁(yè),共41頁(yè),2023年,2月20日,星期六串口通信實(shí)驗(yàn)對(duì)串口屬性的設(shè)置主要是對(duì)c_cflag參數(shù)的不同位進(jìn)行與或操作。波特率設(shè)置使用函數(shù)cfsetispeed核cfsetospeed,這兩個(gè)函數(shù)分別設(shè)置入口端和出口端的速率,它們也是通過(guò)改變structtermios結(jié)構(gòu)實(shí)現(xiàn)。
cfsetispeed(structtermios*__termios_p,speed_t__speed)cfsetospeed(structtermios*__termios_p,speed_t__speed)設(shè)置波特率SerialPara.c_cflag|=Baud5第5頁(yè),共41頁(yè),2023年,2月20日,星期六串口通信實(shí)驗(yàn)設(shè)置數(shù)據(jù)流控制
termios.c_cflag&=~CRTSCTS//不使用流控termios.c_cflag|=CRTSCTS//使用硬件流控termios.c_cflag|=IXON|IXOFF|IXANY//使用軟件流控設(shè)置數(shù)據(jù)位termios.c_cflag&=~CSIZE//無(wú)數(shù)據(jù)位termios.c_cflag|=CS8//8位數(shù)據(jù)位termios.c_cflag|=CS7//7位數(shù)據(jù)位......設(shè)置奇偶校驗(yàn)位termios.c_cflag&=~PARENB//無(wú)校驗(yàn)位(關(guān)奇偶校驗(yàn))termios.c_cflag|=PARENB//打開(kāi)奇偶校驗(yàn)termios.c_cflag|=PARODD//奇校驗(yàn)位termios.c_cflag|=PARENB//打開(kāi)奇偶校驗(yàn)termios.c_cflag&=~PARODD//偶校驗(yàn)位(關(guān)PARODD)6第6頁(yè),共41頁(yè),2023年,2月20日,星期六串口通信實(shí)驗(yàn)【實(shí)驗(yàn)步驟】1. 準(zhǔn)備實(shí)驗(yàn)環(huán)境使用EduKit2410目標(biāo)板附帶的串口線(xiàn)連接目標(biāo)板上UART0和PC機(jī)串口COM1.使用EduKit2410目標(biāo)板附帶的交叉網(wǎng)線(xiàn)連接目標(biāo)板NET1和PC機(jī)網(wǎng)絡(luò)接口。2. 串口/網(wǎng)絡(luò)設(shè)置在PC機(jī)上運(yùn)行Windows附件中自帶的超級(jí)終端串口通信程序(波特率115200、1位停止位、無(wú)校驗(yàn)位、無(wú)硬件流控制);或者使用其它串口通信程序。運(yùn)行TFTP服務(wù)器程序tftpd32.exe,進(jìn)行各種工作狀態(tài)、權(quán)限以及本地tftp工作目錄的設(shè)置,默認(rèn)狀態(tài)下可以直接進(jìn)行工作,本地tftp工作目錄即當(dāng)前目錄??赏ㄟ^(guò)點(diǎn)擊Settings按鈕修改主目錄(這里設(shè)為/home/app)7第7頁(yè),共41頁(yè),2023年,2月20日,星期六3.實(shí)驗(yàn)操作過(guò)程編譯應(yīng)用程序
8第8頁(yè),共41頁(yè),2023年,2月20日,星期六1.啟動(dòng)PC機(jī)上超級(jí)終端串口通信程序(串口線(xiàn)連接目標(biāo)板上的UART0和PC機(jī)串口COM1)2.ViVi,linux,root.cramfs分別燒錄在1-5,6-17,18---35扇區(qū)(若已燒錄好,不用再燒)3.再加電重新啟動(dòng)目標(biāo)板,可以看到有cramfs文件系統(tǒng)的linux內(nèi)核正常運(yùn)行.然后進(jìn)入/var/目錄,在PC機(jī)上運(yùn)行TFTP服務(wù)器,選擇工作目錄為/home/app.下載測(cè)試程序,修改文件屬性:9第9頁(yè),共41頁(yè),2023年,2月20日,星期六串口通信實(shí)驗(yàn)執(zhí)行下載到Linux系統(tǒng)的test-uart測(cè)試程序,通過(guò)串口輸入字符,觀察返回結(jié)果
(ch=你輸入的字符)10第10頁(yè),共41頁(yè),2023年,2月20日,星期六第8章應(yīng)用程序設(shè)計(jì)實(shí)驗(yàn)---2---IIC總線(xiàn)接口實(shí)驗(yàn)11第11頁(yè),共41頁(yè),2023年,2月20日,星期六IIC總線(xiàn)接口實(shí)驗(yàn)【實(shí)驗(yàn)?zāi)康摹?. 掌握IIC串行數(shù)據(jù)通信協(xié)議;2. 掌握S3C2410處理器的IIC總線(xiàn)接口控制器的使用;3. 通過(guò)實(shí)驗(yàn)初步了解LinuxIIC接口驅(qū)動(dòng)程序設(shè)計(jì)。【實(shí)驗(yàn)設(shè)備】
硬件:EDUKIT---III實(shí)驗(yàn)平臺(tái),S3C2410核心子板,EmbestJTAG仿真器套件,PC機(jī)。軟件:EmbestIDE集成開(kāi)發(fā)環(huán)境,CygwinUnix模擬平臺(tái),arm-linux-gcc編譯工具鏈,WindowsXP操作系統(tǒng),EmbestOnlineFlashProgrammerforARM編程器?!緦?shí)驗(yàn)內(nèi)容】編寫(xiě)S3C2410IIC總線(xiàn)接口的Linux算法驅(qū)動(dòng)程序,并編譯進(jìn)Linux內(nèi)核,為EEPROM,8LED和鍵盤(pán)實(shí)驗(yàn)作準(zhǔn)備12第12頁(yè),共41頁(yè),2023年,2月20日,星期六IIC總線(xiàn)接口實(shí)驗(yàn)【實(shí)驗(yàn)原理】IIC總線(xiàn)為同步串行數(shù)據(jù)傳輸總線(xiàn),由兩根線(xiàn)組成,一根串行數(shù)據(jù)線(xiàn)(SDA)和一根串行時(shí)鐘線(xiàn)(SCL)。其標(biāo)準(zhǔn)模式總線(xiàn)傳輸位速率為0~100kb/s,增強(qiáng)模式將總線(xiàn)傳輸位速率增加到4倍,可達(dá)400kb/s現(xiàn)最高已達(dá)4Mb/s,并且向下兼容。IIC總線(xiàn)驅(qū)動(dòng)能力為400pF(最大電容值),整個(gè)IIC系統(tǒng)的總線(xiàn)電容不可超過(guò)此值。IIC總線(xiàn)可構(gòu)成多主和主從系統(tǒng)。在多主系統(tǒng)結(jié)構(gòu)中,系統(tǒng)通過(guò)硬件或軟件仲裁獲得總線(xiàn)控制使用權(quán)。應(yīng)用系統(tǒng)中IIC總線(xiàn)多采用主從結(jié)構(gòu),即總線(xiàn)上只有一個(gè)主控節(jié)點(diǎn),總線(xiàn)上的其它設(shè)備都作為從設(shè)備。IIC總線(xiàn)上的設(shè)備尋址由器件地址接線(xiàn)決定,與總線(xiàn)相連的每個(gè)器件都對(duì)應(yīng)一個(gè)特定的地址,采用軟件尋址方式,并且通過(guò)訪問(wèn)地址最低位來(lái)控制讀寫(xiě)方向。1.IIC數(shù)據(jù)傳輸格式(書(shū)P236)2.S3C2410處理器IIC接口(書(shū)P237)13第13頁(yè),共41頁(yè),2023年,2月20日,星期六IIC總線(xiàn)接口實(shí)驗(yàn)
IIC驅(qū)動(dòng)程序設(shè)計(jì)在kernel/drivers/i2c 的驅(qū)動(dòng)程序目錄下,已經(jīng)有了一些IIC的驅(qū)動(dòng)程序,其中包括LinuxIIC的字符設(shè)備驅(qū)動(dòng)程序(i2c-dev.c)和IIC主驅(qū)動(dòng)程序(i2c-core.c)。分析一下i2c-dev.c和i2c-core.c源程序發(fā)現(xiàn),i2c-dev.c已實(shí)現(xiàn)了字符設(shè)備系統(tǒng)調(diào)用的過(guò)程和IIC適配器的管理,i2c-core.c卻實(shí)現(xiàn)了IIC接口操作的抽象層。分析其他更底層的驅(qū)動(dòng)程序,發(fā)現(xiàn)驅(qū)動(dòng)程序的一般調(diào)用過(guò)程為:系統(tǒng)調(diào)用IIC設(shè)備驅(qū)動(dòng)程序IIC驅(qū)動(dòng)程序適配管理器IIC算法驅(qū)動(dòng)程序在IIC驅(qū)動(dòng)程序目錄下,沒(méi)有對(duì)應(yīng)S3C2410IIC總線(xiàn)接口的驅(qū)動(dòng)程序,因此我們需要為S3C2410IIC總線(xiàn)接口編寫(xiě)專(zhuān)用的算法驅(qū)動(dòng)程序,以下內(nèi)容一步一步來(lái)進(jìn)行介紹:
(書(shū)P240—P251)14第14頁(yè),共41頁(yè),2023年,2月20日,星期六IIC總線(xiàn)接口實(shí)驗(yàn)
IIC驅(qū)動(dòng)程序配置與編譯編寫(xiě)完s3c2410IIC總線(xiàn)接口算法驅(qū)動(dòng)程序后,頭文件源程序文件分別保存為i2c-algo-s3c2410.h和i2c-algo-s3c2410.c,放在$WORKDIR/kernel/dirvers/i2c目錄下(已經(jīng)通過(guò)的源代碼程序存放于dirvers/0602_driver-i2c)。要編譯進(jìn)Linux內(nèi)核,還要對(duì)配置文件和Makefile文件腳本進(jìn)行修改。1、修改內(nèi)核i2c驅(qū)動(dòng)配置文件打開(kāi)$WORKDIR/kernel/drivers/i2c/config.in腳本文件,編輯添加下面幾行:15第15頁(yè),共41頁(yè),2023年,2月20日,星期六IIC總線(xiàn)接口實(shí)驗(yàn)dep_tristate'I2Cdeviceinterface'CONFIG_I2C_CHARDEV$CONFIG_I2C<--這一句后插入以下行:
if["$CONFIG_ARCH_S3C2410"="y"];thendep_tristate'SamsungS3C2410I2CAlgorithm'CONFIG_I2C_S3C2410_ALGO$CONFIG_I2C_CHARDEV$CONFIG_I2Cif["$CONFIG_I2C_S3C2410_ALGO"!="n"];thendep_tristate'SamsungS3C2410I2CAdapter'CONFIG_I2C_S3C2410_ADAP$CONFIG_I2C_S3C2410_ALGOfifi...16第16頁(yè),共41頁(yè),2023年,2月20日,星期六IIC總線(xiàn)接口實(shí)驗(yàn)2、修改Makefile文件打開(kāi)$WORKDIR/kernel/drivers/i2c/Makefile文件,在適當(dāng)位置編輯添加下面一行,使用編譯包括IIC驅(qū)動(dòng)程序:obj-$(CONFIG_I2C)+=i2c-core.oobj-$(CONFIG_I2C_CHARDEV)+=i2c-dev.o<--這一句后編輯添加以下1行:
obj-$(CONFIG_I2C_S3C2410_ALGO)+=i2c-algo-s3c2410.o3、修改$WORKDIR/kernel/Makefile文件在適當(dāng)位置(在有“DRIVERS-”開(kāi)始行的附近)添加下面一行加入i2c設(shè)備,使內(nèi)核啟動(dòng)時(shí)檢查需要不需要加載i2c驅(qū)動(dòng)程序:DRIVERS-$(CONFIG_I2C)+=drivers/i2c/i2c.o這樣,如果在內(nèi)核配置中選擇了chardevices->I2Csupport->I2Csupport->I2Cdeviceinterface->SamsungS3C2410I2CAlgorithm均選擇y選項(xiàng)(因?yàn)樗惴ǔ绦蛑型瑫r(shí)提供適配器程序,所以SamsungS3C2410I2CAdapter選項(xiàng)可以不選);這樣,i2c驅(qū)動(dòng)將會(huì)被編譯進(jìn)內(nèi)核;
17第17頁(yè),共41頁(yè),2023年,2月20日,星期六IIC總線(xiàn)接口實(shí)驗(yàn)【實(shí)驗(yàn)步驟】1. 準(zhǔn)備實(shí)驗(yàn)環(huán)境使用EduKit2410目標(biāo)板附帶的串口線(xiàn)連接目標(biāo)板上UART0和PC機(jī)串口COM1.2. 串口/網(wǎng)絡(luò)設(shè)置在PC機(jī)上運(yùn)行Windows附件中自帶的超級(jí)終端串口通信程序(波特率115200、1位停止位、無(wú)校驗(yàn)位、無(wú)硬件流控制);或者使用其它串口通信程序。18第18頁(yè),共41頁(yè),2023年,2月20日,星期六3.實(shí)驗(yàn)操作過(guò)程復(fù)制i2c-algo-s3c2410.c/h到../i2c/下19第19頁(yè),共41頁(yè),2023年,2月20日,星期六修改內(nèi)核i2c驅(qū)動(dòng)配置文件config.in(注意標(biāo)記位置)$WORKDIR\kernel\drivers\i2c\config.in20第20頁(yè),共41頁(yè),2023年,2月20日,星期六修改$WORKDIR/kernel/drivers/i2c/Makefile文件21第21頁(yè),共41頁(yè),2023年,2月20日,星期六修改$WORKDIR/kernel/Makefile文件22第22頁(yè),共41頁(yè),2023年,2月20日,星期六Makexconfig23第23頁(yè),共41頁(yè),2023年,2月20日,星期六設(shè)置24第24頁(yè),共41頁(yè),2023年,2月20日,星期六25第25頁(yè),共41頁(yè),2023年,2月20日,星期六編譯進(jìn)內(nèi)核26第26頁(yè),共41頁(yè),2023年,2月20日,星期六1.啟動(dòng)PC機(jī)上超級(jí)終端串口通信程序(串口線(xiàn)連接目標(biāo)板上的UART0和PC機(jī)串口COM1)2.ViVi,linux,分別燒錄在1-5,6-17扇區(qū)3.再加電重新啟動(dòng)目標(biāo)板,可以看到linux內(nèi)核正常運(yùn)行.然后進(jìn)入/dev/目錄,查看IIC接口驅(qū)動(dòng)程序27第27頁(yè),共41頁(yè),2023年,2月20日,星期六第8章應(yīng)用程序設(shè)計(jì)實(shí)驗(yàn)---3---網(wǎng)絡(luò)應(yīng)用程序?qū)嶒?yàn)28第28頁(yè),共41頁(yè),2023年,2月20日,星期六網(wǎng)絡(luò)應(yīng)用程序?qū)嶒?yàn)【實(shí)驗(yàn)?zāi)康摹空莆誏inux下的網(wǎng)絡(luò)接口編程【實(shí)驗(yàn)設(shè)備】硬件:硬件:EduKit2410系統(tǒng),EmbestJTAG仿真器,PC機(jī);軟件:Windows下的cygwin開(kāi)發(fā)環(huán)境?!緦?shí)驗(yàn)內(nèi)容】基于Linux下的網(wǎng)絡(luò)接口編寫(xiě)應(yīng)用程序,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的客戶(hù)機(jī)/服務(wù)器應(yīng)用,服務(wù)器端程序在Linux下運(yùn)行,客戶(hù)機(jī)程序在PC機(jī)上運(yùn)行,服務(wù)器程序接收客戶(hù)機(jī)發(fā)送過(guò)來(lái)的字符串并回傳給客戶(hù)端,同時(shí)將接收到的字符串打印到串口終端。在Linux系統(tǒng)下映射主機(jī)目錄進(jìn)行程序的調(diào)試。29第29頁(yè),共41頁(yè),2023年,2月20日,星期六網(wǎng)絡(luò)應(yīng)用程序?qū)嶒?yàn)【實(shí)驗(yàn)原理】網(wǎng)絡(luò)接口應(yīng)用程序編寫(xiě)在TCP/IP網(wǎng)絡(luò)應(yīng)用中,通信的兩個(gè)進(jìn)程間相互作用的主要模式是客戶(hù)/服務(wù)器模式(Client/Servermodel),即客戶(hù)向服務(wù)器發(fā)出服務(wù)請(qǐng)求,服務(wù)器接收到請(qǐng)求后,提供相應(yīng)的服務(wù),這種方式隱含了在建立客戶(hù)機(jī)/服務(wù)器間通信的非對(duì)稱(chēng)性??蛻?hù)/服務(wù)器模型工作時(shí)要求有一套為客戶(hù)機(jī)和服務(wù)器所共識(shí)的協(xié)議,保證服務(wù)能夠被提供(或被接收),在協(xié)議中,有主從機(jī)之分。通常服務(wù)器在某個(gè)地址監(jiān)聽(tīng)客戶(hù)的請(qǐng)求,一旦客戶(hù)提出連接請(qǐng)求,服務(wù)器將從休眠狀態(tài)被喚醒,為客戶(hù)提供服務(wù)。當(dāng)服務(wù)器和應(yīng)用程序需要和其他進(jìn)程通信時(shí)就會(huì)創(chuàng)建套接口。套接口(socket)使用一般分為分配套接口和初始化、完成連接的系統(tǒng)調(diào)用、傳送數(shù)據(jù)以及關(guān)閉等幾個(gè)步驟。分配套接口和初始化套接口是數(shù)據(jù)通信通道,在兩個(gè)進(jìn)程通過(guò)套接口建立連接后,會(huì)使用套接口描述字來(lái)讀寫(xiě)數(shù)據(jù)。對(duì)套接口來(lái)說(shuō),通常使用的協(xié)議和套接口類(lèi)型是AF_INET(ARPA網(wǎng)際協(xié)議)以及SOCK_STREAM類(lèi)型。流式套接字(SOCK_STREAM)提供了一個(gè)面向連接、可靠的數(shù)據(jù)傳輸服務(wù),數(shù)據(jù)無(wú)差錯(cuò)、無(wú)重復(fù)地發(fā)送,且按發(fā)送順序接收。內(nèi)設(shè)流量控制,避免數(shù)據(jù)流超限;數(shù)據(jù)被看作是字節(jié)流,無(wú)長(zhǎng)度限制。文件傳送協(xié)議(FTP)即使用流式套接字。當(dāng)一個(gè)套接字用socket創(chuàng)建后,存在一個(gè)名字空間(地址族),但它沒(méi)有被命名。bind將套接字地址(包括本地主機(jī)地址和本地端口地址)與所創(chuàng)建的套接字號(hào)聯(lián)系起來(lái)。地址在建立套接字通信過(guò)程中起著重要作用。30第30頁(yè),共41頁(yè),2023年,2月20日,星期六網(wǎng)絡(luò)應(yīng)用程序?qū)嶒?yàn)完成連接的系統(tǒng)調(diào)用當(dāng)創(chuàng)建了套接口并且使用bind把它和一個(gè)進(jìn)程關(guān)聯(lián)起來(lái)后,服務(wù)器類(lèi)型的進(jìn)程可以調(diào)用listen函數(shù)來(lái)監(jiān)聽(tīng)接入的套接口連接。當(dāng)一個(gè)接入信號(hào)抵達(dá)監(jiān)聽(tīng)套接口,會(huì)被排入隊(duì)列直到服務(wù)器程序準(zhǔn)備好處理為止。當(dāng)服務(wù)器準(zhǔn)備處理一個(gè)新的連接時(shí),使用系統(tǒng)調(diào)用accept從套接口的隊(duì)列中檢索一個(gè)掛起的信號(hào)。accept會(huì)返回一個(gè)新的套接口描述符,用來(lái)進(jìn)行客戶(hù)和服務(wù)器的通信,原來(lái)的套接口繼續(xù)監(jiān)聽(tīng)新的接入信號(hào)??蛻?hù)則使用系統(tǒng)調(diào)用connect來(lái)把本地套接口與遠(yuǎn)程服務(wù)聯(lián)系起來(lái),該調(diào)用的典型用法是為運(yùn)行在遠(yuǎn)程計(jì)算機(jī)上的服務(wù)器進(jìn)程指定本機(jī)的信息。傳送數(shù)據(jù)在傳送數(shù)據(jù)階段,recv用來(lái)接收從已經(jīng)連接的套接口傳來(lái)的信息,這個(gè)套接口已經(jīng)通過(guò)調(diào)用connect和另一個(gè)套接口連接起來(lái)了。系統(tǒng)調(diào)用send用來(lái)通過(guò)套接口向其他程序傳遞數(shù)據(jù),客戶(hù)端和服務(wù)器分別使用send來(lái)向遠(yuǎn)程服務(wù)進(jìn)程傳送服務(wù)請(qǐng)求和向客戶(hù)端返回?cái)?shù)據(jù)。關(guān)閉當(dāng)用完套接口需要釋放時(shí),通過(guò)使用系統(tǒng)調(diào)用close來(lái)關(guān)閉套接口描述符即可。這里沒(méi)有對(duì)以上系統(tǒng)調(diào)用做詳細(xì)的使用說(shuō)明,具體的參數(shù)以及用法請(qǐng)查閱相關(guān)書(shū)籍和資料
31第31頁(yè),共41頁(yè),2023年,2月20日,星期六網(wǎng)絡(luò)應(yīng)用程序?qū)嶒?yàn)【實(shí)驗(yàn)步驟】1. 準(zhǔn)備實(shí)驗(yàn)環(huán)境使用EduKit2410目標(biāo)板附帶的串口線(xiàn)連接目標(biāo)板上UART0和PC機(jī)串口COM1.使用EduKit2410目標(biāo)板附帶的交叉網(wǎng)線(xiàn)連接目標(biāo)板NET1和PC機(jī)網(wǎng)絡(luò)接口.2. 串口/網(wǎng)絡(luò)設(shè)置在PC機(jī)上運(yùn)行Windows附件中自帶的超級(jí)終端串口通信程序(波特率115200、1位停止位、無(wú)校驗(yàn)位、無(wú)硬件流控制);或者使用其它串口通信程序。在PC機(jī)上運(yùn)行TFTP服務(wù)器tftpd32.exe選擇工作目錄為/home/app。。32第32頁(yè),共41頁(yè),2023年,2月20日,星期六3. 實(shí)驗(yàn)操作過(guò)程1)運(yùn)行cygwin.進(jìn)入網(wǎng)絡(luò)服務(wù)實(shí)驗(yàn)程序所在目錄。執(zhí)行以下命令編譯server測(cè)試程序:$source/tmp/edukit-2410/set_env_linux.sh
//Linux
編譯環(huán)境變量設(shè)置$cd$WORKDIR/examples/0302_test-net/$makeclean$makeinstall2)下載測(cè)試程序.同時(shí)拷貝執(zhí)行文件到調(diào)試目錄,編譯好測(cè)試程序后,啟動(dòng)目標(biāo)板的Linux操作系統(tǒng),通過(guò)以太網(wǎng)使用tftp下載剛編譯好的運(yùn)行于開(kāi)發(fā)板Linux的server測(cè)試程序,保存到/var目錄下。在Linux的輸入終端里輸入如下命令。#cd/var#tftp-g0-r./server-l./server3)修改文件屬性.修改測(cè)試程序的屬性,使其擁有可執(zhí)行屬性,執(zhí)行以下命令:#chmod+xserver33第33頁(yè),共41頁(yè),2023年,2月20日,星期六4. 觀察實(shí)驗(yàn)結(jié)果1在Linux終端窗口執(zhí)行以下命令運(yùn)行服務(wù)器程序:#./serverserverlistening…waitforconnect…命令執(zhí)行后,出現(xiàn)“serverlistening…waitforconnect…”表示服務(wù)器程序進(jìn)入監(jiān)聽(tīng)狀態(tài),等待客戶(hù)端程序的連接請(qǐng)求。2) 在PC機(jī)cygwin上運(yùn)行客戶(hù)端程序,執(zhí)行以下命令,連接服務(wù)器:$./client.exedefaultlocalhost:<default_ip> ,oryoucaninputoneafterthecommand.Sendtoserver…Defaultteststring.Responsefromserver…Defaultteststring.以上為客戶(hù)端連接服務(wù)器后的顯示。你可以使用默認(rèn)服務(wù)器ip,也可以自己輸入“./client(pc_ip)”??蛻?hù)端程序連接服務(wù)器后,首先發(fā)送字符串“Defaultteststring.”到服務(wù)器,服務(wù)器接受到并打印到串口,再將字符串回傳給客戶(hù)端,客戶(hù)端接受到后再打印到顯示終端。
34第34頁(yè),共41頁(yè),2023年,2月20日,星期六實(shí)驗(yàn)操作過(guò)程編譯測(cè)驗(yàn)程序
35第35頁(yè),共41頁(yè),2023年,2月20日,星期六1.串口線(xiàn)連接目標(biāo)板上的UART0和PC機(jī)串口COM12.啟動(dòng)PC機(jī)上超級(jí)終端串口通信程序,運(yùn)行TFTP服務(wù)器程序tftpd32.exe.3.ViVi燒錄在1—
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司團(tuán)隊(duì)?wèi)敉馔卣够顒?dòng)合作協(xié)議
- 水利行業(yè)智能化水利工程運(yùn)行與管理安全性方案
- 系統(tǒng)學(xué)習(xí)的2025年工程經(jīng)濟(jì)試題及答案
- 游戲賽事組織與執(zhí)行方案
- 2025年公共關(guān)系學(xué)常見(jiàn)名詞定義及試題及答案
- 物理光學(xué)及聲學(xué)考點(diǎn)習(xí)題
- 經(jīng)濟(jì)學(xué)的實(shí)踐案例試題及答案
- 高校成本核算體系構(gòu)建與應(yīng)用
- 行政管理結(jié)構(gòu)調(diào)整試題及答案
- 住院醫(yī)師考試試題及答案
- 天津2025年天津市面向昌都籍未就業(yè)少數(shù)民族高校畢業(yè)生招聘事業(yè)單位人員筆試歷年參考題庫(kù)附帶答案詳解
- 2025年安全生產(chǎn)月主題培訓(xùn)課件:如何查找身邊安全隱患
- 別樣的碰碰車(chē)大戰(zhàn)
- 2024年遼寧省大連市初中學(xué)業(yè)水平考試模擬道德與法治試卷
- JJG 700 -2016氣相色譜儀檢定規(guī)程-(高清現(xiàn)行)
- 《桂枝香·金陵懷古》ppt課件(沐風(fēng)學(xué)堂)
- API SPEC 5DP-2020鉆桿規(guī)范
- 大學(xué)無(wú)機(jī)化學(xué)(吉林大學(xué)、武漢大學(xué)、南開(kāi)大學(xué)版) 第17章 鹵素—— 內(nèi)蒙古民族大學(xué))
- 環(huán)境噪聲監(jiān)測(cè)技術(shù)規(guī)范結(jié)構(gòu)傳播固定設(shè)備室內(nèi)噪聲
- 醫(yī)院版LIS操作手冊(cè)(共84頁(yè))
- 基于蓄熱式加熱爐PLC控制系統(tǒng)設(shè)計(jì)(共43頁(yè))
評(píng)論
0/150
提交評(píng)論