嵌入式實驗報告書(共14頁)_第1頁
嵌入式實驗報告書(共14頁)_第2頁
嵌入式實驗報告書(共14頁)_第3頁
嵌入式實驗報告書(共14頁)_第4頁
嵌入式實驗報告書(共14頁)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 嵌入式linux實驗報告 姓名:梅發(fā)同 學號: 實驗一:熟悉嵌入式系統(tǒng)開發(fā)環(huán)境 一 實驗目的: 1熟悉嵌入式系統(tǒng)硬件實驗平臺 2掌握超級終端配置方法。 3. 掌握嵌入式系統(tǒng)開發(fā)環(huán)境配置,ARM-Linux下NFS服務器的配置方法 4. 掌握常用的 Linux下shell命令 二 實驗設備及工具 :硬件:UP-NETARM2410-S嵌入式實驗儀、PC機pentumn500以上、硬盤40G以上、內(nèi)存大于256M。軟件:PC機操作系統(tǒng)REDHAT LINUX 9.0 、MINICOM 、AMRLINUX開發(fā)環(huán)境三 實驗內(nèi)容 : (1)掌握嵌入式系統(tǒng)實驗平臺上的各類借接口

2、的位置; (2)配置windows的超級終端,熟悉vivi的命令行,bootload、kernel、root和用戶程序的介紹; (3)配置linux的終端,配置網(wǎng)絡服、Ip地址,開發(fā)目錄共享,掛載等。四 實驗結果分析配置windows的超級終端輸入終端名稱選擇COM1接口設置COM1屬性打開虛擬機,啟動linux。新建終端,輸入minicom啟動實驗箱設置ip并且在minicom下ping通主機設置網(wǎng)絡服務取消防火墻選中NFS設置共享文件夾在主機編譯運行程序hello wordHello.c 源代碼如下:在target上掛載主機開發(fā)目錄上嵌入式程序到實驗箱,運行Mount t nfs 主機IP

3、:/開發(fā)目錄 /hostcd /host運行程序交叉編譯完成實驗心得:實驗中應注意需要將編譯的程序文件掛載到開發(fā)板,才能在ARM里找到我們需要運行的文件。還要注意區(qū)分gcc和armv4l-unknown-linux-gcc編譯器的區(qū)別。只有用armv4l-unknown-linux-gcc編譯的才能在開發(fā)板上運行。實驗二 嵌入式Linux程序設計一 實驗目的: 1掌握嵌入式Linux軟件設計方法原理 2掌握Makefile文件設計方法。 3. 熟悉Linux下靜態(tài)庫和共享庫的設計 二 實驗設備及工具 :硬件:UP-NETARM2410-S嵌入式實驗儀、PC機pentumn500以上、硬盤40G

4、以上、內(nèi)存大于256M。軟件:PC機操作系統(tǒng)REDHAT LINUX 9.0 、MINICOM 、AMRLINUX開發(fā)環(huán)境三 實驗內(nèi)容 : (1)編寫一個帶輸入、輸出的由5個文件組成的嵌入式軟件; (2)寫好makefile文件,并上機調(diào)試; (3)用變量指明兩種編譯器。四 實驗結果分析:1 在宿主機(PC)上建立用戶開發(fā)目錄,編寫嵌入式程序文件,3個C文件+2個頭文件。2 編寫Makefile文件,要求Makefile文件實現(xiàn)這5個文件的編譯,有clean 和intall 選項,用變量選擇86和arm編譯器指明CC= gcc或CC= armv4l-unknown-linux-gcc arm編

5、譯:gcc編譯:3 編譯程序,并下載到實驗箱上執(zhí)行 mount t nfs 主機ip:/開發(fā)目錄 /host。在主機里運行掛載后在目標板里運行實驗心得Makefile文件在實驗中可以修改,比如將input.o:input.c這樣重復的內(nèi)容刪掉。將重復使用的東西賦給一個變量,之后只要用$()引用這個變量即可。注意makefile里選擇gcc編譯還是用arm gcc編譯。如果是在本機上運行,則使用gcc編譯,若是掛載到開發(fā)板運行,則要用arm-unknown-linux-gcc編譯,然后像第一次實驗一樣掛載運行,就可以成功完成。實驗三 驅(qū)動程序設計一 實驗目的1學習在 LINUX 下進行驅(qū)動設計的

