




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上南 京 理 工 大 學嵌入式系統(tǒng)實驗報告姓名:學 號:學院(系):班級: 指導老師: 實驗日期: 2016年1月 專心-專注-專業(yè)實驗一:熟悉Linux 開發(fā)環(huán)境一、實驗目的 熟悉Linux開發(fā)環(huán)境,學會基于S3C2410的Linux開發(fā)環(huán)境的配置和使用。使用Linux的armv4l-unknown-linux-gcc編譯,使用基于NFS方式的下載調(diào)試,了解嵌入式開發(fā)的基本過程。二、實驗儀器 硬件:UP-NETARM2410-S嵌入式實驗平臺、PC機。 軟件:PC機操作系統(tǒng)REDHAT LINUX 9.0MINICOMARM-LINUX開發(fā)環(huán)境三、實驗內(nèi)容 本次實驗使
2、用Redhat Linux 9.0操作系統(tǒng)環(huán)境,安裝ARM-Linux的開發(fā)庫及編譯器。創(chuàng)建一個新目錄,并在其中編寫hello文件。學習在Linux下的編程和編譯過程,以及ARM開發(fā)板的使用和開發(fā)環(huán)境的設置。下載已經(jīng)編譯好的文件到目標開發(fā)板上運行。4、 實驗步驟1、建立工作目錄rootzxt smile# mkdir hellorootzxt smile# cd hello2、編寫程序源代碼實際的hello.c源代碼較簡單,如下:include <stdio.h>void main(void)printf(“hello world n”);用下面的命令來編寫“hello.c”的源代
3、碼,進入hello目錄使用vi命令來編輯代碼:rootzxt hello# vi hello.c 按“i”或者“a”進入編輯模式,錄入上面的代碼,完成后按Esc鍵進入命令狀態(tài),再用命令“:wq ”,保存并退出。這樣在當前目錄下建立了一個名為“hello.c”的文件。3、 編譯鏈接要使上面的“hello.c”程序能夠運行,將其經(jīng)過編譯和連接,生成可執(zhí)行文件。輸入 gcc hello.c -o hello 進行編譯,再輸入 ./hello 運行程序,觀察結果1。4、在之前的基礎上,進入hello文件,輸入armv4l-unknown-linux-gcc hello.c -o hello 和 cp
4、hello /arm2410s 進行交叉編譯,輸入 ifconfig eth0 192.168.0.121設置IP;輸入telnet 192.168.0.115登入開發(fā)板,輸入root開始進行掛載:mount -o nolock 192.168.0.121:/arm2410s /mnt ;再通過cd mnt找到hello文件,最后輸入./hello 運行程序,觀察結果2。5、 實驗結果觀察實驗結果1,屏幕上顯示hello world 截圖如圖1所示: 圖 1 運行程序觀察結果的輸出六、思考題1請簡述Makefile的作用,分析其工作機理與流程?makefile關系到了整個工程的編譯規(guī)則。一個工
5、程中的源文件不計數(shù),其按類型、功能、模塊分別放在若干個目錄中,makefile定義了一系列的規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進行更復雜的功能操作,因為makefile就像一個一樣,其中也可以執(zhí)行的命令。 makefile帶來的好處就是“自動化編譯”,一旦寫好,只需要一個make命令,整個工程完全自動編譯,極大的提高了軟件開發(fā)的效率2. 試簡述如何編寫和編譯可以在目標板上運行的可執(zhí)行程序?嵌入式開發(fā)是在windows下裝虛擬機,虛擬機里裝Linux,然后再與板子連,可以利用SMB在linux下創(chuàng)建文件,在windows下編輯,然后再在虛擬機里用交叉
6、編譯器編譯代碼生成可執(zhí)行文件,可執(zhí)行文件可以通過NFS方式運行,也可以做文件系統(tǒng)燒到板子上 實驗二:多線程應用程序設計一、實驗目的 了解多線程程序設計的基本原理以及學習pthread庫函數(shù)的使用。2、 實驗儀器 硬件:UP-NETARM2410-S 嵌入式實驗平臺,PC機。 軟件:PC機操作系統(tǒng)REDHAT LINUX 9.0MINICOMARM-LINUX開發(fā)環(huán)境。三、實驗內(nèi)容 熟悉幾個重要的PTHREAD庫函數(shù)的使用,掌握共享鎖和信號量的使用方法。進入/arm2410s/exp/basic/02_pthread目錄,運行make產(chǎn)生pthread程序,使用NFS方式連接開發(fā)主機進行運行實驗
7、。4、 實驗步驟1、編寫并編譯簡單的多線程示例程序2、閱讀源代及編譯應用程序進入exp/basic/02_pthread目錄,使用vi編輯器或其他編輯器閱讀理解源代碼。運行make產(chǎn)生pthread 可執(zhí)行文件。3、下載和調(diào)試切換到minicom終端窗口,使用NFS mount 開發(fā)主機的/arm2410s 到/host 目錄。進入/host/exp/basic/pthread目錄,運行pthread,觀察運行結果的正確性。5、 實驗結果實驗結果如圖2.1所示 圖 2.1 多線程實驗結果截圖實驗四: A/D 接口實驗一、實驗目的 了解在linux環(huán)境下對S3C2410芯片的8通道10位A/D的
8、操作與控制。二、實驗設備及工具 UP-NETARM2410-S嵌入式實驗平臺、PC機Pentium 500以上,硬盤10G以上。 PC機操作系統(tǒng)REDHAT LINUX 9.0MINICOMARM-LINUX 開發(fā)環(huán)境三、實驗內(nèi)容 學習A/D接口原理,了解實現(xiàn)A/D系統(tǒng)對于系統(tǒng)的軟件和硬件要求。閱讀ARM芯片文檔,掌握ARM的A/D相關寄存器的功能,熟悉ARM系統(tǒng)硬件的A/D相關接口。利用外部模擬信號編程實現(xiàn)ARM循環(huán)采集全部前4路通道,并且在超級終端上顯示。四、實驗步驟1、閱讀理解源碼進入/arm2410s/exp/basic/04_ad目錄,使用vi編輯器或其他編輯器閱讀理解源代碼。2、編
9、譯應用程序運行make 產(chǎn)生ad 可執(zhí)行文件rootzxt /# cd /arm2410s/exp/basic/04_ad/rootzxt 04_ad# makerootzxt 04_ad# lsad hardware.h main.o Makefile.bak s3c2410-adc.h bin main.c Makefile readme.txt src3、下載調(diào)試換到minicom 終端窗口,使用NFS mount 開發(fā)主機的/arm2410s 到/host 目錄。telnet 192.168.0.115root/mnt/yaffs mount -t nfs -o nolock 192.
10、168.0.56:/arm2410s /host/mnt/yaffscd ad/mnt/yaffs/adinsmod s3c2410-adc.o/mnt/yaffscd /host/exp/basic/04_ad/host/exp/basic/04_ad./ad本實驗運行結果如下圖4.1所示 圖 2.1 A/D 接口實驗運行結果六、思考題1.ARM的A/D功能的相關寄存器有哪幾個,對應的地址是什么?2.如何啟動ARM開始轉換A/D,有幾種方式?轉化開始時ARM是如何知道轉換哪些通道的?如何判斷轉換結束? 答:方式一:軟件啟動1) 定義與A/D轉換相關的寄存器2) 定義與A/D轉換相關的寄存器初
11、始化3) RADCCON=OX1 方式二:硬件啟動1) 復位A/D轉換器2) 外界用高電平觸發(fā)ADCCON0 轉換開始時知道轉換哪通道的方式,通過對ADCCON5:3的為賦值來選擇通道。實驗五:D/A 接口實驗一、實驗目的 掌握MAX504 D/A轉換芯片的使用方法 掌握不帶有D/A的CPU擴展D/A功能的主要方法 了解D/A驅動程序加入內(nèi)核的方法二、實驗儀器 硬件:UP-NETARM2410-S嵌入式實驗平臺、PC機。 軟件:PC 機操作系統(tǒng)REDHAT LINUX 9.0MINICOMARM-LINUX開發(fā)環(huán)境三、實驗內(nèi)容 了解實現(xiàn)D/A系統(tǒng)對于系統(tǒng)的軟件和硬件要求。閱讀MAX504芯片文
12、檔,掌握 其使用方法。4、 實驗步驟 1. 閱讀理解源碼進入/arm2410s/exp/basic/05_da目錄,使用vi編輯器閱讀理解源代碼。2. 編譯應用程序運行make 產(chǎn)生da 可執(zhí)行文件da_mainrootzxt /# cd /arm2410s/exp/basic/05_da/rootzxt 05_da# makerootzxt 05_da# lsda_main da_main.c da_main.o doc drivers Makefile s3c44b0-spi.h3. 下載調(diào)試切換到minicom終端窗口,使用NFS mount開發(fā)主機的/arm2410s到/host目錄,
13、然后進入/host/exp/05_da/drivers目錄,用insmod exio.o命令插入D/A驅動,并用lsmod命令查看是否已經(jīng)插入。/mnt/yaffscd /host/exp/basic/05_da/host/exp/basic/05_dacd drivers/host/exp/basic/05_da/driversinsmod exio.oUsing exio.o/host/exp/basic/05_da/driverslsmodModule Size Used by Not taintedexio 2384 0 (unused)i2c-tops2 14104 0 (unuse
14、d)進入/host/exp/basic/05_da目錄,運行./da_main,觀察運行結果的正確性。/host/exp/basic/05_da./da_main 0 15、 實驗結果通過ls查看da_main用insmod exio.o命令插入D/A驅動,并用lsmod命令查看是否已經(jīng)插入。進入/host/exp/basic/05_da目錄,運行./da_main,觀察運行結果如下圖5.1所示,電壓為1v: 圖 5.1 運行da_main 輸出結果6、 思考題1D/A 轉換器的分類。D/A 轉換器的內(nèi)部電路構成無太大差異,一般按輸出是電流還是電壓、能否作乘法運算等 進行分
15、類。大多數(shù) D/A 轉換器由電阻陣列和 n 個電流開關(或電壓開關)構成。按數(shù)字輸入 值切換開關,產(chǎn)生比例于輸入的電流(或電壓)。 l 電壓輸出型(如 TLC5620) 電壓輸出型 D/A 轉換器雖有直接從電阻陣列輸出電壓的,但一般采用內(nèi)置輸出放大器以低 阻抗輸出。直接輸出電壓的器件僅用于高阻抗負載,由于無輸出放大器部分的延遲,故常 作為高速 D/A 轉換器使用。 l 電流輸出型(如 THS5661A) 電流輸出型
16、D/A 轉換器很少直接利用電流輸出,大多外接電流電壓轉換電路得到電壓輸 出,后者有兩種方法:一是只在輸出引腳上接負載電阻而進行電流電壓轉換,二是外接 運算放大器。用負載電阻進行電流電壓轉換的方法,雖可在電流輸出引腳上出現(xiàn)電壓, 但必須在規(guī)定的輸出電壓范圍內(nèi)使用,而且由于輸出阻抗高,所以一般外接運算放大器使 用。此外,大部分 CMOS DA 轉換器當輸出電壓不為零時不能正確動作,所以必須外接運算 放大器。當外接運算放大器進行電流電壓轉換時,則電路構成基本上與內(nèi)置放大器的電壓 輸出型相同,這時由于在
17、 D/A 轉換器的電流建立時間上加入了運算放入器的延遲,使響應 變慢。此外,這種電路中運算放大器因輸出引腳的內(nèi)部電容而容易起振,有時必須作相位 補償。 l 乘算型(如 AD7533) D/A 轉換器中有使用恒定基準電壓的,也有在基準電壓輸入上加交流信號的,后者由于能 得到數(shù)字輸入和基準電壓輸入相乘的結果而輸出,因而稱為乘算型 D/A 轉換器。乘算型 D/A 轉換器一般不僅可以進行乘法運算,而且可以作為使輸入信號數(shù)字化地衰減的衰減器及對 輸入信號進行調(diào)制的調(diào)
18、制器使用。 l 一位 D/A 轉換器 一位 D/A 轉換器與前述轉換方式全然不同,它將數(shù)字值轉換為脈沖寬度調(diào)制或頻率調(diào)制的 輸出,然后用數(shù)字濾波器作平均化而得到一般的電壓輸出(又稱位流方式),用于音頻等場合。 2D/A 轉換器的主要技術指標。1)分辯率(Resolution) 指最小模擬輸出量(對應數(shù)字量僅最低位為1)與最大量(對應數(shù)字量所有有效位為1)之比。2)建立時間(Setting Time) 是將一個數(shù)字量轉換為穩(wěn)定模擬信號所需的時間,也可以以為是轉換時間。DA中常用建立時間來描述其速度,而不是AD中常用的
19、轉換速率。一般地,輸出 DA建立時間較短,輸出DA則較長。其他指標還有線性度(Linearity),轉換精度,溫度系數(shù)/漂移。3MAX504 的特點及使用方法。由單個5V電源供電電壓輸出緩沖內(nèi)部 2.048V 參考電壓INL=0.5 LSB(MAX)電壓不隨溫度變化可變的輸出范圍:0VVDD,VSSVDD 上電復位 串行輸出實驗六:直流電機實驗一、實驗目的熟悉ARM本身自帶的PWM,掌握相應寄存器的配置。Linux
20、下編程實現(xiàn)ARM系統(tǒng)的PWM輸出,從而控制直流電機。了解直流電機的工作原理,學會用軟件的方法實現(xiàn)步進電機的脈沖分配。 掌握帶有PWM的CPU編程實現(xiàn)其相應功能的主要方法。二、實驗內(nèi)容學習直流電機的工作原理,了解實現(xiàn)電機轉動對于系統(tǒng)的軟件和硬件要求。學習ARM PWM的生成方法。使用Redhat Linux 9.0 操作系統(tǒng)環(huán)境及ARM 編譯器,編譯直流電機的驅動模塊和應用程序。運行程序,實現(xiàn)直流電機的調(diào)速轉動。三、實驗設備及工具硬件:UP-NETARM2410-S 嵌入式實驗平臺、PC機。軟件:PC 機操作系統(tǒng)REDHAT LINUX 9.0MINICOMARM LINUX 開發(fā)環(huán)境。四、實驗
21、步驟1、編譯直流電機模塊cd /arm2410s/kernel-2410smake menuconfig進入Main Menu / Character devices 菜單,選擇DC MOTOR 為模塊加載:編譯內(nèi)核模塊:make depmakemake modules直流電機模塊的編譯結果為:/arm2410s/kernel-2410s/drivers/char/s3c2410-dc-motor.o2、編譯應用程序cd /arm2410s/exp/basic/10_dcmotor/make生成dcm_main3、運行程序在超級終端中,通過加載NFS 運行編譯結果(注意:首先要設定/arm24
22、10s 為NFS 共享目錄):mount t nfs o nolock 192.168.0.121:/arm2410s /hostinsmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.ocd /host/exp/basic/10_dcmotor/./dcm_main程序運行結果:直流電機變速轉動。五.實驗結果 六、思考題1簡述PWM 的基本原理,思考其基本參數(shù)的變化對電機轉動的影響。 PWM是一種對模擬信號電平進行數(shù)字編碼的方法。通過高分辨計數(shù)器的使用,方波的占空比被調(diào)制用來對一個具體模擬信號的電平進行編碼。PWM信號仍然是數(shù)字的,因為
23、在給定的任何時刻,滿幅值得=的直流供電要么完全有,要么完全無。電壓或電流源是以一種通或斷的重復脈沖序列被加到模擬負載上去的。通的時候即是直流供電被加到負載上的時候,斷的時候即是供電被斷開的時候。只要帶寬足夠,任何模擬值都可以使用PWM進行編碼。變頻器大多采用PWM調(diào)制的形式進行變頻的,也就是說變頻器輸出的電壓其實是一系列的脈沖,脈沖的寬度和間隔均不相等。其大小就取決于調(diào)制波和載波的交點,也就是開關頻率。開關頻率越高,一個周期內(nèi)脈沖的個數(shù)就越多,電流波形的平滑性就越好,但是對其他設備的干擾也越大。載波頻率越低或者設置不好,電機就會發(fā)出難聽的噪音。通過調(diào)節(jié)開關頻率可以實現(xiàn)系統(tǒng)的噪聲最小,波形的平滑性最好,同時干擾也是最小的。實驗七:步進電機實驗一、實驗目的了解直流電機和步進電機的工作原理學會Linux下用軟件的方法實現(xiàn)步進電機的脈沖分配,用軟件的方法代替硬件的脈沖分配器二、實驗內(nèi)容學習步進電機的工作原理,了解實現(xiàn)電機轉動對于系統(tǒng)的軟件和硬件要求。學習ARM 知識,要掌握I/O 的控制方法。Linux 下編程實現(xiàn)ARM 的四路I/O 通道實現(xiàn)環(huán)形脈沖分配用于控制步進電機的轉動。三、實驗設備及工具硬件:UP-NETARM2410-S 嵌入式實驗平臺、PC機。軟件:PC 機操作系統(tǒng)REDHAT LINUX 9.0MINICOMARM-LINUX開發(fā)環(huán)境。四、實驗步驟1、編譯步進電機模塊c
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買賣合同范例 日語
- 用電信息采集施工方案
- 關于承包食堂合同范例
- 剪輯師簽約合同范例
- erp借款合同范例
- 面向橋梁既有裂縫的智能監(jiān)測系統(tǒng)研究與實現(xiàn)
- 農(nóng)業(yè)公司簽約合同范例
- 光伏電價合同范例
- 中介商業(yè)租賃合同范例
- 人防設施安裝合同范例
- 2023-2024年演出經(jīng)紀人之演出經(jīng)紀實務考前沖刺模擬試卷附答案(研優(yōu)卷)
- 第16課《有為有不為 》課件-2024-2025學年統(tǒng)編版語文七年級下冊
- 2025年無錫職業(yè)技術學院高職單招職業(yè)適應性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年北京戲曲藝術職業(yè)學院高職單招數(shù)學歷年(2016-2024)頻考點試題含答案解析
- 2025年青海西寧廣播電視臺招聘20人高頻重點提升(共500題)附帶答案詳解
- 2025年內(nèi)蒙古興安盟突泉縣選聘生態(tài)護林員450人歷年高頻重點提升(共500題)附帶答案詳解
- 胸腔閉式引流護理
- 2025年興湘集團全資子公司招聘筆試參考題庫含答案解析
- 蒙醫(yī)學中的推拿暖宮療法與婦科保健技巧
- 湖北省生態(tài)環(huán)保有限公司招聘筆試沖刺題2025
- 西門子自動化培訓
評論
0/150
提交評論