嵌入式A8(S5PV210)實(shí)驗(yàn)指導(dǎo).docx_第1頁(yè)
嵌入式A8(S5PV210)實(shí)驗(yàn)指導(dǎo).docx_第2頁(yè)
嵌入式A8(S5PV210)實(shí)驗(yàn)指導(dǎo).docx_第3頁(yè)
嵌入式A8(S5PV210)實(shí)驗(yàn)指導(dǎo).docx_第4頁(yè)
嵌入式A8(S5PV210)實(shí)驗(yàn)指導(dǎo).docx_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

此文檔收集于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系網(wǎng)站刪除嵌入式A8(S5PV210)實(shí)驗(yàn)指導(dǎo) 本實(shí)驗(yàn)采用華清遠(yuǎn)見A8實(shí)驗(yàn)箱-FS210,搭載三星生產(chǎn)的ARM-A8內(nèi)核的單核處理器S5PV210。這款處理器曾用于制造三星TAB平板,性能比較強(qiáng)大。本課程實(shí)驗(yàn)旨在通過對(duì)實(shí)驗(yàn)箱的使用掌握基本的ARM-A系列芯片系統(tǒng)的嵌入式開發(fā)流程。包括四個(gè)實(shí)驗(yàn):1、 裸機(jī)開發(fā)環(huán)境及l(fā)inux操作系統(tǒng)下開發(fā)環(huán)境搭建 2、 應(yīng)用程序如何燒寫到開發(fā)板中以及如何在線調(diào)試3、 裸機(jī)下實(shí)現(xiàn)開發(fā)板與PC機(jī)的串口通信 4、帶操作系統(tǒng)下的嵌入式開發(fā)原理初識(shí) 通過四次試驗(yàn),使同學(xué)們掌握嵌入式開發(fā)流程,理解有無(wú)操作系統(tǒng)在開發(fā)嵌入式系統(tǒng)過程中的區(qū)別,為以后深入學(xué)習(xí)嵌入式打下入門基礎(chǔ)。 最后附有實(shí)驗(yàn)報(bào)告要求。實(shí)驗(yàn)1:裸機(jī)開發(fā)環(huán)境及l(fā)inux操作系統(tǒng)下開發(fā)環(huán)境搭建及Linux常用命令及vi, gdb的使用實(shí)驗(yàn)?zāi)康模海?)掌握嵌入式開發(fā)環(huán)境搭建的基本流程(2) 掌握l(shuí)inux系統(tǒng)安裝過程,熟悉基本的Linux指令操作(3) 理解交叉編譯的意義實(shí)驗(yàn)原理:嵌入式軟件開發(fā)不同于PC機(jī)的軟件開發(fā),由于不同硬件平臺(tái)的指令系統(tǒng)不同,要想在個(gè)人計(jì)算機(jī)上編寫嵌入式軟件和程序就需要使用對(duì)應(yīng)的嵌入式平臺(tái)的開發(fā)環(huán)境,比如大家學(xué)過的51單片機(jī),用的KEIL(keil-C51)軟件就是針對(duì)51內(nèi)核平臺(tái)下的集成開發(fā)環(huán)境,keil-C51軟件中集成了代碼編寫、交叉編譯、鏈接、程序燒寫、仿真等最主要功能,從而使51單片機(jī)軟件開發(fā)者在一個(gè)軟件中實(shí)現(xiàn)了整個(gè)的程序開發(fā)流程,方便快捷。同理,ARM內(nèi)核平臺(tái)也有其相應(yīng)的開發(fā)平臺(tái),包括IAR,KEIL FOR ARM這兩個(gè)著名軟件,這兩個(gè)軟件在開發(fā)不帶操作系統(tǒng)以及帶有小型嵌入式操作系統(tǒng)(如uCos,RT-thread,Vx-works等)的產(chǎn)品時(shí)非常方便,但在開發(fā)如linux、安卓系統(tǒng)的產(chǎn)品時(shí)力不能及。因此需要用到更通用些的開發(fā)環(huán)境,如eclipse、PC-linux系統(tǒng)。Eclipse是一個(gè)開源的軟件工程文件管理界面,當(dāng)它的底層安裝了不同的編譯、仿真等工具后,就可以用來開發(fā)不同平臺(tái)的軟件,如安卓APP,F(xiàn)PGA軟核代碼,當(dāng)然也包括ARM軟件。當(dāng)需要開發(fā)帶有l(wèi)inux內(nèi)核的大型嵌入式系統(tǒng)時(shí),通常要在linux操作系統(tǒng)下進(jìn)行,因此安裝linux操作系統(tǒng)是開發(fā)嵌入式高端產(chǎn)品的必由之路,linux的使用流程能夠幫助你更好理解嵌入式開發(fā)的每個(gè)環(huán)節(jié)。實(shí)驗(yàn)儀器及資料:1個(gè)人電腦(建議安裝winXP或win7-32b,更高版本系統(tǒng)可能導(dǎo)致驅(qū)動(dòng)安裝失?。? FS210試驗(yàn)箱3 FS210試驗(yàn)箱配套資料(12G) (資料下載地址:/s/1gewoJAz)實(shí)驗(yàn)內(nèi)容及步驟:1、 裸機(jī)開發(fā)環(huán)境搭建(這一大步驟需要在實(shí)驗(yàn)課上完成,第二步可以回去自己做)下面為win7-32b系統(tǒng)下軟件安裝流程,以后的實(shí)驗(yàn)都使用win7-32位系統(tǒng)進(jìn)行,使用其他系統(tǒng)的同學(xué)請(qǐng)參照實(shí)驗(yàn)箱配套書籍進(jìn)行操作。此實(shí)驗(yàn)手冊(cè)不做介紹。把下載的實(shí)驗(yàn)箱資料解壓(假設(shè)解壓在桌面上)后:(1) 安裝GCC編譯器和Yagarto工具包(圈住的兩個(gè)都裝,安裝位置隨意):(已經(jīng)安裝)(2) 安裝FS-JTAG調(diào)試軟件(安裝位置隨意):(已經(jīng)安裝)(3)安裝FS-JTAG驅(qū)動(dòng): 如圖所示用USB線連接JTAG仿真器和電腦-右鍵-管理-設(shè)備管理器,如圖會(huì)出現(xiàn)兩個(gè)帶黃色嘆號(hào)的設(shè)備(下圖中的兩個(gè)未知設(shè)備不必管它,只關(guān)心那兩個(gè)“USBJTAG&RS232”即可)鼠標(biāo)放在“USBJTAG&RS232”上-右鍵-更新驅(qū)動(dòng)程序軟件,如圖選擇第二項(xiàng):瀏覽選擇驅(qū)動(dòng)位置并點(diǎn)擊下一步,安裝完成注意:在win764位以及更高版本系統(tǒng)中會(huì)出現(xiàn)提示“驅(qū)動(dòng)數(shù)字簽名不可用”或者“哈希值不可用“的問題,而且有的電腦可以解決,有的不能解決,同學(xué)們自行百度。重復(fù)第三步和第四步,直到使設(shè)備管理器里面沒有帶嘆號(hào)的設(shè)備(一共三次)(4) 安裝JRE(5) 安裝串口線驅(qū)動(dòng)如圖所示鏈接串口線打開設(shè)備管理器按照“(3)安裝JTAG驅(qū)動(dòng)”方法安裝串口驅(qū)動(dòng)(6) 解壓Eclipse,并打開自行在D盤新建一個(gè)Eclipse文件夾,并把上圖壓縮包解壓至Eclipse文件夾中下圖是D盤下解壓的eclipse,將其發(fā)送到桌面,留待以后使用雙擊打開eclipse,設(shè)定工作路徑(即以后你用eclipse新建的軟件工程的默認(rèn)保存位置),點(diǎn)擊Workbench。如下圖:至此,可用于開發(fā)ARM裸機(jī)程序的開發(fā)環(huán)境搭建完成。二、操作系統(tǒng)開發(fā)環(huán)境搭建(這一步可以回宿舍自己做,實(shí)驗(yàn)室電腦已經(jīng)安裝好,只需要在做第四個(gè)實(shí)驗(yàn)之前完成這一步驟就可以了,建議做完第二個(gè)實(shí)驗(yàn)之后做這一步)(1)環(huán)境搭建前的準(zhǔn)備檢查主機(jī)配置檢查自己的電腦是否支持虛擬化技術(shù)(只有支持虛擬化技術(shù)的CPU才能運(yùn)行虛擬機(jī)軟件)如果顯示有下圖紅圈中的VT-x,則表示支持虛擬化技術(shù)如果支持就繼續(xù)實(shí)驗(yàn),不支持的話,實(shí)驗(yàn)一下面的步驟和實(shí)驗(yàn)四沒法做 繼續(xù),打開計(jì)算機(jī)的虛擬化功能:關(guān)機(jī)重啟計(jì)算機(jī),重啟時(shí)按下F2按鍵進(jìn)入下圖狀態(tài),按照下圖操作準(zhǔn)備工作完成,下面進(jìn)入環(huán)境搭建流程(2)環(huán)境搭建與初級(jí)設(shè)置安裝VMware Player,雙擊下圖程序安裝解壓Ubuntu系統(tǒng)鏡像到D盤新建文件夾中(其他磁盤也可以) 解壓后在D盤中:打開虛擬機(jī),進(jìn)行初級(jí)配置編輯虛擬機(jī)設(shè)置分別修改各項(xiàng)配置參數(shù)1、內(nèi)存。2、處理器。3、網(wǎng)絡(luò)適配器。4、共享目錄 虛擬機(jī)內(nèi)存分配大小根據(jù)自己的電腦配置修改,如果是2G內(nèi)存,則分配約1G即可,如果大于等于4G內(nèi)存,則分配大于1G即可。本機(jī)內(nèi)存4G,如下圖分配1.5G給虛擬機(jī)。 查看處理器的配置:計(jì)算機(jī)-右鍵-屬性可以看到,我的計(jì)算機(jī)為雙核四線程(看不懂的可以用魯大師查看)我的計(jì)算機(jī)為雙核,每個(gè)核心為雙線程。因此設(shè)置如下(下圖中所謂核心數(shù)量=內(nèi)核數(shù)x每個(gè)內(nèi)核的線程數(shù)) 網(wǎng)絡(luò)適配器為橋接模式: 上圖橋接到了有線網(wǎng)卡上,因?yàn)槲覀兒竺嬉糜芯€網(wǎng)卡往開發(fā)板燒寫程序至于無(wú)線網(wǎng)卡,需要取消掉對(duì)它的橋接共享目錄添加:添加-下一步-瀏覽-下一步-完成 初級(jí)配置完成打開虛擬機(jī) 密碼為1,回車 打開了! 如何關(guān)閉!到現(xiàn)在為止,linux開發(fā)環(huán)境的配置還沒有結(jié)束,但是第二個(gè)和第三個(gè)實(shí)驗(yàn)的開發(fā)環(huán)境早已經(jīng)可以使用了。至于linux下的開發(fā)環(huán)境搭建還差一點(diǎn)點(diǎn),留在第四個(gè)實(shí)驗(yàn)時(shí)接著介紹!(三)Linux常用命令及vi, gdb的使用一、常用命令使用介紹1ls 命令-ls以默認(rèn)方式顯示當(dāng)前目錄文件列表lsa顯示所有文件包括隱藏文件lsl顯示文件屬性,包括大小,日期,符號(hào)連接,是否可讀寫及是否可執(zhí)行-2.cd 命令cddir切換到當(dāng)前目錄下的 dir 目錄cd.切換到到上一級(jí)目錄cd切換到用戶目錄,比如是 root 用戶,則切換到/root 下-3rm 命令rmfile刪除某一個(gè)文件rm-rf dir刪除當(dāng)前目錄下叫 dir 的整個(gè)目錄-4.cp 命令cpsourcetarget將文件 source 復(fù)制為 targetcpav soure_dir target_dir將整個(gè)目錄復(fù)制,兩目錄完全一樣cpfr source_dir target_dir將整個(gè)目錄復(fù)制,并且是以非鏈接方式復(fù)制,當(dāng) source 目錄帶有符號(hào)鏈接時(shí),兩個(gè)目錄不相同-5.mv 命令mv source target將文件或者目錄 source 更名為 target-6.diff 命令diff-ruNdir1 dir2 比較目錄 1 與目錄 2 中的文件-7.echo 命令echomessage顯示一串字符-8.cat命令catfile顯示文件的內(nèi)容,和 DOS 的 type 相同catfile | more顯示文件的內(nèi)容并傳輸?shù)?more 程序?qū)崿F(xiàn)分頁(yè)顯示,使用命令 less file可實(shí)現(xiàn)相同的功能more分頁(yè)命令,一般通過管道將內(nèi)容傳給它,如 ls | more-9.du 命令du計(jì)算當(dāng)前目錄的容量du -sm /root計(jì)算/root 目錄的容量并以 M 為單位-10.find 命令find-name file 在/path 目錄下查找看是否有文件 file-11.grep 命令grep -r “chars” ./在當(dāng)前目錄的所有文件查找字串 chars -r 表示遞歸查找子目錄-12.vi 的使用vi file編輯文件 filevi 原基本使用及命令:vi 分為編輯狀態(tài)和命令狀態(tài)。輸入命令要先按 ESC,退出編輯狀態(tài), 然后輸入命令。常用命令有::x(退出) :x!(退出不保存) :w(保存文件):w!(不詢問方式寫入文件) :r file(讀文件 file):%s/oldchars/newchars/g(將所有字串 oldchars 換成 newchars) i 進(jìn)入編輯插入狀態(tài)ESC 退出編輯狀態(tài)-13.man 命令manls讀取關(guān)于 ls 命令的幫助-14.啟動(dòng)關(guān)閉計(jì)算機(jī)命令reboot重新啟動(dòng)計(jì)算機(jī)halt關(guān)閉計(jì)算機(jī)init 0關(guān)閉所有應(yīng)用程序和服務(wù),進(jìn)入純凈的操作環(huán)境init 1重新啟動(dòng)應(yīng)用及服務(wù)init 6重新啟動(dòng)計(jì)算機(jī)-15.tar命令tar-xfzvfile.tgz將文件 file.tgz 解壓tar-zcvffile.tgz 將文件或目錄壓縮為 file.tgzgzipdirectory.tar將覆蓋原文件生成壓縮的 directory.tar.gzgunzipdirectory.tar.gz覆蓋原文件解壓生成不壓縮的 directory.tar。-16dmesg,uname 命令dmesg顯示 kernle 啟動(dòng)及驅(qū)動(dòng)裝載信息uname-a顯示操作系統(tǒng)的類型-17.string 命令stringfile 顯示 file 文件中的 ASCII 字符內(nèi)容-18rpm 命令rpm-ihvprogram.rpm安裝程序 program 并顯示安裝進(jìn)程-19.文件目錄管理命令suroot切換到超級(jí)用戶chmoda+xfile將 file 文件設(shè)置為可執(zhí)行,腳本類文件一定要這樣設(shè)置一個(gè),否則得用 bashfile 才能執(zhí)行chmod666file將文件 file 設(shè)置為可讀寫chownuser/dir將/dir 目錄設(shè)置為 user 所有-20mknod命令mknod/dev/hda1b31創(chuàng)建塊設(shè)備 hda1,主設(shè)備號(hào)為 3,從設(shè)備號(hào)為 1,即 master 硬盤的第一個(gè)分區(qū)Mknod /dev/tty1 c 4 1創(chuàng)建字符設(shè)備 tty1,主設(shè)備號(hào)為 4,眾設(shè)備號(hào)為 1,即第一個(gè) tty 終端-Touch /tmp/running在/tmp 下創(chuàng)建一個(gè)臨時(shí)文件 running,重新啟動(dòng)后消失-21.磁盤管理的命令fdisk/dev/hda就像執(zhí)行了 dos 的 fdisk 一樣mount -text2/dev/hda1 /mnt 把/dev/hda1 裝載到 /mnt 目錄df顯示文件系統(tǒng)裝載的相關(guān)信息mount -t nfs :/sharedir /mnt 將 nfs 服務(wù)的共享目錄 sharedir 加載到/mnt/nfs 目錄umount /mnt將/mnt 目錄卸載,/mnt 目錄必須處于空閑狀態(tài)sync刷新緩沖區(qū),使內(nèi)容與磁盤同步,mkfs.ext2/dev/hda1格式化/dev/hda1 為 ext2 格式ddif=/dev/zero of=root.ram bs=1024,count=1024 生成一個(gè)大小為 1M 的塊設(shè)備,可以把它當(dāng)作硬盤的一個(gè)分區(qū)來用22程序開發(fā)有關(guān)命令gcc hello.c -o hello 將 hello.c 編譯成名為 hello 的二進(jìn)制執(zhí)行文件ldd program 顯示程序所使用了哪些庫(kù)23系統(tǒng)有關(guān)命令ps 顯示當(dāng)前系統(tǒng)進(jìn)程信息ps ef 顯示系統(tǒng)所有進(jìn)程信息kill -9 500 將進(jìn)程編號(hào)為 500 的程序殺死top 顯示系統(tǒng)進(jìn)程的活動(dòng)情況,按占 CPU 資源百分比來分free 顯示系統(tǒng)內(nèi)存及 swap 使用情況time program 在 program 程序結(jié)束后,將計(jì)算出 program 運(yùn)行所使用的時(shí)間網(wǎng)絡(luò)命令I(lǐng)fconfig -a eth0 捆綁網(wǎng)卡 1 的 IP 地址為 -24、登錄網(wǎng)絡(luò)服務(wù)器telnet 登陸 IP 為 的 telnet 服務(wù)器ftp 登陸到 ftp 服務(wù)器實(shí)驗(yàn)思考Linux 下命令有哪幾種可使用的通配符?分別代表什么含義?實(shí)驗(yàn)2 燒寫應(yīng)用程序到開發(fā)板中以及在線調(diào)試實(shí)驗(yàn)?zāi)康模赫莆杖绾伟炎约壕帉懞玫能浖螺d到開發(fā)板上實(shí)驗(yàn)原理: PC機(jī)通過JTAG工具把開發(fā)者編譯好的可執(zhí)行文件下載到開發(fā)板中,有的時(shí)下載到芯片內(nèi)部的flash中,以后芯片上電后就會(huì)自動(dòng)執(zhí)行flash中的代碼。也有的芯片內(nèi)部沒有flash,而是把可執(zhí)行文件燒到開發(fā)板上的flash中,大型程序往往存儲(chǔ)在外部磁盤,比如個(gè)人電腦里有一個(gè)ROM用于開機(jī)時(shí)的初始化工作,之后調(diào)用了C盤里的windows操作系統(tǒng),嵌入式平臺(tái)可以外接SD卡,MMC等,他們都可以存儲(chǔ)程序。本試驗(yàn)把一個(gè)已經(jīng)編譯好的軟件燒寫到開發(fā)板的RAM中,這個(gè)程序只有幾KB,不會(huì)引導(dǎo)外部存儲(chǔ)中的其他可執(zhí)行文件。把程序燒寫到RAM中是一種快捷的調(diào)試手段,這樣可以在不修改flash中的引導(dǎo)程序的前提下,在線調(diào)試程序,當(dāng)斷開仿真器后,開發(fā)板會(huì)重新復(fù)位,RAM中的程序被清除,重新加載flash中的程序。通過對(duì)一個(gè)現(xiàn)有的點(diǎn)亮LED燈的程序,使大家掌握eclipse軟件的使用流程。實(shí)驗(yàn)儀器及資料:1個(gè)人電腦(建議安裝winXP或win7-32b,更高版本系統(tǒng)可能導(dǎo)致安裝失?。? FS210試驗(yàn)箱3 FS210試驗(yàn)箱配套資料(12G)實(shí)驗(yàn)內(nèi)容及步驟:(1) 準(zhǔn)備工作: 關(guān)閉電源的情況下,開發(fā)板上的撥碼開關(guān)需要撥到如圖狀態(tài)(1000),這是一個(gè)用于開機(jī)啟動(dòng)配置的開關(guān),撥到不同位置,啟動(dòng)的系統(tǒng)來自不同的存儲(chǔ)器。連接開發(fā)板與電腦,如下圖使用串口終端調(diào)試軟件Putty。 (把這個(gè)軟件復(fù)制到桌面,因?yàn)橐院髮?shí)驗(yàn)多次用到)查看自己電腦的串口號(hào),如圖,本機(jī)CH340的串口為COM5,(至于COM7,它是FS-JTAG上面的串口,暫時(shí)不必管它)配置Putty并使用把剛才查看到的串口號(hào)填寫到Putty的文本框中打開串口打開后如圖以后再次使用putty只需如圖設(shè)置打開開發(fā)板電源,此時(shí)Putty顯示下圖內(nèi)容,立刻按下空格鍵。打開FS-JTAG調(diào)試工具 出現(xiàn)下圖現(xiàn)象:出現(xiàn)ERROR屬于正常情況,此時(shí)不要關(guān)閉putty和FS-JTAG軟件準(zhǔn)備工作到此完成,以上工作在以后的實(shí)驗(yàn)中也要提前用到,目的就是要使開發(fā)板進(jìn)入步驟的狀態(tài),下面開始進(jìn)行程序燒寫實(shí)驗(yàn)(2)程序仿真打開eclipse,導(dǎo)入一個(gè)已有的工程:右鍵點(diǎn)擊Project Explorer-Import選擇Exsiting project-next瀏覽并打開一個(gè)LED工程的根目錄 這個(gè)工程目錄如下:工程打開后界面如圖,雙擊打開led.c文件編譯工程:project-build all仿真配置:run-debug configeration-Zylin.(native)-右鍵-newbrowse-OK-Browse上圖第三小步打開led.elf文件配置debugger選項(xiàng)卡 其中上圖第二小步選擇打開下圖所示(打開之前安裝yagarto編譯器的安裝位置): 其中上圖第三小步選擇打開下圖所示:配置好仿真命令后開始仿真仿真時(shí)界面如下,按下圖標(biāo)記的1小步開始運(yùn)行仿真 此時(shí)看到開發(fā)板上led燈閃爍: 按中的2小步仿真暫停,led停止閃爍查看此時(shí)開發(fā)板上的寄存器以及變量的值(暫停狀態(tài)下) 由于在main函數(shù)中定義了一個(gè)變量i,所以在右上角的查看窗口的Variables選項(xiàng)卡中有一個(gè)“(x)=i 551556”,代表i當(dāng)前值為551556.同理點(diǎn)擊Registers選項(xiàng)卡,可以查看CPU寄存器中的數(shù)值。結(jié)束仿真:按照下圖步驟工程名-右鍵-close project,然后關(guān)閉eclipse實(shí)驗(yàn)結(jié)束!思考題:1.注釋main函數(shù)的每一條語(yǔ)句的大致意思?可以打印出來粘貼在實(shí)驗(yàn)報(bào)告上2.工程文件中有一個(gè)start.s文件,它的作用是什么?實(shí)驗(yàn)3 裸機(jī)下實(shí)現(xiàn)開發(fā)板與PC機(jī)的串口通信實(shí)驗(yàn)?zāi)康模?.理解一個(gè)嵌入式硬件開發(fā)板上兩個(gè)不同的芯片之間如何通信2.掌握串口通信概念,理解串口通信對(duì)于嵌入式開發(fā)的作用實(shí)驗(yàn)原理:在實(shí)際應(yīng)用中串行通信比并行通信應(yīng)用廣泛的多,wifi,藍(lán)牙,以太網(wǎng),光線都是采用串行通信。本次試驗(yàn)講解一種最簡(jiǎn)單的串行通信-UART.這個(gè)串口每次發(fā)送一個(gè)字節(jié)的數(shù)據(jù),波特率可選為115200bps、9600bps等不同速度,和51單片機(jī)的串口相比,其通信協(xié)議相同,只是ARM中的串口功能更強(qiáng)大一點(diǎn)。串口與整個(gè)開發(fā)板之間的關(guān)系如圖:開發(fā)板USOCUART并行MAX3232PCCOREUart是芯片上的一個(gè)外設(shè),芯片內(nèi)核通過并行(IO映射統(tǒng)一編址)方式把數(shù)據(jù)發(fā)給UART,然后串口自動(dòng)以串行方式發(fā)出,接受過程類似。途中用到MAX3232芯片,這是一個(gè)把UART使用的TTL電平轉(zhuǎn)換為RS232電平,從而提高傳輸線抗干擾能力。PC機(jī)通過USB轉(zhuǎn)串口驅(qū)動(dòng)把數(shù)據(jù)接收過來。實(shí)驗(yàn)儀器及資料:1個(gè)人電腦(建議安裝winXP或win7-32b,更高版本系統(tǒng)可能導(dǎo)致安裝失敗)2 FS210試驗(yàn)箱3 FS210試驗(yàn)箱配套資料(12G)實(shí)驗(yàn)內(nèi)容及步驟:導(dǎo)入一個(gè)已有工程 09-uart安裝一個(gè)新的串口調(diào)試助手: 百度下載并安裝 準(zhǔn)備工作:(完全按照實(shí)驗(yàn)二的準(zhǔn)備工作進(jìn)行即可) 完成上一步后,可以關(guān)閉putty軟件了,因?yàn)閜utty和上面新下載的串口助手無(wú)法同時(shí)運(yùn)行打開新下載安裝的Spu串口助手并打開串口 所需要配置的串口號(hào)是putty軟件所驅(qū)動(dòng)的同一個(gè)串口-COM5,這就是putty和Spu無(wú)法同時(shí)運(yùn)行的原因(兩個(gè)軟件不可同時(shí)驅(qū)動(dòng)同一個(gè)外設(shè)工作)程序仿真:按照實(shí)驗(yàn)二中程序仿真的步驟進(jìn)行操作(無(wú)非是換了個(gè)工程而已)實(shí)驗(yàn)現(xiàn)象:此時(shí)接收到三行字符串,數(shù)據(jù)量體現(xiàn)在最下方“Rx:52 Bytes”此時(shí)還沒有通過電腦給開發(fā)板發(fā)送數(shù)據(jù),所以顯示“Tx:0 Bytes”通過電腦發(fā)送數(shù)據(jù)“Teacher Chen-學(xué)號(hào)110”: 可以看到接收框中多出了自己發(fā)送的一行,但是事實(shí)上多出的一行是從開發(fā)板發(fā)送過來的,不是自己打在上面的。 因?yàn)樽钕旅骘@示“Rx:73 Bytes”和“Tx:21 Bytes”?!癟eacher Chen-學(xué)號(hào)110”這段字符剛好占21字節(jié),所以會(huì)顯示發(fā)送了21字節(jié),同時(shí)又接收了新的21個(gè)字節(jié),導(dǎo)致接收了52+21=73字節(jié)。實(shí)驗(yàn)完成!注意:第四次試驗(yàn)中第一部分要求自己回去完成,請(qǐng)同學(xué)在第四次實(shí)驗(yàn)開始之前完成好。思考練習(xí):1.修改程序代碼,使你通過電腦發(fā)出的數(shù)據(jù)和接受的數(shù)據(jù)不一樣,實(shí)現(xiàn)發(fā)送一個(gè)字符大寫A,接收小寫a。把實(shí)驗(yàn)結(jié)果和修改后的程序代碼打印粘貼在實(shí)驗(yàn)報(bào)告上。2.在C語(yǔ)言中我們學(xué)過,printf()函數(shù)是用來在電腦屏幕上顯示格式化字符的,但是本實(shí)驗(yàn)中卻是在ARM開發(fā)板上用來通過串口發(fā)送了一段字符串,這是什么原理?(自行百度)實(shí)驗(yàn)4 帶操作系統(tǒng)下的嵌入式開發(fā)原理初識(shí)實(shí)驗(yàn)?zāi)康模?掌握在有操作系統(tǒng)下,如何開發(fā)嵌入式應(yīng)用程序2理解有沒有操作系統(tǒng)時(shí)嵌入式開發(fā)有什么區(qū)別3理解有沒有操作系統(tǒng)時(shí)嵌入式系統(tǒng)的使用有什么區(qū)別實(shí)驗(yàn)原理:嵌入式系統(tǒng)總體上是由硬件和軟件組成的,硬件是基礎(chǔ),軟件是核心與靈魂。它們之間的關(guān)系如圖: 應(yīng)用軟件 嵌入式操作系統(tǒng) 硬件設(shè)備 外圍設(shè)備 處理器實(shí)驗(yàn)儀器及資料:1個(gè)人電腦(建議安裝winXP或win7-32b,更高版本系統(tǒng)可能導(dǎo)致安裝失?。? FS210試驗(yàn)箱3 FS210試驗(yàn)箱配套資料(12G)實(shí)驗(yàn)內(nèi)容及步驟:1、 完成實(shí)驗(yàn)一未完成的環(huán)境搭建配置(去實(shí)驗(yàn)室做第四次實(shí)驗(yàn)之前要完成,否則時(shí)間不夠)(1)tftp配置打開終端輸入“cd /tftpboot”回車輸入“l(fā)s”回車輸入“cat test”回車,結(jié)果如圖,輸入“cd ”回車,再輸入“tftp ”回車,再輸入“get test”回車,結(jié)果如圖輸入“q”回車,再輸入“l(fā)s”回車,再輸入“cat test”回車,結(jié)果如圖 如此表明tftp服務(wù)建立成功(2) 配置NFS網(wǎng)絡(luò)文件系統(tǒng) 所謂NFS是指開發(fā)板通過NFS掛載放在主機(jī)PC上的根文件系統(tǒng)。這樣的話主機(jī)在文件系統(tǒng)進(jìn)行的操作就可以同步反映到開發(fā)板上;開發(fā)板上進(jìn)行的操作也會(huì)同步反映到主機(jī)的根文件系統(tǒng)上。因此,在實(shí)際的高端嵌入式開發(fā)中,經(jīng)常使用NFS方式掛在系統(tǒng),這樣可以非常方便進(jìn)行網(wǎng)絡(luò)調(diào)試。具體使用方法如下打開終端,輸入“sudo vim /etc/exports”回車,會(huì)看到要求輸入密碼,密碼為“1”,回車,結(jié)果如圖 NFS允許掛載的目錄及權(quán)限在文件/etc/exports中,第一步就是用vim打開了這樣的文件。Vim是linux操作系統(tǒng)的一種文件編輯器,類似于windows系統(tǒng)里面的記事本這樣的小軟件,只是使用上有點(diǎn)麻煩。下圖便是vim打開了/etc/exports文件之后的界面,很像cmd命令??梢钥吹缴蠄D第12行的一串字符 其中/source/rootfs是要共享的目錄,*代表允許所有的網(wǎng)絡(luò)段訪問,rw代表可讀可寫權(quán)限,sync是指資料要同步寫入內(nèi)存和硬盤,no_root_squash是NFS客戶端分享目錄使用者的權(quán)限。 其實(shí)本來第12行是需要同學(xué)們來輸入進(jìn)去的,但是在制作虛擬機(jī)鏡像時(shí)已經(jīng)操作過了,所以你們不用修改它。在小寫狀態(tài)下打字“:q”回車,就可以退出vim編輯界面重啟NFS服務(wù):在終端輸入”sudo /etc/init.d/nfs-kernel-server restart”回車,結(jié)果如圖 上圖有一句帶有一個(gè)fail,在是不管他(3)配置開發(fā)環(huán)境網(wǎng)絡(luò) 我們之前的NFS配置是為了通過有線網(wǎng)卡對(duì)開發(fā)板進(jìn)行調(diào)試,而這一步就是為了配置有線網(wǎng)卡,具體步驟如下:打開終端,輸入“sudo vim /etc/network/interfaces”,回車,輸入密碼“1”回車,結(jié)果如圖所示本次也是用到了,vim文件編輯器,還是不需要編輯他,已經(jīng)編輯好了。而且電腦和開發(fā)板是通過網(wǎng)線直接相連,不需要做過多的網(wǎng)絡(luò)配置。把上圖用手機(jī)拍下來記住就可以了,然后在鍵盤上打字“:q”回車就可以已退出vim。終端下輸入“sudo /etc/init.d/networking restart”回車,彈出信息如下 上圖表明網(wǎng)絡(luò)配置沒有問題了查看網(wǎng)絡(luò)配置:終端里面輸入“ifconfig”回車,結(jié)果如圖 至此,網(wǎng)卡配置成功了(4)配置交叉工具鏈 交叉工具是在個(gè)人電腦上開發(fā)嵌入式系統(tǒng)所使用的一系列軟件工具,交叉編譯器,交叉連接器,交叉調(diào)試器等都屬于交叉工具,交叉工具鏈?zhǔn)侵赴堰@些針對(duì)ARM-A8的交叉工具集成在一起從而開發(fā)特定的嵌入式系統(tǒng)。因此當(dāng)然你把51單片機(jī)的編譯器和ARM的鏈接器組合在一起形成工具連是沒法使用的。具體操作如下:打開終端輸入“cd /usr/local/toolchain/”回車,再輸入“l(fā)s”回車,如圖輸入“vim /.bashrc”回車,進(jìn)入vim編輯界面,(這次要使用vim編輯器了),鼠標(biāo)滾動(dòng)至最下面,如圖把光標(biāo)放到第107行-小寫狀態(tài)下按一下字母“o”-按一下esc-再按一下“o”,結(jié)果多出兩行:108和109,如圖此時(shí)輸入“export PATH=$PATH:/usr/local/toolchain/toolchain-4.4.6/bin/”,按一下esc結(jié)束輸入(如果輸入錯(cuò)誤,可以把光標(biāo)移動(dòng)到錯(cuò)誤處按一下字母“R”然后就可以打字替換錯(cuò)誤的字符了,也是按一下esc按鍵退出修改)結(jié)果如下圖打字“:wq”回車,就退出編輯了(其中“:”表示命令狀態(tài),“w”表示保存修改,“q“表示退出vim編輯器)重啟配置:在終端下輸入“source /.bashrc”回車,如圖工具連測(cè)試:輸入“arm-cortex_a8-linux-gnueabi-gcc -v”回車,結(jié)果如圖 出現(xiàn)上圖所示(注意倒數(shù)第二行版本號(hào)為4.4.6),表示交叉工具鏈已經(jīng)配置好了二、開始實(shí)驗(yàn)四,操作系統(tǒng)下的各種文件編譯與下載(第四次實(shí)驗(yàn)課上進(jìn)行)(1)拷貝文件把下圖所示資料路徑中的全部文件拷貝到之前第一個(gè)實(shí)驗(yàn)時(shí)我們建立的共享文件夾中(2)把共享目錄中需要下載的文件拷貝到tftp下載目錄中拷貝u-boot.bin,zImage文件到虛擬機(jī)下的/tftpboot目錄下 :在中端輸入“cp /mnt/hgfs/VM_ENJ/u-boot.bin /mnt/hgfs/VM_ENJ/zImage /tftpboot/”回車注意:上面的命令中紅色的是我的共享目錄名,請(qǐng)根據(jù)自己的共享目錄名來輸入,不要全盤照抄繼續(xù)輸入“l(fā)s /tftpboot/”回車,結(jié)果如圖解壓文件系統(tǒng),拷貝rootfs.tar.bz2文件到虛擬機(jī)ubuntu下的/source目錄下:輸入“cp /mnt/hgfs/VM_ENJ/rootfs.tar.bz2 /source/”回車?yán)^續(xù)輸入“l(fā)s /source/”回車?yán)^續(xù)輸入“cd /source”回車?yán)^續(xù)輸入“l(fā)s”回車,結(jié)果如下兩圖解壓:輸入“tar xvf rootfs.tar.bz2”回車,結(jié)果如圖 結(jié)果彈出很多行內(nèi)容,圖中最后幾行大致如此,說明解壓成功(3)開始使用開發(fā)版連接開發(fā)板,如圖所示連接(用到了串口線,網(wǎng)線,電源),此時(shí)開發(fā)板暫不上電打開串口調(diào)試助手(打開方式如同實(shí)驗(yàn)二方法,這里不再贅述)開發(fā)板上撥碼開關(guān)撥到1000,打開電源,在putty倒計(jì)時(shí)到0之前按下任意鍵,停留在如下圖所示狀態(tài)修改開發(fā)板環(huán)境變量(通過putty)a.在putty中輸入“setenv serverip 92”回車 (上面的IP地址就是之前讓你們手機(jī)拍照記住的IP,這是主機(jī)的IP,也就是ubuntu里的IP)b.繼續(xù)輸入“setenv ipaddr 91”回車 (這是設(shè)定開發(fā)板的IP,原則上IP的最后一位是任意的,但不能和主機(jī)IP沖突)c.繼續(xù)輸入“saveenv ”回車,最后如圖所示查看修改后的環(huán)境變量:輸入“print”回車,如圖使用ping命令一下主機(jī):輸入“ping 92”回車,如圖 (ping命令的作用是與某IP地址的主機(jī)進(jìn)行連接,這句話的意思其實(shí)是讓開發(fā)板去ping一下主機(jī),而不是主機(jī)通過putty串口ping開發(fā)板。當(dāng)然最后開發(fā)板ping來的結(jié)果還是通過putty顯示到電腦上) 上圖倒數(shù)第二行顯示host 92 is alive,表示ping通了。 (其實(shí)在windows中也有類似的ping功能,在cmd環(huán)境中,隨便ping一個(gè)也可以收到數(shù)據(jù))(4)燒寫uboot在putty中輸入“tftp 20008000 u-boot.bin”回車?yán)^續(xù)輸入“nand erase 0 100000”回車?yán)^續(xù)輸入“nand write 20008000 0 100000”回車 (注意上面三步不要少了0,或者空格),結(jié)果如圖重啟開發(fā)板:開關(guān)關(guān)上再打開,如圖(5)設(shè)置環(huán)境變量依次輸入下面的內(nèi)容“setenv serverip 92”回車“setenv ipaddr 91”回車“setenv gatewayip ”回車“setenv bootcmd tftp 20008000 zImage; go 20008000”回車“setenv bootargs root=nfs nfsroot=92:/source/rootfs ip=91 init=/linuxrc.console=ttySAC0,115200”回車“saveenv”回車,結(jié)果如圖再次重啟開發(fā)板:開關(guān)關(guān)上再打開,(注意這次也會(huì)出現(xiàn)倒計(jì)時(shí),但是不要按下任何按鍵),結(jié)果如圖此時(shí)還沒有boot完成,請(qǐng)等待一段時(shí)間最后彈出如下內(nèi)容,表示開發(fā)板已經(jīng)通過網(wǎng)線把PC機(jī)的文件加載完成(6)制作SD卡啟動(dòng)盤把下圖路徑的文件夾拷貝到共享目錄下在ubuntu終端里輸入“cd ”回車 繼續(xù)輸入“cp /mnt/hgfs/VM_ENJ/sd_fusing/ -a”回車 繼續(xù)輸入“l(fā)s”回車?yán)^續(xù)輸入“cd sd_fusing”回車 繼續(xù)輸入“make”回車 繼續(xù)輸入“chmod 777 sd_fusing.sh”回車 至此編譯完成拔下開發(fā)板的SD卡,用讀卡器插在電腦上在共享文件夾里新建一個(gè)文件夾命名為sd_out。終端輸入“cp /sd_fusing/sd_fusing.sh /mnt/hgfs/VM_ENJ/sd_out/”回車 ,就把生成的sd_fusing.sh復(fù)制到了共享文件夾下的sd_out中在windows下把第五步復(fù)制的文件拷貝到SD卡根目錄,然后把SD卡插

溫馨提示

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

評(píng)論

0/150

提交評(píng)論