国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ARM9平臺上的嵌入式Linux系統(tǒng)移植

2018-12-21 06:46迪,周
物聯(lián)網(wǎng)技術(shù) 2018年11期
關(guān)鍵詞:對話框內(nèi)核命令

劉 迪,周 強

(安徽理工大學,安徽 淮南 232001)

0 引 言

嵌入式系統(tǒng)是傳感器、微電子、計算機和半導體等先進技術(shù)相結(jié)合的產(chǎn)物。嵌入式系統(tǒng)適合對功耗、成本、功能、可靠性等嚴格要求的專用計算機系統(tǒng)[1-2]。隨著嵌入式系統(tǒng)的迅速發(fā)展,其應用領(lǐng)域越來越廣范。

嵌入式系統(tǒng)中的操作系統(tǒng)選擇Linux。Linux是一種具有開發(fā)成本低,可應用于多種硬件平臺,可定制的內(nèi)核,性能優(yōu)異,良好的網(wǎng)絡(luò)支持等優(yōu)勢的系統(tǒng)[3]。Linux具有的諸多優(yōu)勢,注定它將在嵌入式操作系統(tǒng)的應用中,給人們帶來意想不到的驚喜,使生活越來越便捷。

1 Boot Loader引導程序及移植

系統(tǒng)加電后運行的第一段程序是Boot Loader。通常由BIOS和位于MBR的操作系統(tǒng)Boot Loader組成,系統(tǒng)的加載啟動任務(wù)交由Boot Loader完成,這段小程序,可以初始化必要的硬件設(shè)備,把內(nèi)核需要的信息創(chuàng)建出來,并且這些有用的信息經(jīng)相關(guān)機制可傳遞給內(nèi)核,將軟件和硬件系統(tǒng)的環(huán)境帶到合適的狀態(tài)。最后對操作系統(tǒng)的內(nèi)核進行調(diào)用,可產(chǎn)生引導和加載內(nèi)核的效果[4]。VIVI是一種Boot Loader,本文在移植VIVI時,以smdk2410為基礎(chǔ),經(jīng)修改后實現(xiàn)。外部定義的初始值、相應NAND FLASH中各鏡像的初始地址都是需要修改的參數(shù)。

2 嵌入式Linux內(nèi)核的定制

內(nèi)核裁剪是對內(nèi)核進行相關(guān)修改,將其中多余的程序刪除掉。Linux內(nèi)核對系統(tǒng)修改后,能夠建立一個配置對話框,方便對內(nèi)核進行相應的修改。系統(tǒng)執(zhí)行修改時,大部分內(nèi)容是頭文件、Kconf i g和修改時會用到的東西,能夠建立修改的對話框。Linux內(nèi)核的配置命令包括make conf i g,make menuconf i g 及 make xconf i g[5]。

實現(xiàn)在對內(nèi)核的配置后,其編譯相對容易。

(1)進入目錄

[root@zxt/]cd/arm2410cl/kernel/linux-2.4.18-2410cl/

(2)make clean

[root@ linux-2.4.18-2410cl/] make clean

該指令是把界面用不到的東西清除掉,而且是在正式make內(nèi)核前。

(3)make dep

這條命令是創(chuàng)建內(nèi)核的依賴關(guān)系。

(4)make zImage

這條命令是最終的編譯命令,這里建立的為壓縮的內(nèi)核映像。

(5)到/arm2410cl/kernel/linux-2.4.18-2410cl/arch/arm/boot下查看新生成的內(nèi)核文件。

[root@BC linux-2.4.18-2410cl]# cd arch/arm/boot/

[root@BC boot]# ls

bootp conpressed install.sh Makefile zImage

3 嵌入式根文件系統(tǒng)的定制

YAFFS(Yet Another Flash File System,YAFFS)文件系統(tǒng)是專門針對NAND閃存設(shè)計的嵌入式文件系統(tǒng)。該系統(tǒng)相對于JFFS2減少了部分功能,提升了運行速度,并且占用的內(nèi)存也相對減少[6],因此本文選用YAFFS作為根文件系統(tǒng)。