6、原理 2掌握使用模塊方式進行驅(qū)動開發(fā)調(diào)試的過程3了解在 linux 環(huán)境下對S3C2410 芯片的8 通道10 位A/D 的操作與控制。二 實驗設備及工具 :硬件:UP-NETARM2410-S嵌入式實驗儀、PC機pentumn500以上、硬盤40G以上、內(nèi)存大于256M。軟件:PC機操作系統(tǒng)REDHAT LINUX 9.0 、MINICOM 、AMRLINUX開發(fā)環(huán)境三 實驗內(nèi)容1在 PC 機上編寫簡單的虛擬硬件驅(qū)動程序并進行調(diào)試,實驗驅(qū)動的各個接口函數(shù)的實現(xiàn),分析并理解驅(qū)動與應用程序的交互過程。四 實驗結果分析 驅(qū)動實驗:修改makefile文件 修改驅(qū)動文件 編譯驅(qū)動,make 生成可執(zhí)

7、行文件,測試該文件 實驗心得:實驗時要將驅(qū)動程序copy出來,否則如果運行不當?shù)脑挄茐南到y(tǒng)。實驗六 嵌入式GUI一、實驗目的1. 了解在 Linux 下安裝Qt 的基本步驟;2. 學會在Qt 環(huán)境在X11 平臺下程序設計的方法;二、實驗內(nèi)容1. 在本機 Linux 下編譯和使用Qt 例程;2. 在本機環(huán)境下編譯和運行一個程序并顯示運行結果;三、預備知識1. 熟悉使用 C+語言程序設計;2. 掌握Linux 下常用編輯器的使用;3. 掌握Linux 下程序編譯;4. 熟悉Qt 程序設計;四、實驗室設備和工具硬件:UP-ARM2410CL、PC 機Pentumn500 以上, 硬盤80G 以上。

8、軟件:PC 機操作系統(tǒng)RHEL4 超級終端(或X-shell) ARM-Linux 開發(fā)環(huán)境qt-x11-opensource-src-4.4.0.tar.gz arm-linux-gcc-3.4.6-glibc-2.3.6五、實驗步驟編譯 QT-X11 環(huán)境在Trolltech 公司的網(wǎng)站上可以下載該公司所提供的Qt/Embedded 的免費版本,在安裝產(chǎn)品光盤以后,本次實驗目錄下已有要下載的文件,在/arm2410cl/gui/src 下。在做實驗前把本次實驗用到的qt-x11-opensource-src-4.4.0.tar.gz 文件拷貝到/home/sprife/qt4/for_pc

9、 目錄下。實驗具體目錄可以自行定義,拷貝庫文件:#cd /home/#mkdir sprife#cd sprife#mkdir qt4#cd qt4#mkdir for_pc#cd for_pc#cp /arm2410cl/gui/Qt/src/qt-x11-opensource-src-4.4.0.tar.gz ./Qt 本機環(huán)境的搭建需要以下幾步:#tar xzvf qt-x11-opensource-src-4.4.0.tar.gz#cd qt-x11-opensource-src-4.4.0#./configure -prefix /usr/local/Trolltech/Qt-x11

10、-4.4.0 /這里自行新建目錄Trolltech/Qt-x11-4.4.0出現(xiàn)安裝提示時選擇yes 注意大小寫#gmake#gmake install./configure 是對Qt 進行配置,它包括很多選項,例如可以通過添加“ -no-opengl”等,上面命令中的-prefix 參數(shù)指定Qt-x11 環(huán)境的安裝目錄。如果想要進一步了解可以通過鍵入 ./configure -help 來獲得更多的幫助信息。gmake 與gmake insall 命令分別是編譯與安裝QT 環(huán)境如果上面各步都能夠成功的編譯通過,下面就可以通過運行Qt/Embedded 自帶的demo來查看運行結果。#cd /

