版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——嵌入式系統(tǒng)與應(yīng)用試驗指導(dǎo)報告書安徽工業(yè)大學(xué)
嵌入式系統(tǒng)與應(yīng)用
試驗報告冊
學(xué)院:電氣與信息工程學(xué)院專業(yè):測控技術(shù)與儀器姓名:學(xué)號:
試驗一Linux認(rèn)知試驗
一、試驗?zāi)康模?/p>
1、通過試驗,把握Linux操作系統(tǒng)下常用的命令,能靈活運(yùn)用這些命令完成特定的工作;
2、學(xué)習(xí)Linux下文本編輯器vi的使用方法。
二、試驗內(nèi)容:
1、新建文件hello.c,文件位于/home/test/目錄下;2、使用vi編輯
三、試驗步驟:
1、開啟電腦上的虛擬機(jī),加載Linux系統(tǒng)。
2、輸入密碼進(jìn)入系統(tǒng)后,按ctrl+Alt+t開啟終端;3、使用mkdir建立/home/test文件夾;4、使用chmod命令修改文件夾權(quán)限;
5、使用vi開啟hello.c文件,從而新建文件;
6、在hello.c文件中輸入程序,使得程序能夠顯示打印字符:“Hello,Linux!〞
四、試驗結(jié)果:(包括代碼源碼和運(yùn)行結(jié)果)
1、源代碼
(1)hello.c程序代碼:
#include\intmain(){
printf(\}
(2)修改文件夾權(quán)限:
用chmod修改文件夾權(quán)限lv@lv-pc:~$cdtest1lv@lv-pc:~/test1$ls-l總用量28
-rwxr-xr-x1lvlv81365月711:36a.out-rwxr-xr-x1lvlv78695月1109:10main-rw-r--r--1lvlv2505月711:35main.c-rwxr-xr-x1lvlv81363月3020:28mianlv@lv-pc:~/test1$chmod733a.out
-1-
lv@lv-pc:~/test1$ls-l總用量28
-rwx-wx-wx1lvlv81365月711:36a.out-rwxr-xr-x1lvlv78695月1109:10main-rw-r--r--1lvlv2505月711:35main.c-rwxr-xr-x1lvlv81363月3020:28mian
2、試驗結(jié)果
五、思考:
在建立文件夾的過程中,假使不進(jìn)入管理員權(quán)限,會出現(xiàn)什么問題?同樣,不進(jìn)入管理員權(quán)限,vi編輯完代碼,能不能保存退出?chmod后面的數(shù)字參數(shù)是什么含義?
答:會出現(xiàn):鍵入mkdirtest后顯示:無法創(chuàng)立目錄\權(quán)限不夠的問題。不進(jìn)入管理員權(quán)限,vi編輯完代碼,不能保存退出。想對文件夾所修改成的權(quán)限。
-2-
試驗二交織編譯試驗
一、試驗?zāi)康模?/p>
1、通過試驗,把握交織編譯的原理,理解文件系統(tǒng)掛載的原理;
2、把握交織編譯工具的使用,學(xué)會使用兩種不同的方式訪問目標(biāo)板系統(tǒng),學(xué)會使用gdb對程序進(jìn)行調(diào)試。
二、試驗內(nèi)容:
編輯hello.c程序,使用交織編譯工具進(jìn)行編譯,生成可執(zhí)行文件,分別使用minicom和telnet登錄到目標(biāo)板上,對程序進(jìn)行運(yùn)行調(diào)試。
三、試驗步驟:
1、開啟電腦上的虛擬機(jī),加載Linux系統(tǒng)。
2、Linux系統(tǒng)登錄完畢,設(shè)置PC機(jī)網(wǎng)絡(luò)地址為192.168.0.10,其中子網(wǎng)掩碼為255.255.255.0,連接好試驗箱上的電源、網(wǎng)線和USB轉(zhuǎn)串口工具以及串口延長線。
3、按ctrl+Alt+t開啟終端,輸入sudominicom開啟minicom,查看串口設(shè)置是否正確,進(jìn)行串口設(shè)置;
4、開啟試驗箱電源,查看啟動代碼,啟動完成后,試驗箱屏幕顯示界面,按“Ctrl+c〞,然后按“Enter〞,進(jìn)入板子系統(tǒng)。
5、在文件系統(tǒng)(/home/nfs)下的test文件夾下,建立hello.c的程序,程序中輸入相應(yīng)程序,實現(xiàn)打印信息“hello,linux〞并換行輸出1~10;
6、再開啟一個終端,在該終端中轉(zhuǎn)到文件系統(tǒng)test文件夾,使用交織編譯工具對hello.c進(jìn)行編譯。
7、在minicom中,目錄轉(zhuǎn)到“/test〞文件夾下使用./(你的程序名)運(yùn)行程序;8、使用“gdb你的程序名〞運(yùn)行程序,設(shè)置斷點進(jìn)行程序調(diào)試。
9、關(guān)閉minicom,終端中輸入telnet,然后輸入open192.168.0.11,等待出現(xiàn)“l(fā)ogin:〞輸入“root〞,進(jìn)入目標(biāo)板系統(tǒng);
10、目錄轉(zhuǎn)到“/test〞文件夾下使用./(你的程序名)運(yùn)行程序;11、使用“gdb你的程序名〞運(yùn)行程序,設(shè)置斷點進(jìn)行程序調(diào)試。
四、試驗結(jié)果:(包括代碼源碼和運(yùn)行結(jié)果)
1、源程序
#includemain(){
inti;
printf(“hellolinux!!\\n〞);for(i=1;iopen192.168.0.11Trying192.168.0.11...
Connectedto192.168.0.11.Escapecharacteris'^]'.
Linux2.4.18-rmk7-pxa1(192.168.0.11)(0)192.168.0.11login:root
BusyBoxv0.60.3(2023.05.13-08:36+0000)Built-inshell(ash)Enter'help'foralistofbuilt-incommands.
#./helloarm
./helloarm:Nosuchfileordirectory#cdtest#./helloarm
Hellolinux!!
-4-
thisis1thisis2thisis3thisis4thisis5thisis6thisis7thisis8thisis9thisis10
(2)在minicom下運(yùn)行:
wyxj@wyxj-cpu:~$sudominicom[sudo]passwordforwyxj:Welcometominicom2.6.2OPTIONS:I18n
CompiledonFeb82023,06:27:51.Port/dev/ttyUSB0,21:22:32
PressCTRL-AZforhelponspecialkeysWaitingforentertostart'/bin/sh'(pid46,terminal/dev/console)PleasepressEntertoactivatethisconsole.Startingpid46,console/dev/console:'/bin/sh'
BusyBoxv0.60.3(2023.05.13-08:36+0000)Built-inshell(ash)Enter'help'foralistofbuilt-incommands.#ls
333.bmpmicrowindows-0.90sbin
binmmcsdsheryl.mp3bombmnttestdevnotebooktmp
etcpig.mp3usrhello.cprocvariceage.mpegqcop-msg-qpevconguilibqcop-msg-quicklauncherlinuxrcqtembedded-root#cdtest#./helloarm
Hellolinux!!thisis1thisis2thisis3thisis4
-5-
thisis5thisis6thisis7thisis8thisis9
thisis10
(3)超級終端下運(yùn)行:
3、gdb調(diào)試
-6-
-7-
五、思考:
1、在使用交織編譯工具進(jìn)行編譯過程中,要生成可用gdb調(diào)試的程序,需要再編譯過程中加什么參數(shù)?
答:gcc-ghello.c-ohello要加上“-g〞,這樣編譯出的可執(zhí)行代碼中才包含調(diào)試信息,否則之后gdb無法載入該執(zhí)行文件。
2、使用telnet進(jìn)行目標(biāo)板訪問過程中,什么時候運(yùn)行open命令不會出現(xiàn)連接不到目標(biāo)板的狀況?
答:目標(biāo)版能顯示文檔內(nèi)容,表示所有連接成功。連接不到原因:1)線路問題;(檢查線路);
2)telnet的網(wǎng)絡(luò)設(shè)備負(fù)載過高,無法正常響應(yīng)服務(wù);(重啟一下設(shè)備);3)telnet的網(wǎng)絡(luò)設(shè)備阻止了telnet的23端口...(于設(shè)備中開啟該端口);
-8-
試驗三S3C2410基礎(chǔ)試驗
一、試驗?zāi)康模?/p>
了解在ADS環(huán)境下對S3C2410芯片的AD接口的操作、鍵盤/LED接口的操作、直流和步進(jìn)電機(jī)的工作原理和實際編程操作。
二、試驗內(nèi)容:
1、實現(xiàn)使用ADS和簡易JTAG仿真器連接ARM芯片S3C2410;2、使用提供例程和超級終端對上述的各個模塊的接口進(jìn)行實際操作。
三、試驗步驟:
1、ADS試驗環(huán)境的建立,參照《THUEA-1A型嵌入式(ARM9)高級試驗/開發(fā)系統(tǒng)》試驗指導(dǎo)書的157~162頁;
2、設(shè)置好以后,到D盤ARM文件夾下,找到ADS的工程文件,拖入到開啟的ADS1.2中;
3、重啟開發(fā)板,超級終端中顯示等待狀態(tài),點擊ADS1.2上的調(diào)試按鈕,程序開始下裝到開發(fā)板;ADS進(jìn)入調(diào)試界面;
4、點擊調(diào)試界面上的運(yùn)行按鈕,程序執(zhí)行到主程序處,再次點擊運(yùn)行程序;5、程序運(yùn)行后,超級終端上顯示運(yùn)行提醒,按提醒操作鍵盤/LED、電機(jī)和AD轉(zhuǎn)換.
四、試驗結(jié)果:(超級終端上的運(yùn)行提醒和實際運(yùn)行結(jié)果)1、運(yùn)行程序:
(1)A/D程序:讀取采樣值函數(shù):
intReadAdc(intch){
inti;
staticintprevCh=-1;
rADCCON=(1return((int)rADCDAT0}
在超級終端顯示數(shù)字量:{
a4=ReadAdc(4);a6=ReadAdc(6);Uart_Printf(\%0.2f}
AIN6:%0.2f\\n\
(2)D/A程序:MAX504的控制程序如下:
voidDA_Test(){inti;
intSAVrGPACON,SAVrGPFCON,SAVrGPGCON;floatv;
SAVrGPACON=rGPACON;SAVrGPFCON=rGPFCON;SAVrGPGCON=rGPGCON;MAX504_CLEAR();for(i=0;i>8);
//開啟MAX504//發(fā)送高8位//左移兩位//寄放器狀態(tài)恢復(fù)//寄放器狀態(tài)恢復(fù)//寄放器狀態(tài)恢復(fù)
//MAX504讀取數(shù)字量轉(zhuǎn)化//數(shù)字量顯示//數(shù)字量保持時間//寄放器狀態(tài)保護(hù)//寄放器狀態(tài)保護(hù)//寄放器狀態(tài)保護(hù)//將DAC寄放器設(shè)為0
Uart_Printf(\Test]\\nPleaseobservethecorrespondingofoutputandinput:\\n\
Uart_Printf(\DigitalVoltageOfInput=%1.2fV\\r\
-10-
SendSPIData(value);MAX504_DISABLE();}
//發(fā)送低8位//關(guān)閉MAX504
(3)鍵盤/LED接口程序:超級終端顯示鍵值數(shù)組:
unsignedcharScandata[4][4]={
{'F','E','D','C'},{'B','A','9','8'},{'7','6','5','4'},
{'3','2','1','0'},};
數(shù)碼管碼段顯示值數(shù)組:
unsignedcharst[4][4]={
{0x8e,0x86,0xa1,0xc6},{0x83,0x88,0x90,0x80},{0xf8,0x82,0x92,0x99},{0xb0,0xa4,0xf9,0xc0},};
掃描鍵值中斷函數(shù):
do{
rGPEDAT=rGPEDATrGPEDAT=rGPEDAT|0x70;i=3;
Read_value(i);
rGPEDAT=rGPEDAT//置GPE4為低,掃描鍵盤第三行rGPEDAT=rGPEDAT|0x68;i=2;
Read_value(i);
rGPEDAT=rGPEDATrGPEDAT=rGPEDAT|0x58;i=1;
Read_value(i);
rGPEDAT=rGPEDATrGPEDAT=rGPEDAT|0x38;i=0;
Read_value(i);}while(value!='0');
//置GPE3為低,掃描鍵盤第四行//GPE4、5、6為高
//GPE3、5、6為高
//置GPE5為低,掃描其次行鍵盤//GPE3、4、6為高
//置GPE6為低,掃描第一行鍵盤//GPE3、4、5為高
-11-
某列鍵值讀?。?/p>
case(0xe):
value=Scandata[data][0];rGPADAT=0x81e0;rSMG0=st[data][0];rGPADAT=0x01e0;break;
Uart_Printf(\keyvalueis%c\
//超級終端顯示
//GPA5,6,7,8輸出1,15輸出高//數(shù)碼管顯示
//GPA5,6,7,8輸出1,15輸出低
(5)直流、步進(jìn)電機(jī)程序:
直流電機(jī)正轉(zhuǎn):rGPADAT=0xfff80;//GPA7置1,GPA4、5、6置0
Delay(50);//延時函數(shù),控制低脈沖時間rGPADAT=0xfff90;//GPA4、7置1,GPA5、6置0
Delay(30);//延時函數(shù),控制高脈沖時間
直流電機(jī)反轉(zhuǎn):
rGPADAT=0xfff20;//GPA5置1,GPA4、6、7置0
Delay(50);//延時函數(shù),控制低脈沖時間rGPADAT=0xfff60;//GPA5、6置1,GPA4、7置0
Delay(30);//延時函數(shù),控制高脈沖時間
步進(jìn)電機(jī)輸出脈沖:
rGPADAT=0xfff07;//0111,注意:低電平有效
Delay(140);//延時函數(shù),控制步進(jìn)電機(jī)轉(zhuǎn)速rGPADAT=0xfff0b;//1011
Delay(140);rGPADAT=0xfff0d;//1101
Delay(140);rGPADAT=0xfff0e;//1110
Delay(140);
2、超級終端運(yùn)行結(jié)果:
-12-
-13-
五、思考:
在ADS下載程序的過程中,目標(biāo)板為什么不能進(jìn)入到linux系統(tǒng),目標(biāo)板進(jìn)入linux系統(tǒng)后,下裝的程序能不能正常運(yùn)行?答:由于內(nèi)存沖突;能。
-14-
五、思考:
在網(wǎng)絡(luò)通信試驗中,在目標(biāo)板和PC機(jī)通信過程中,是否可以把目標(biāo)板設(shè)置為服務(wù)器,PC機(jī)設(shè)置為客戶機(jī)?為什么?
答:不可以。
客戶機(jī)又稱為用戶工作站,是用戶與網(wǎng)絡(luò)打交道的設(shè)備,一般由用戶PC擔(dān)任,每一個客戶機(jī)都運(yùn)行在它自己的、并為服務(wù)器所認(rèn)可的操作系統(tǒng)環(huán)境中??蛻魴C(jī)主要通過服務(wù)器享受網(wǎng)絡(luò)上提供的各種資源。
客戶機(jī)是連接服務(wù)器的計算機(jī),使用服務(wù)器共享的文件、打印機(jī)和其他資源,是網(wǎng)絡(luò)軟件運(yùn)行的一種形式,尋常采用客戶機(jī)/服務(wù)器(C/S)結(jié)構(gòu)的系統(tǒng),有一臺或多臺服務(wù)器以及大量的客戶機(jī)。服務(wù)器配備大容量存儲器并安裝數(shù)據(jù)庫系統(tǒng),用于數(shù)據(jù)存放和數(shù)據(jù)檢索;客戶端安裝專用的軟件,負(fù)責(zé)數(shù)據(jù)的輸入、運(yùn)算和輸出。
客戶機(jī)和服務(wù)器都是獨立的計算機(jī)。當(dāng)一臺連入網(wǎng)絡(luò)的計算機(jī)向其他計算機(jī)提供各種網(wǎng)絡(luò)服務(wù)(如數(shù)據(jù)、文件的共享等)時,就被叫做服務(wù)器。那些用于訪問服務(wù)器資料的計算機(jī)則被叫做客戶機(jī)。嚴(yán)格說來,客戶機(jī)/服務(wù)器模型并不是從物理分布的角度來定義,它所表達(dá)的是一種網(wǎng)絡(luò)數(shù)據(jù)訪問的實現(xiàn)方式。
服務(wù)器(英文名稱server),也稱伺服器。指一個管理資源并為用戶提供服務(wù)的計算機(jī)設(shè)備。由于服務(wù)器需要響應(yīng)服務(wù)請求,并進(jìn)行處理,因此一般來說服務(wù)器應(yīng)具備承受服務(wù)并且保障服務(wù)的能力。服務(wù)器的構(gòu)成包括處理器、硬盤、內(nèi)存、系統(tǒng)總線等,和通用的計算機(jī)架構(gòu)類似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴(kuò)展性、可管理性等方面要求較高。在網(wǎng)絡(luò)環(huán)境下,根據(jù)服務(wù)器提供的服務(wù)類型不同,分為文件服務(wù)器,數(shù)據(jù)庫服務(wù)器,應(yīng)用程序服務(wù)器,WEB服務(wù)器等。
-30-
3、目標(biāo)板運(yùn)行結(jié)果
4.超級終端上運(yùn)行
-20-
五、思考:
主程序運(yùn)行過程中,超時退出是靠select()函數(shù)的那個參數(shù)控制的?在整個試驗過程中,假使in1,in2的名字發(fā)生變化,需要修改程序源碼中的哪部分?
答:timeout;修改如下部分中的in1和in2
if((fds[1]=pen(“in1〞,O_RDONLY|O_NONBLOCK))0)set_speed(fd,115200);else{printf(\exit(0);}if(set_parity(fd,8,1,'n')==FALSE){printf(\exit(1);}printf(\while(1){read(fd,//ch=getchar();putchar(ch);//write(fd,}close(fd);return(0);}
Makefile代碼:
KERNELDIR=/usr/src/linux-2.4.20-8#CC=armv4l-unknown-linux-gccCC=gcc
CFLAGS=-I$(KERNELDIR)/include/-Wall
host_serial:$(CC)$(CFLAGS)-ohost_serialserial.chost_serial.c
clean:rm-fhost_serial
(2)target_serial.c:
#include\
#defineTRUE1
-23-
#defineFALSE0/**
*@breifmain()*/
intmain(){intfd;charch;
char*dev=\fd=init_serial(dev);if(fd>0)set_speed(fd,115200);else{printf(\exit(0);}if(set_parity(fd,8,1,'N')==FALSE){printf(\exit(1);}printf(\while(1){//ch=getchar();ch='a';write(fd,//read(fd,//printf(\//putchar(ch);}close(fd);return(0);}
Makefile代碼:
KERNELDIR=/home/sitsang/linux-2.4.19#KERNELDIR=/usrCC=arm-linux-gcc
CFLAGS=-I$(KERNELDIR)/include/-Wall
serial:
-24-
$(CC)$(CFLAGS)-otarget_serialserial.ctarget_serial.cclean:rm-ftarget_serial
2、試驗結(jié)果:
-25-
-26-
五、思考:
串口傳送過程中,假使不能接收到數(shù)據(jù),怎么處理?怎么測試PC機(jī)上的接收端口能接收到數(shù)據(jù)?
答:確認(rèn)接線正確,有信號;確認(rèn)波特率正確,兩端一致
-27-
試驗六Linux網(wǎng)絡(luò)編程試驗
一、試驗?zāi)康模?/p>
1、通過試驗,把握Linux操作系統(tǒng)下網(wǎng)絡(luò)通信的基本方法;
2、學(xué)習(xí)socket編程的基本函數(shù)socket()、bind()、listen()、accept()、send()、sendto()、recv()以及recvfrom()的使用方法;
二、試驗內(nèi)容:
該試驗中,需要建立網(wǎng)絡(luò)通信的程序,程序分為客戶端和服務(wù)器端兩部分,其中服務(wù)器端首先建立起socket,然后與本地端口進(jìn)行綁定,接著就開始接收從客戶端的連接請求并建立與它的連接,接下來,接收客戶端發(fā)送的消息??蛻舳藙t在建立socket之后調(diào)用connect()函數(shù)來建立連接。
三、
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合作協(xié)議資金托管3篇
- 兄弟宅基地協(xié)商協(xié)議書3篇
- 關(guān)于簡單租用廣告牌合同范本3篇
- 塑料原料供應(yīng)商購銷合同3篇
- 合同驗收的實際操作步驟解析3篇
- 合伙經(jīng)營店鋪合同3篇
- 果園永久出租轉(zhuǎn)讓合同范例
- 車輛定維修度合同范例
- 車輛設(shè)計定制改裝合同范例
- 購房勞動合同范例
- 2023-2024學(xué)年滬教版(上海)七年級數(shù)學(xué)上冊 期末復(fù)習(xí)題
- 2024-2025學(xué)年高二上學(xué)期期末復(fù)習(xí)【第五章 一元函數(shù)的導(dǎo)數(shù)及其應(yīng)用】十一大題型歸納(拔尖篇)(含答案)
- 湖北省咸寧市通城縣2022-2023學(xué)年八年級上學(xué)期期末質(zhì)量檢測數(shù)學(xué)試卷(含解析)
- 3.5畝生態(tài)陵園建設(shè)項目可行性研究報告
- 【MOOC】法理學(xué)-西南政法大學(xué) 中國大學(xué)慕課MOOC答案
- 2024年新湘教版七年級上冊數(shù)學(xué)教學(xué)課件 第4章 圖形的認(rèn)識 章末復(fù)習(xí)
- 【MOOC】信號與系統(tǒng)-北京郵電大學(xué) 中國大學(xué)慕課MOOC答案
- 2024年專技人員公需科目考試答
- 數(shù)值分析智慧樹知到期末考試答案章節(jié)答案2024年長安大學(xué)
- 光伏并網(wǎng)前單位工程驗收報告-2023
- “源網(wǎng)荷儲”一體化項目(儲能+光伏+風(fēng)電)規(guī)劃報告
評論
0/150
提交評論