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

下載本文檔

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

文檔簡介

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

評論

0/150

提交評論