![嵌入式系統(tǒng)與應(yīng)用試驗指導(dǎo)報告書_第1頁](http://file4.renrendoc.com/view/caf771e2fd39748dabec5e8c4024f748/caf771e2fd39748dabec5e8c4024f7481.gif)
![嵌入式系統(tǒng)與應(yīng)用試驗指導(dǎo)報告書_第2頁](http://file4.renrendoc.com/view/caf771e2fd39748dabec5e8c4024f748/caf771e2fd39748dabec5e8c4024f7482.gif)
![嵌入式系統(tǒng)與應(yīng)用試驗指導(dǎo)報告書_第3頁](http://file4.renrendoc.com/view/caf771e2fd39748dabec5e8c4024f748/caf771e2fd39748dabec5e8c4024f7483.gif)
![嵌入式系統(tǒng)與應(yīng)用試驗指導(dǎo)報告書_第4頁](http://file4.renrendoc.com/view/caf771e2fd39748dabec5e8c4024f748/caf771e2fd39748dabec5e8c4024f7484.gif)
![嵌入式系統(tǒng)與應(yīng)用試驗指導(dǎo)報告書_第5頁](http://file4.renrendoc.com/view/caf771e2fd39748dabec5e8c4024f748/caf771e2fd39748dabec5e8c4024f7485.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——嵌入式系統(tǒng)與應(yīng)用試驗指導(dǎo)報告書安徽工業(yè)大學
嵌入式系統(tǒng)與應(yīng)用
試驗報告冊
學院:電氣與信息工程學院專業(yè):測控技術(shù)與儀器姓名:學號:
試驗一Linux認知試驗
一、試驗?zāi)康模?/p>
1、通過試驗,把握Linux操作系統(tǒng)下常用的命令,能靈活運用這些命令完成特定的工作;
2、學習Linux下文本編輯器vi的使用方法。
二、試驗內(nèi)容:
1、新建文件hello.c,文件位于/home/test/目錄下;2、使用vi編輯
三、試驗步驟:
1、開啟電腦上的虛擬機,加載Linux系統(tǒng)。
2、輸入密碼進入系統(tǒng)后,按ctrl+Alt+t開啟終端;3、使用mkdir建立/home/test文件夾;4、使用chmod命令修改文件夾權(quán)限;
5、使用vi開啟hello.c文件,從而新建文件;
6、在hello.c文件中輸入程序,使得程序能夠顯示打印字符:“Hello,Linux!〞
四、試驗結(jié)果:(包括代碼源碼和運行結(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é)果
五、思考:
在建立文件夾的過程中,假使不進入管理員權(quán)限,會出現(xiàn)什么問題?同樣,不進入管理員權(quán)限,vi編輯完代碼,能不能保存退出?chmod后面的數(shù)字參數(shù)是什么含義?
答:會出現(xiàn):鍵入mkdirtest后顯示:無法創(chuàng)立目錄\權(quán)限不夠的問題。不進入管理員權(quán)限,vi編輯完代碼,不能保存退出。想對文件夾所修改成的權(quán)限。
-2-
試驗二交織編譯試驗
一、試驗?zāi)康模?/p>
1、通過試驗,把握交織編譯的原理,理解文件系統(tǒng)掛載的原理;
2、把握交織編譯工具的使用,學會使用兩種不同的方式訪問目標板系統(tǒng),學會使用gdb對程序進行調(diào)試。
二、試驗內(nèi)容:
編輯hello.c程序,使用交織編譯工具進行編譯,生成可執(zhí)行文件,分別使用minicom和telnet登錄到目標板上,對程序進行運行調(diào)試。
三、試驗步驟:
1、開啟電腦上的虛擬機,加載Linux系統(tǒng)。
2、Linux系統(tǒng)登錄完畢,設(shè)置PC機網(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è)置是否正確,進行串口設(shè)置;
4、開啟試驗箱電源,查看啟動代碼,啟動完成后,試驗箱屏幕顯示界面,按“Ctrl+c〞,然后按“Enter〞,進入板子系統(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進行編譯。
7、在minicom中,目錄轉(zhuǎn)到“/test〞文件夾下使用./(你的程序名)運行程序;8、使用“gdb你的程序名〞運行程序,設(shè)置斷點進行程序調(diào)試。
9、關(guān)閉minicom,終端中輸入telnet,然后輸入open192.168.0.11,等待出現(xiàn)“l(fā)ogin:〞輸入“root〞,進入目標板系統(tǒng);
10、目錄轉(zhuǎn)到“/test〞文件夾下使用./(你的程序名)運行程序;11、使用“gdb你的程序名〞運行程序,設(shè)置斷點進行程序調(diào)試。
四、試驗結(jié)果:(包括代碼源碼和運行結(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下運行:
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)超級終端下運行:
3、gdb調(diào)試
-6-
-7-
五、思考:
1、在使用交織編譯工具進行編譯過程中,要生成可用gdb調(diào)試的程序,需要再編譯過程中加什么參數(shù)?
答:gcc-ghello.c-ohello要加上“-g〞,這樣編譯出的可執(zhí)行代碼中才包含調(diào)試信息,否則之后gdb無法載入該執(zhí)行文件。
2、使用telnet進行目標板訪問過程中,什么時候運行open命令不會出現(xiàn)連接不到目標板的狀況?
答:目標版能顯示文檔內(nèi)容,表示所有連接成功。連接不到原因:1)線路問題;(檢查線路);
2)telnet的網(wǎng)絡(luò)設(shè)備負載過高,無法正常響應(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接口的操作、直流和步進電機的工作原理和實際編程操作。
二、試驗內(nèi)容:
1、實現(xiàn)使用ADS和簡易JTAG仿真器連接ARM芯片S3C2410;2、使用提供例程和超級終端對上述的各個模塊的接口進行實際操作。
三、試驗步驟:
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進入調(diào)試界面;
4、點擊調(diào)試界面上的運行按鈕,程序執(zhí)行到主程序處,再次點擊運行程序;5、程序運行后,超級終端上顯示運行提醒,按提醒操作鍵盤/LED、電機和AD轉(zhuǎn)換.
四、試驗結(jié)果:(超級終端上的運行提醒和實際運行結(jié)果)1、運行程序:
(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)保護//寄放器狀態(tài)保護//寄放器狀態(tài)保護//將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)直流、步進電機程序:
直流電機正轉(zhuǎn):rGPADAT=0xfff80;//GPA7置1,GPA4、5、6置0
Delay(50);//延時函數(shù),控制低脈沖時間rGPADAT=0xfff90;//GPA4、7置1,GPA5、6置0
Delay(30);//延時函數(shù),控制高脈沖時間
直流電機反轉(zhuǎn):
rGPADAT=0xfff20;//GPA5置1,GPA4、6、7置0
Delay(50);//延時函數(shù),控制低脈沖時間rGPADAT=0xfff60;//GPA5、6置1,GPA4、7置0
Delay(30);//延時函數(shù),控制高脈沖時間
步進電機輸出脈沖:
rGPADAT=0xfff07;//0111,注意:低電平有效
Delay(140);//延時函數(shù),控制步進電機轉(zhuǎn)速rGPADAT=0xfff0b;//1011
Delay(140);rGPADAT=0xfff0d;//1101
Delay(140);rGPADAT=0xfff0e;//1110
Delay(140);
2、超級終端運行結(jié)果:
-12-
-13-
五、思考:
在ADS下載程序的過程中,目標板為什么不能進入到linux系統(tǒng),目標板進入linux系統(tǒng)后,下裝的程序能不能正常運行?答:由于內(nèi)存沖突;能。
-14-
五、思考:
在網(wǎng)絡(luò)通信試驗中,在目標板和PC機通信過程中,是否可以把目標板設(shè)置為服務(wù)器,PC機設(shè)置為客戶機?為什么?
答:不可以。
客戶機又稱為用戶工作站,是用戶與網(wǎng)絡(luò)打交道的設(shè)備,一般由用戶PC擔任,每一個客戶機都運行在它自己的、并為服務(wù)器所認可的操作系統(tǒng)環(huán)境中??蛻魴C主要通過服務(wù)器享受網(wǎng)絡(luò)上提供的各種資源。
客戶機是連接服務(wù)器的計算機,使用服務(wù)器共享的文件、打印機和其他資源,是網(wǎng)絡(luò)軟件運行的一種形式,尋常采用客戶機/服務(wù)器(C/S)結(jié)構(gòu)的系統(tǒng),有一臺或多臺服務(wù)器以及大量的客戶機。服務(wù)器配備大容量存儲器并安裝數(shù)據(jù)庫系統(tǒng),用于數(shù)據(jù)存放和數(shù)據(jù)檢索;客戶端安裝專用的軟件,負責數(shù)據(jù)的輸入、運算和輸出。
客戶機和服務(wù)器都是獨立的計算機。當一臺連入網(wǎng)絡(luò)的計算機向其他計算機提供各種網(wǎng)絡(luò)服務(wù)(如數(shù)據(jù)、文件的共享等)時,就被叫做服務(wù)器。那些用于訪問服務(wù)器資料的計算機則被叫做客戶機。嚴格說來,客戶機/服務(wù)器模型并不是從物理分布的角度來定義,它所表達的是一種網(wǎng)絡(luò)數(shù)據(jù)訪問的實現(xiàn)方式。
服務(wù)器(英文名稱server),也稱伺服器。指一個管理資源并為用戶提供服務(wù)的計算機設(shè)備。由于服務(wù)器需要響應(yīng)服務(wù)請求,并進行處理,因此一般來說服務(wù)器應(yīng)具備承受服務(wù)并且保障服務(wù)的能力。服務(wù)器的構(gòu)成包括處理器、硬盤、內(nèi)存、系統(tǒng)總線等,和通用的計算機架構(gòu)類似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴展性、可管理性等方面要求較高。在網(wǎng)絡(luò)環(huán)境下,根據(jù)服務(wù)器提供的服務(wù)類型不同,分為文件服務(wù)器,數(shù)據(jù)庫服務(wù)器,應(yīng)用程序服務(wù)器,WEB服務(wù)器等。
-30-
3、目標板運行結(jié)果
4.超級終端上運行
-20-
五、思考:
主程序運行過程中,超時退出是靠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機上的接收端口能接收到數(shù)據(jù)?
答:確認接線正確,有信號;確認波特率正確,兩端一致
-27-
試驗六Linux網(wǎng)絡(luò)編程試驗
一、試驗?zāi)康模?/p>
1、通過試驗,把握Linux操作系統(tǒng)下網(wǎng)絡(luò)通信的基本方法;
2、學習socket編程的基本函數(shù)socket()、bind()、listen()、accept()、send()、sendto()、recv()以及recvfrom()的使用方法;
二、試驗內(nèi)容:
該試驗中,需要建立網(wǎng)絡(luò)通信的程序,程序分為客戶端和服務(wù)器端兩部分,其中服務(wù)器端首先建立起socket,然后與本地端口進行綁定,接著就開始接收從客戶端的連接請求并建立與它的連接,接下來,接收客戶端發(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025會計基礎(chǔ)知識重點:融資租賃合同
- 2025池塘清淤工程的施工合同
- 9 知法守法 依法維權(quán) 依法維權(quán)有途徑(說課稿)-部編版道德與法治六年級上冊
- 21 淡水資源 說課稿-2024-2025學年科學三年級上冊青島版
- 2025法律法規(guī)工傷員工續(xù)簽合同問題 管理資料
- 6將相和(第一課時)說課稿-2024-2025學年五年級上冊語文統(tǒng)編版
- 農(nóng)村荒山承包合同范本
- 硬件維護投標方案
- 2023二年級數(shù)學下冊 四 認識萬以內(nèi)的數(shù)第8課時 近似數(shù)說課稿 蘇教版001
- Unit 1 Making friends PartA Let's talk(說課稿)-2024-2025學年人教PEP版(2024)英語三年級上冊
- 正面上手發(fā)球技術(shù) 說課稿-2023-2024學年高一上學期體育與健康人教版必修第一冊
- 佛山市普通高中2025屆高三下學期一??荚嚁?shù)學試題含解析
- 事故隱患排查治理情況月統(tǒng)計分析表
- 永磁直流(汽車)電機計算程序
- 國家電網(wǎng)招聘2025-企業(yè)文化復(fù)習試題含答案
- 頸部瘢痕攣縮畸形治療
- 貴州省貴陽市2023-2024學年五年級上學期語文期末試卷(含答案)
- 醫(yī)院物業(yè)服務(wù)組織機構(gòu)及人員的配備、培訓管理方案
- 端午做香囊課件
- 外觀判定標準
- 江西上饒市2025屆數(shù)學高二上期末檢測試題含解析
評論
0/150
提交評論