制作根文件系統(tǒng)步驟如下:

(1)創(chuàng)建一個名字為rootfs的文件夾,在其中創(chuàng)建

etc bin var dev home lib mnt proc root sbin sys tmp usr opt共14個文件夾;

(2)解壓Busybox;

(3)編譯Busybox工具集;

(4)配置完成后,執(zhí)行make和make install;

(5)在dev目錄下,創(chuàng)建兩個設(shè)備節(jié)點:mknod console c 5 1與mknod null c 1 3;

(6)進入自己建立的etc目錄??截怋usybox-1.16/examples/bootf l oopy/etc/* 到當前目錄下。包括文件fstab init.d inittab profile[7];

(7)修改inittab文件;

(8)修改init.d/rcS文件;

(9)修改profile文件;

(10)用mkyaffs2image工具將指定的根文件系統(tǒng)目次生成YAFFS根文件系統(tǒng)映像:

[root@vm-dev rootfs]# mkyaffs2image rootfs root.yaffs

[root@vm-dev rootfs]# ls busybox-1.12.2 busybox-1.12.2.tar.bz2

mkyaffs2image root.yaffs rootfs rootfs.tar.bz2

[root@vm-dev rootfs]#

生成root.yaffs根文件系統(tǒng)文件。

4 嵌入式系統(tǒng)的移植

VIVI燒寫時,將PC機和2410-CL實驗箱的線連接好,打開實驗箱的電源;在D盤創(chuàng)建一個目錄引導加載程序,把四個文件拷貝到此目錄下;進入D:/Boot Loader目錄,運行sjf2410-s命令:sjf2410-s /f:vivi,完成VIVI的燒寫,啟動引導程序。燒寫內(nèi)核時,將并口線拔掉,連接2410-CL實驗箱的網(wǎng)線。在VIVI狀態(tài)下,輸入燒寫內(nèi)核的命令為:tftp fl ash kernel zImage。在實現(xiàn)內(nèi)核的燒寫后,輸入燒寫root命令:tftp fl ash root root.yaffs。

在完成以上的燒寫內(nèi)容后就可對移植到ARM9平臺上的應用程序進行測試,對某音樂播放器mplayer進行測試。在2410-CL的實驗箱上音樂播放器可以正常播放,證明應用程序在ARM9平臺上可以運行,移植成功。

5 結(jié) 語

本文主要介紹了Boot Loader的移植方法、內(nèi)核和根文件系統(tǒng)的定制過程,最后通過燒寫VIVI、內(nèi)核和根文件系統(tǒng)完成嵌入式Linux操作系統(tǒng)在ARM9平臺上的移植。此舉對嵌入式Linux系統(tǒng)的應用發(fā)展具有深遠意義。

猜你喜歡
對話框內(nèi)核命令
只聽主人的命令
強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
正?;謴吞摂M機
基于嵌入式Linux內(nèi)核的自恢復設(shè)計
Linux內(nèi)核mmap保護機制研究
移防命令下達后
這是人民的命令
對盧溝橋事變期間一份“作戰(zhàn)命令”的考析
榆社县| 河西区| 蒙山县| 拉萨市| 茶陵县| 阿拉善左旗| 牙克石市| 勐海县| 孟州市| 闻喜县| 新密市| 沙湾县| 大余县| 曲靖市| 天津市| 靖安县| 延长县| 民丰县| 柯坪县| 丹凤县| 瑞丽市| 彭山县| 紫金县| 佛冈县| 宝丰县| 屏南县| 英超| 璧山县| 宁明县| 呼和浩特市| 秦皇岛市| 留坝县| 东宁县| 元氏县| 双峰县| 道真| 阜宁县| 沾化县| 栾川县| 平远县| 桑植县|