嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計(jì)實(shí)戰(zhàn)指南-基于Xilinx ZYNQ>的實(shí)驗(yàn)1.2 , 是一個(gè)很酷的實(shí)驗(yàn), 照貓畫(huà)虎一番,居然ZED板就能當(dāng)一個(gè)能跑Ubuntu的小電腦使, 更酷的是, 只是運(yùn)行腳本, 居然就可以控制板子上的LED, 居然就能在OLED屏幕上看到漂亮的logo。
當(dāng)然,這都建立在你一絲不茍地照貓畫(huà)虎按照書(shū)上的步驟操作的假設(shè)上的. 萬(wàn)一其中一步?jīng)]有完全做對(duì), 結(jié)果就沒(méi)那么美妙了. 對(duì)菜鳥(niǎo)來(lái)說(shuō), 最后結(jié)果出不來(lái), 最笨的辦法就是從頭來(lái)一遍, 這次小心就是了. 這種不求甚解的精神在學(xué)習(xí)中值得大力提倡, 因?yàn)? 誰(shuí)都想快點(diǎn)看到令人雞凍的結(jié)果, 在看到結(jié)果之前,誰(shuí)都不想浪費(fèi)時(shí)間搞明白一步一步的含義到底是為什么。
激動(dòng)過(guò)了, 讓我們回過(guò)頭來(lái),看看我們都干了些什么. 實(shí)驗(yàn)1.2到底都做了哪些事. 古人云,知其然,也要知其所以然. 我們嘛,目前不需要100%的所以然, 但知道一點(diǎn)點(diǎn)所以然還是要滴。
先上圖:
大家可以看到, SD卡分了兩個(gè)區(qū), 一個(gè)是FAT,一個(gè)是EXT, FAT里面從光盤(pán)里拷貝了引導(dǎo)文件BOOT.BIN, 以及linux的壓縮內(nèi)核, zImage. FAT盤(pán)里面的文件,要想拷貝過(guò)去很簡(jiǎn)單,只需要把linaro_demo.zip里面的文件之間拖過(guò)去就可以了。
而EXT里面, 拷貝了linux的整個(gè)文件系統(tǒng),從根目錄,到bin啊, usr啊,神馬滴。 這套東東,直接拖過(guò)去,就不行了, 因?yàn)椋?linux的文件,和FAT不同,是有權(quán)限滴。
圖形界面下,我是以Kevin身份登陸的, 因此如果要在EXT里面拷貝root身份的整個(gè)linux文件系統(tǒng),僅僅拖過(guò)去,則整個(gè)系統(tǒng)變成了kevin的,有些文件,比如各種設(shè)備文件,必須用root身份才能拷貝過(guò)去。
因此必須用命令行。
剩下的問(wèn)題,就是要搞清楚EXT這個(gè)分區(qū)的設(shè)備號(hào)到底是什么,否則mount的時(shí)候無(wú)法操作。 書(shū)里面寫(xiě)了一個(gè) SD card ext4 partition 那意思是讓你自己找出來(lái), 因?yàn)槊颗_(tái)機(jī)器的設(shè)備配置不盡相同。 如何找出來(lái)呢? 方法很多,比如說(shuō)敲 mount , 會(huì)列出目前所有按照的文件系統(tǒng), 如圖:
從這里面可以看出來(lái), EXT盤(pán)對(duì)應(yīng)的目錄是 /media/EXT, 設(shè)備嘛, 就是/dev/sdb2 意思是scsi硬盤(pán)第2個(gè),分區(qū)2的意思。 俺的SD卡讀寫(xiě)器讓系統(tǒng)看上去是一個(gè)scsi硬盤(pán)。 在用命令行拷貝文件到EXT盤(pán)時(shí), 需要右鍵點(diǎn)彈出這個(gè)盤(pán),在Ubuntu的桌面上沒(méi)有這個(gè)盤(pán)符就可以了。
書(shū)里面sudo rsync 的意思, 就是把用root身份, 把整個(gè)文件系統(tǒng)同步到SD的EXT分區(qū)的意思。
實(shí)驗(yàn)1.2 中還要配鍵盤(pán)鼠標(biāo)顯示器攝像頭神馬滴,都不是必需的,如果你暫時(shí)找不到這些東東的話。
在1.2.4 中, 由于點(diǎn)亮LED燈的led_test.sh 小腳本一不小心放到了FAT盤(pán)里,因此,如果要運(yùn)行它,還要安裝一下。 其實(shí)嘛,直接放到EXT 下也一點(diǎn)問(wèn)題沒(méi)有。
整個(gè)開(kāi)發(fā)系統(tǒng)配全了,看上去有3臺(tái)電腦,有圖右真相:
其實(shí)嘛,真正的PC只有一臺(tái)。 就是中間那個(gè)筆記本電腦。
左邊那個(gè),是ZED板,配在小車(chē)上,通過(guò)USB HUB接了鍵盤(pán)鼠標(biāo),HDMI轉(zhuǎn)DVI轉(zhuǎn)換頭接顯示器。 由于跑的是Ubuntu 的ARM板, 看上去和電腦是一樣滴。
中間那個(gè),是Windows, 我用來(lái)收工作上的Outlook郵件神馬滴, 跑Putty,連USB串口到ZED板。
右邊那個(gè),僅僅是筆記本電腦的第二個(gè)顯示器而已, 我只是把Virtualbox虛擬機(jī)的窗口,連同虛擬機(jī)管理窗口,統(tǒng)統(tǒng)拉到右邊那個(gè)顯示器去了。
這里可從一個(gè)側(cè)面看出ZED板的強(qiáng)悍, 以前嵌入式開(kāi)發(fā)板總是苦哈哈的在超級(jí)終端上跑著貌似高深的字符界面, 讓人望而生畏, 而ZED板, 本身就可以當(dāng)一個(gè)電腦使,里面文本編輯器, 瀏覽器,email,音樂(lè)播放器都是全的, 用起來(lái)當(dāng)然快樂(lè)。
評(píng)論