劉洋
摘要:該文設(shè)計(jì)是基于Linux環(huán)境的家用智能監(jiān)控報(bào)警系統(tǒng),主要研究在嵌入式Linux環(huán)境下,通過(guò)使用Tiny6410開發(fā)板,在完成Bootloader和內(nèi)核移植后,通過(guò)nfs對(duì)Linux環(huán)境下的根文件系統(tǒng)進(jìn)行掛載,實(shí)現(xiàn)監(jiān)控報(bào)警的功能。
關(guān)鍵詞:Linux、NFS,Tiny6410
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)13-0175-02
1 Linux系統(tǒng)的介紹
眾所周知,操作系統(tǒng)是各種應(yīng)用軟件運(yùn)行的平臺(tái)。在我們的生活中,常用的操作系統(tǒng)有Windows和IOS等,在許多大型服務(wù)器中,我們大量使用的操作系統(tǒng)為UNIX操作系統(tǒng)。毫無(wú)例外,雖然上述系統(tǒng)功能強(qiáng)大,使用極為方便,但是這些操作系統(tǒng)對(duì)用戶收取相應(yīng)的費(fèi)用,以UNIX操作系統(tǒng)為例,其價(jià)格昂貴,遠(yuǎn)非個(gè)體開發(fā)者能承擔(dān)。
相較于上述操作系統(tǒng),Linux免費(fèi)開源,可以通過(guò)網(wǎng)絡(luò)自由下載,升級(jí)內(nèi)核,且開源的Linux的系統(tǒng)小巧靈活,且具有強(qiáng)大的網(wǎng)絡(luò)管理功能,軟硬件開發(fā)工具較多。對(duì)于初學(xué)者或者小公司而言,更加具有吸引力的是,不用花費(fèi)太大的價(jià)錢來(lái)購(gòu)買專用的配套開發(fā)工具,可以大量節(jié)約成本。本文在根文件配置使用的Linux操作系統(tǒng)為RedHat 5 Enterprise。
2 智能監(jiān)控系統(tǒng)的組成
本文在設(shè)計(jì)的過(guò)程中基于穩(wěn)定、可靠和實(shí)用、性價(jià)比高的原則。使用當(dāng)今流行的計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、視頻壓縮技術(shù)來(lái)對(duì)智能監(jiān)控系統(tǒng)進(jìn)行設(shè)計(jì)。本系統(tǒng)采用由嵌入式Linux操作系統(tǒng)和三星公司生產(chǎn)的ARM處理器S3C6410X為核心的Tiny6410開發(fā)板搭建的平臺(tái)。圍繞著這個(gè)平臺(tái),構(gòu)建Web服務(wù)器和視頻服務(wù)器。利用TCP/IP技術(shù)實(shí)現(xiàn)了網(wǎng)絡(luò)通訊,并且把通過(guò)攝像頭收集到的圖片和視頻信息進(jìn)行壓縮,然后通過(guò)局域網(wǎng)或者互聯(lián)網(wǎng)傳輸?shù)娇蛻舳?,客戶端可以通過(guò)采用Java Applet技術(shù)來(lái)完成圖片和視頻的接收,在相應(yīng)的平臺(tái)上顯示出來(lái)。圖1為系統(tǒng)結(jié)構(gòu)圖。
3 硬件采用
在本設(shè)計(jì)中核心CPU采用三星公司生產(chǎn)的S3C6410X,該處理器屬于ARM11系列,是ARM公司授權(quán)生產(chǎn)的新一代RISC處理器。ARM11系列處理器的具體信息如表1:
在本設(shè)計(jì)中,使用的開發(fā)板是友善之臂公司生產(chǎn)的Tiny/Mini6410開發(fā)板,它的核心處理器為ARM11系列處理的S3C6410,它由ARM公司授權(quán)三星公司進(jìn)行生產(chǎn)。該嵌入式CPU的設(shè)計(jì)基于ARM1176JZF-S核,芯片內(nèi)集成了功能十分強(qiáng)悍的多媒體處理單元,對(duì)Mpeg4,H.264/H.263等視頻格式的硬件編碼和解碼十分支持,同時(shí)可以把視頻信號(hào)輸出到LED和TV上進(jìn)行顯示,它還擁有一個(gè)3D圖型硬件加速器,用來(lái)完成OpenGL ES1.1&2.0的加速渲染,處于對(duì)傳統(tǒng)的圖形處理的考慮,它還支持2D圖形的平滑縮放,翻轉(zhuǎn)這些操作。
4 Bootloader,內(nèi)核制作和NFS掛載
1)Bootloader制作:
在本文中,由于使用的Bootloader是Uboot,因此重點(diǎn)介紹的是UBoot的制作流程。
第一步:解壓tar –zvxf u-boot-mini6410-20111018.tar,并進(jìn)入u-boot-mini6410-20111018文件夾:cd u-boot-mini6410-20111018
第二步:編譯make mini6410_nand_config-ram128
第三步:生成uboot.bin文件make ARCH=arm-linux-
2)內(nèi)核制作:
uImage/zImage 制作:
① 清理:
tar zxvf linux-2.6.28.6-*
cd linux-2.6.28.6
首次解壓文件得到的文件夾,無(wú)需清理;
非首次需要執(zhí)行 make distclean
②配置:
非首次解壓編譯的需:
cp config_mini6410_h43 .config H43 Lcd
或者 cp config_mini6410_n43 .config N43 Lcd
然后執(zhí)行:
make menuconfig ARCH=arm
/待定
③編譯:
生成uImage: make uImage ARCH=arm CROSS_COMPILE=arm-linux-
生成zImage: make uImage ARCH=arm CROSS_COMPILE=arm-linux-
生成的文件在linux-2.6.28/arch/arm/boot/ ;
3)NFS掛載
如果NFS已經(jīng)被安裝,則在終端輸入如下命令,用來(lái)執(zhí)行所需要的操作:
service nfs start 啟動(dòng)NFS服務(wù)
service nfs restart 重啟NFS服務(wù)
service nfs stop 停止NFS服務(wù)
service nfs reload 當(dāng)修改過(guò)/etc/exports文件后不用重啟服務(wù)可執(zhí)行該命令
NFS配置:
1)打開終端,cd mnt
2)編輯/etc/exports文件,添加共享目錄,命令為:gedit /etc/exports & 如圖2所示:
其中,rw為讀寫權(quán)限,也可以設(shè)置為ro(只讀權(quán)限),no_root_squash登入NFS主機(jī)root_squash 登入NFS主機(jī),使用該共享目錄時(shí)相當(dāng)于該目錄的擁有者。但是如果是以root身份使用這個(gè)共享目錄的時(shí)候,那么這個(gè)使用者(root) 的權(quán)限將被壓縮成為匿名使用者,即通常他的UID與GID都會(huì)變成nobody那個(gè)身份,all_squash 不論登入NFS的使用者身份為何,他的身份都會(huì)被壓縮成為匿名使用者,通常也就是nobody anonuid 可以自行設(shè)定這個(gè)UID的值,這個(gè)UID必需要存在于你的/etc/passwd當(dāng)中anongid 同anonuid,但是變成groupID就是了 sync 資料同步寫入到內(nèi)存與硬盤當(dāng)中 async 資料會(huì)先暫存于內(nèi)存當(dāng)中,而非直接寫入硬盤 insecure 允許從這臺(tái)機(jī)器過(guò)來(lái)的非授權(quán)訪問(wèn)。(注:圖片中/test僅為范例,開發(fā)者可以掛載自己所需要的文件夾)
3) cd /mnt 建立文件夾mynfs: mkdir mynfs.
4)掛載 mount –t nfs 122.204.87.230:/test mynfs 可以通過(guò)mynfs文件夾訪問(wèn)/test中的內(nèi)容。(注:該命令運(yùn)行的時(shí)間相對(duì)較長(zhǎng))
5 實(shí)驗(yàn)結(jié)果
6 實(shí)驗(yàn)小結(jié)
通過(guò)本實(shí)驗(yàn),使我加深了對(duì)Linux操作系統(tǒng)和嵌入式Linux的理解,并熟練掌握了Uboot,內(nèi)核移植和NFS掛載等相關(guān)的知識(shí),大大加強(qiáng)了自身的實(shí)踐能力。
參考文獻(xiàn):
[1] 英海燕. 基于ARM的嵌入式Linux操作系統(tǒng)移植[J]. 現(xiàn)代情報(bào),2005(5):155-156.
[2] 鄧滔, 徐勇. GPS與嵌入式Linux平臺(tái)串行通信研究[J]. 工業(yè)控制計(jì)算機(jī),2005(1):19-20.
[3] 張積紅, 吳強(qiáng). 嵌入式Linux研究及其在ARM上的移植[J]. 電腦知識(shí)與技術(shù),2005(8):45-48.
[4] 鄒穎婷, 李紹榮. ARM9上的嵌入式Linux系統(tǒng)移植[J]. 自動(dòng)化技術(shù)與應(yīng)用,2009(6):43-45.
[5] 林粵江. 嵌入式Linux與嵌入式Linux開發(fā)[J]. 科教文匯,2007(6):187+198.