11、home/sprife/qt4/for_pc/qt-x11-opensource-src-4.4.0/examples/widgets/wiggly/#./wiggle將上面的步驟完成后,我們就已經(jīng)建立好了在本機上開發(fā)Qt 應用程序的環(huán)境,下面我們通過編寫一個“Hello”的程序來了解Qt 程序設計。Hello, Qt!我們以一個非常簡單的 Qt 程序開始Qt 的學習。我們首先一行行的分析代碼,然后我們將會看到怎樣編譯和運行這個程序。1 #include <QApplication>2 #include <QLabel>3 int main (int argc, cha

12、r *argv )4 5 QApplication app (argc, argv);6 QLabel *label = new QLabel ("Hello Qt!");7 label->show ();8 return app. exec ();9 第 1 行和第2 行包含了兩個類的定義:QApplication 和QLabel。對于每一個Qt 的類,都會有一個同名的頭文件,頭文件里包含了這個類的定義。因此,你如果在程序中使用了一個類的對象,那么在程序中就必須包括這個頭文件。第3 行是程序的入口。幾乎在使用Qt 的所有情況下,main()函數(shù)只需要在把控制權轉交給

13、Qt 庫之前執(zhí)行一些初始化,然后Qt 庫通過事件來向程序告知用戶的行為。argc 是命令行變量的數(shù)量,argv 是命令行變量的數(shù)組。這是一個C/C+特征。它不是Qt 專有的,無論如何Qt 需要處理這些變量第5 行定義了一個QApplication 對象App。QApplication 管理了各種各樣的應用程序的廣泛資源,比如默認的字體和光標。App 的創(chuàng)建需要argc 和argv 是因為Qt 支持一些自己的命令行參數(shù)。在每一個使用Qt 的應用程序中都必須使用一個QApplication 對象,并且在任何Qt 的窗口系統(tǒng)部件被使用之前創(chuàng)建此對象是必須的。App 在這里被創(chuàng)建并且處理后面的命令行變

14、量(比如在X 窗口下的-display)。請注意,所有被Qt 識別的命令行參數(shù)都會從argv 中被移除(并且argc 也因此而減少)。第6 行創(chuàng)建了一個QLabel 窗口部件(widget),用來顯示“Hello,Qt!”。在Qt 和Unix的術語中,一個窗口部件就是用戶界面中一個可見的元素,它相當于Windows 術語中的“容器”加上“控制器”。按鈕(Button)、菜單(menu)、滾動條(scroll bars)和框架(frame)都是窗口部件的例子。窗口部件可以包含其它的窗口部件。例如,一個應用程序界面通常就是一個包含了QMenuBar,一些QToolBar,一個QStatusBar

15、和其它的一些部件的窗口。絕大多數(shù)應用程序使用一個QMainWindow 或者一個QDialog 作為程序界面,但是Qt 允許任何窗口部件成為窗口。在這個例子中,QLabel 窗口部件就是作為應用程序主窗口的。第7 行使我們創(chuàng)建的QLabel 可見。當窗口部件被創(chuàng)建的時候,它總是隱藏的,必須調(diào)用show()來使它可見。通過這個特點我們可以在顯示這些窗口部件之前定制它們,這樣就不會出現(xiàn)閃爍的情況。第8 行就是main()將控制權交給Qt。在這里,程序進入了事件循環(huán)。事件循環(huán)是一種stand-by 的模式,程序會等待用戶的動作(比如按下鼠標或者是鍵盤)。用戶的動作將會產(chǎn)生程序可以做出反應的事件(也被

16、稱為“消息”)。程序?qū)@些事件的反應通常是執(zhí)行一個或幾個函數(shù)。為了簡單起見,我們沒有在main()函數(shù)的結尾處調(diào)用delete 來刪除QLabel 對象。這種內(nèi)存泄露是無害的,因為像這樣的小程序,在結束時操作系統(tǒng)將會釋放程序占用的內(nèi)存堆。下面我們來編譯這個程序。建立一個名為hello 的目錄,在目錄下建立一個名為hello.cpp 的c+源文件,將上面的代碼寫入文件中。#cd /home/sprife/#mkdir hello#vi hello.c編輯hello.c 源文件,填入上述9 行代碼編譯程序#/home/sprife/qt4/for_pc/qt-x11-opensource-src-4.4.0/bin/qmake -project#/home/sprife/qt4/for_pc/qt-x1

溫馨提示

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

評論

0/150

提交評論