亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于NFS的CortexA8開發(fā)板自開發(fā)程序應(yīng)用研究

        2015-04-30 06:37:23于博
        軟件導(dǎo)刊 2015年4期
        關(guān)鍵詞:架構(gòu)

        于博

        摘要摘要:CortexA8處理器是第一款基于ARMv7 架構(gòu)的應(yīng)用處理器,是有史以來ARM 開發(fā)的性能最高、最具功率效率的處理器。ARM Cortex-A8處理器是一款適用于復(fù)雜操作系統(tǒng)的應(yīng)用處理器?;贜FS文件系統(tǒng),對(duì)CortexA8開發(fā)板遠(yuǎn)程添加自開發(fā)程序應(yīng)用進(jìn)行了研究。

        關(guān)鍵詞關(guān)鍵詞:NFS; CortexA8處理器; ARMv7 架構(gòu); 自開發(fā)程序

        DOIDOI:10.11907/rjdk.1431004

        中圖分類號(hào):TP319

        文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2015)004011802

        0引言

        NFS是Network File System的簡寫,即網(wǎng)絡(luò)文件系統(tǒng)[1]。網(wǎng)絡(luò)文件系統(tǒng)是FreeBSD支持的文件系統(tǒng)中的一種。 NFS允許一個(gè)系統(tǒng)在網(wǎng)絡(luò)上與他人共享目錄和文件。通過使用NFS,不同的操作系統(tǒng)彼此共享文件(share files)——可以通過NFS掛載遠(yuǎn)程主機(jī)目錄,訪問該目錄就像訪問本地目錄一樣,所以也可以簡單地將它看作一個(gè)文件服務(wù)器(Fileserver)[2]。

        1學(xué)習(xí)和使用NFS文件系統(tǒng)

        NFS工作原理可以理解為:CortexA8開發(fā)板上需要安裝一個(gè)NFS客戶端軟件,Linux宿主機(jī)上安裝NFS服務(wù)器端軟件。Linux宿主機(jī)配置NFS文件,告訴本機(jī)哪塊硬盤區(qū)域可以被NFS Client設(shè)備掛載,Linux宿主機(jī)啟動(dòng)NFS服務(wù)器程序并等待Client掛載。CortexA8和Linux宿主機(jī)通過網(wǎng)線相連,運(yùn)行NFS Client程序通過網(wǎng)線掛載Linux宿主機(jī)上的那塊硬盤,這樣在CortexA8開發(fā)板(NFS Client)一端就可以看到Linux宿主機(jī)上這塊硬盤區(qū)域里所有的文件了。

        1.1CortexA8開發(fā)板和Linux宿主機(jī)兩端安裝NFS組件

        CortexA8開發(fā)板的Linux內(nèi)核和文件系統(tǒng)支持NFS組件,所以CortexA8這端不需作任何修改就可以支持NFS。Linux內(nèi)核的配置:在Linux宿主機(jī)下進(jìn)入/opt/Friendly ARM/mini210/linux3.0.8,運(yùn)行命令:#make menuconfig (進(jìn)入Linux內(nèi)核配置界面),進(jìn)入NFS組件的選擇安裝,如圖1所示。

        1.2主機(jī)端安裝NFS服務(wù)器

        在Linux宿主機(jī)端安裝NFS服務(wù)器,不同的Linux發(fā)行版會(huì)略有不同,筆者使用的是Fedora 17發(fā)行版,過程如下:運(yùn)行命令:#yum install port map nfsutils(安裝NFS所需要的組件) ,在/opt/Friendly ARM/mini210/目錄下建立一個(gè)共享目錄,取名為Source Code

        運(yùn)行命令:#chimed 777 /opt/Friendly ARM/mini210/Source Code (將文件夾Source Code的權(quán)限設(shè)置為所有人可讀寫和操作),#vim /etc/exports(修改exports配置文件)。在exports配置文件添加一行/opt/Friendly ARM/mini210/Source Code *(sync,rw,no_root_squash)解析。/opt/Friendly ARM/mini210/Source Code 就是NFS服務(wù)器允許NFS客戶端掛載的文件。*:代表任意IP地址都可以掛載該NFS服務(wù)器的指定文件,Rw:代表擁有可讀寫權(quán)限。

        No_root_squash:表示當(dāng)?shù)顷慛FS服務(wù)器使用共享目錄的使用者是root時(shí),其權(quán)限將被轉(zhuǎn)換為匿名使用者(nobody)。接下來Linux宿主機(jī)端還要禁用防火墻,在Fedora17下禁用防火墻的命令為#systemctl stop iptables.service。將NFS服務(wù)器配置成開機(jī)啟動(dòng)并啟動(dòng)NFS服務(wù)器,命令為#systemctl enable nfsserver.service。

        2為CortexA8開發(fā)板添加自開發(fā)程序

        2.1CortexA8處理器編譯

        CortexA8采用了復(fù)雜的流水線構(gòu)架,針對(duì)強(qiáng)功耗應(yīng)用,CortexA8采用了一個(gè)優(yōu)化的裝載/存儲(chǔ)流水線,順序執(zhí)行,同步執(zhí)行超標(biāo)量處理器內(nèi)核,其擁有13級(jí)主流水線,10級(jí)NEON多媒體流水線,可以提供2 DMIPS/MHZ的性能;它有優(yōu)化的L1緩存,可以提高訪問存儲(chǔ)速度并降低功耗;它有專用的L2緩存,在編譯時(shí),可以把緩存當(dāng)作標(biāo)準(zhǔn)的RAM進(jìn)行處理,而緩存大小可以靈活配置,緩存的訪問延遲也可以編程控制;它有基于執(zhí)行記錄的動(dòng)態(tài)跳轉(zhuǎn)預(yù)盼,準(zhǔn)確性高達(dá)95%,而且提供重放機(jī)制以有效降低預(yù)判錯(cuò)誤帶來的性能損失;在技術(shù)方面,使用了更高性能及功耗效率和高代碼密度的Thumb-2技術(shù)[3]。它首次采用了強(qiáng)大的NEONTM信號(hào)處理擴(kuò)展集,對(duì)H.264和MP3等媒體編解碼提供加速。CortexA8解決方案還包括JazelleRCT Java加速技術(shù),提供最優(yōu)化的實(shí)時(shí)(JIT)和動(dòng)態(tài)調(diào)適編譯(DAC),同時(shí)減少3/4的內(nèi)存占用空間。此外,新處理器還配置了用于安全交易和數(shù)字版權(quán)管理的TrustZone技術(shù)和AMBA 3 AXITM互連協(xié)議,實(shí)現(xiàn)低功耗管理IEM的功能[4]。

        在Linux宿主機(jī)下,進(jìn)入/opt/Friendly ARM/mini210目錄,用C語言編寫helloworld.c程序,運(yùn)行命令#armLinuxgcc helloworld.c hello world(使用交叉編譯器armlinuxgcc,編譯helloworld.c,源碼為helloworld的可執(zhí)行程序) 。

        2.2CortexA8開發(fā)板燒錄

        在同目錄下運(yùn)行命令#./hello world(執(zhí)行本目錄下的helloworld程序,應(yīng)該會(huì)報(bào)錯(cuò),因?yàn)檫@個(gè)程序是一個(gè)ARM體系程序而不是X86體系程序,X86主機(jī)無法識(shí)別里面的機(jī)器碼),將hello world可執(zhí)行程序復(fù)制到rootfs_qtopia_qt4目錄下,重新制作rootfs_qtopia_qt4.img文件系統(tǒng),并將文件系統(tǒng)燒錄至CortexA8開發(fā)板。

        利用超級(jí)終端或者Telnet登陸開發(fā)板控制臺(tái),找到添加的helloworld程序,在控制臺(tái)下運(yùn)行命令$./hello world(執(zhí)行hello world程序),觀察是否有正確的輸出返回。

        至此,已經(jīng)至少向開發(fā)板燒錄過兩次文件系統(tǒng)了。這里的問題是在之后的開發(fā)過程中是不是每次添加或者修改程序時(shí)都要進(jìn)行燒錄呢?那效率也實(shí)在太低了[5]。下面采用嵌入式軟件開發(fā)中最常用的開發(fā)方法,使用NFS文件系統(tǒng)進(jìn)行遠(yuǎn)程掛載來進(jìn)行程序開發(fā)。

        3使用NFS進(jìn)行CortexA8開發(fā)

        將Linux宿主機(jī)和CortexA8開發(fā)板通過網(wǎng)線相連,并將Linux宿主機(jī)的有線IP地址和CortexA8開發(fā)板的有線IP地址設(shè)置為同一網(wǎng)段(此次實(shí)驗(yàn)室筆者的Linux宿主機(jī)IP地址為192.168.1.22,CortexA8開發(fā)板的IP地址為192.168.1.230)。

        在Linux宿主機(jī)上,將之前寫好的helloworld.c源程序和helloworld可執(zhí)行程序復(fù)制到/opt/Friendly ARM/mini210/Source Code目錄下。我們在實(shí)驗(yàn)中曾經(jīng)使用Windows下的putty.exe程序telnet登陸過開發(fā)板,其實(shí)絕大多數(shù)Linux操作系統(tǒng)也帶有該功能,在Linux宿主機(jī)下運(yùn)行命令#telnet 192.168.1.230(使用telnet工具登陸IP地址為192.168.1.230的CortexA8開發(fā)板命令行控制臺(tái)),輸入用戶名為root,即可在Linux宿主機(jī)上完成命令行登陸,如圖2所示。

        在控制臺(tái)下運(yùn)行命令:

        $mount –t nfs 192.168.1.22:/opt/Friendly ARM/mini210/Source Code /mnt –o no lock(注意這個(gè)命令是“$”符號(hào)打頭,是在控制臺(tái)進(jìn)行的,意思是將IP地址為192.168.1.22的NFS服務(wù)器/opt/Friendly ARM/mini210/Source Code文件夾掛載到開發(fā)板Linux文件系統(tǒng)的/mnt目錄下)。完成掛載后,運(yùn)行$ls /mnt命令,看一下是否是Linux宿主機(jī)/opt/Friendly ARM/mini210/Source Code目錄下的內(nèi)容,如圖3所示。筆者此時(shí)的/opt/Friendly ARM/mini210/Source Code目錄下的內(nèi)容稍有不同,讀者此時(shí)應(yīng)該只有helloworld.c和helloworld。嘗試運(yùn)行hello world程序,看是否有正確的返回。返回結(jié)果為正確,由此推出,NFS進(jìn)行CortexA8開發(fā)效率較高。

        綜上所述,使用NFS進(jìn)行開發(fā),可以通過建立NFS,把Linux 服務(wù)器上的特定分區(qū)共享到待調(diào)試的嵌入式目標(biāo)系統(tǒng)上,這樣就可以直接在嵌入式目標(biāo)系統(tǒng)上操作Linux 服務(wù)器,同時(shí)可以在線對(duì)程序進(jìn)行調(diào)試和修改,大大簡化了軟件開發(fā)工作。

        參考文獻(xiàn)參考文獻(xiàn):

        [1]程海粟,李慶武,俞楷,等.基于CortexA8 處理器的車牌識(shí)別系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)與現(xiàn)代化,2014(5):123125.

        [2]百度百科.CortexA8開發(fā)平臺(tái)[EB/OL].http://baike.baidu.com/view/6631918.htm?fr=aladdin.

        [3]楊亮.基于CortexA8嵌入式實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子設(shè)計(jì)工程,2014(4) : 153154.

        [4]任亮.基于ARM CortexA8的嵌入式Linux開發(fā)的平臺(tái)構(gòu)建[J]. 山西煤炭管理干部學(xué)院學(xué)報(bào),2012(4) : 134135.

        [5]李寧.ARM CortexA8處理器原理與應(yīng)用[M].北京: 北京航空航天大學(xué)出版社,2012.

        責(zé)任編輯(責(zé)任編輯:杜能鋼)

        猜你喜歡
        架構(gòu)
        基于FPGA的RNN硬件加速架構(gòu)
        功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實(shí)踐
        汽車工程(2021年12期)2021-03-08 02:34:30
        基于云服務(wù)的圖書館IT架構(gòu)
        WebGIS架構(gòu)下的地理信息系統(tǒng)構(gòu)建研究
        LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
        架構(gòu)——李延洲寫生作品展
        基于SDN與NFV的網(wǎng)絡(luò)切片架構(gòu)
        一種基于FPGA+ARM架構(gòu)的μPMU實(shí)現(xiàn)
        具身學(xué)習(xí)環(huán)境SMALLab的架構(gòu)分析及啟示
        基于在線雙冗余CANopen架構(gòu)的管軌列控系統(tǒng)
        電測與儀表(2014年1期)2014-04-04 12:00:32
        老熟妇仑乱视频一区二区| 国产夫妻精品自拍视频| 日本最新一区二区三区视频观看| 日本熟妇hdsex视频| 国产免费久久精品国产传媒| 亚洲日韩精品AⅤ片无码富二代| 亚洲国产精品自拍成人| 精品九九人人做人人爱| 亚洲av无码一区二区三区网站| 免费无遮挡毛片中文字幕| 水蜜桃视频在线观看入口 | 久久久久久久极品内射| 最新亚洲人成无码网www电影| 国产精品美女久久久浪潮av| 久久综合精品国产丝袜长腿| 国产精品中文久久久久久久 | 美女一区二区三区在线视频| 欧美伦费免费全部午夜最新| 国产无遮挡又黄又爽又色| 色婷婷丁香综合激情| 日韩美女av一区二区| 香港三级日本三级a视频| 伊人网视频在线观看| 国产一区二区av男人| 国产成人91久久麻豆视频| 中国凸偷窥xxxx自由视频妇科 | 中文字幕一区二区综合| 成在线人免费视频| 日本一本久道| 人妻系列少妇极品熟妇| 亚洲精品一区久久久久一品av| 天美传媒精品1区2区3区| 天天摸天天做天天爽天天舒服| 午夜国产精品视频在线观看| 蜜桃视频无码区在线观看| 亚洲自拍愉拍| 99久久精品人妻一区| 男女猛烈xx00免费视频试看| 欧美日韩不卡中文字幕在线| 美女人妻中文字幕av| 色老板美国在线观看|