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

?

Linux在S3C2410處理器上的移植方法

2015-05-30 10:48董晶晶
科技創(chuàng)新與應(yīng)用 2015年16期
關(guān)鍵詞:移植內(nèi)核

董晶晶

摘 要:文章描述了將標(biāo)準(zhǔn)Linux系統(tǒng)移植到基于S3C2410微處理器的開發(fā)板上的方法,包括安裝交叉編譯環(huán)境、引導(dǎo)程序的移植、Linux內(nèi)核的裁減和編譯。移植后的linux內(nèi)核雖然減小了軟件的開發(fā)難度,但是仍具有良好的穩(wěn)定性和安全性,也降低了開發(fā)成本。

關(guān)鍵詞:嵌入式Linux;內(nèi)核;S3C2410處理器;移植

1 概述

S3C2410是基于ARM920T內(nèi)核的微處理器,具有支持多任務(wù)、高效、穩(wěn)定、內(nèi)核簡(jiǎn)單等特點(diǎn)。嵌入式Linux是在標(biāo)準(zhǔn)Linux的基礎(chǔ)上對(duì)內(nèi)核進(jìn)行裁減和編譯后的小型操作系統(tǒng),且占存儲(chǔ)空間小。

2 移植前準(zhǔn)備工作

嵌入式Linux基于S3C2410處理器上移植首先需要采用交叉編譯調(diào)試的方式。而交叉編譯調(diào)試環(huán)境建立在PC 機(jī)上對(duì)應(yīng)的開發(fā)平臺(tái),但是可執(zhí)行的二進(jìn)制代碼只能在開發(fā)平臺(tái)上執(zhí)行,因此在移植前要建立交叉編譯環(huán)境。準(zhǔn)備工作包括建立交叉編譯工具鏈,配置主機(jī)網(wǎng)絡(luò)接口的IP地址和TFTP服務(wù)。

安裝Linux的交叉編譯環(huán)境, 應(yīng)包括binutils,gcc.gnuc和glibc三部分的工具鏈。從Linux的官方網(wǎng)站可以下載免費(fèi)的工具鏈。其中binutils是用于處理二進(jìn)制文件的程序集合,gcc.gnuc是編譯工具,glibc是保證用戶鏈接C庫。交叉編譯工具鏈的安裝順序如下:

(1)下載Crosstol-3.4.1.tar.bz2包,在/usr/local/arm目錄下解壓縮。

在export之前添加# PATH: /usr / local/arm /,修改PATH環(huán)境變量,從而添加交叉編譯器的路徑。

(2)通過ifconfig 命令查看主機(jī)的網(wǎng)絡(luò)接口驅(qū)動(dòng)是否安裝成功后,配置主機(jī)網(wǎng)絡(luò)接口的IP地址。

(3)TFTP 服務(wù):Linux下的TFTP服務(wù)在默認(rèn)情況下處于關(guān)閉狀態(tài),需要以root 身份登錄,修改TFTP的配置文件,開啟TFTP服務(wù)。

使用命令/etc/init.d/xinetd restart,使TFTP服務(wù)重新啟動(dòng)。

3 嵌入式Linux 的移植過程

3.1 引導(dǎo)程序Bootloader的移植

引導(dǎo)程序類似于PC機(jī)中的BIOS程序,它可以進(jìn)行硬件設(shè)備的初始化(時(shí)鐘的設(shè)置、內(nèi)存的映射等), 方便調(diào)用系統(tǒng)內(nèi)核。引導(dǎo)程序是依賴于硬件平臺(tái)來實(shí)現(xiàn)的。而每種cpu芯片的引導(dǎo)程序不可能是通用的,不同的處理器架構(gòu)都有不同的引導(dǎo)程序。而且系統(tǒng)的板級(jí)設(shè)備的配置也限制著引導(dǎo)程序。如果在不同的兩塊嵌入式板上使用同一種cpu,而引導(dǎo)程序在兩塊板子上運(yùn)行,就需要修改Bootloader的源程序。u-boot移植主要過程如下:

(1)從Linux官方網(wǎng)址下載u-boot 1. 1. 2包。

在指定目錄解壓縮后,編譯S3C2410板的u-boot:

(2)配制Makefile,修改工具鏈前綴:

把CROSS _COMP ILE=arm-linux改為:=/usr/local/arm/3.3.2/bin/arm-linux-gcc

(3)配置編譯smdk2410 板,執(zhí)行# make smdk2410 config=/path/from/root install

(4)建立U- Boot開發(fā)板,配置開發(fā)板。

在configs目錄下復(fù)制smdk2410

(5)測(cè)試系統(tǒng)能否正常運(yùn)行:

如果系統(tǒng)正常運(yùn)行,在u-boot-1.1.2目錄下生成u-boot.bin文件;但是如果系統(tǒng)運(yùn)行不成功時(shí),可以將example文件夾下的Makefile中的 %.srec: % 改為: %.srec:%.0。

(6)通過fs2410的nand FLASH,將u- Boot燒寫到Flash上,引導(dǎo)程序就可以從FLASH上直接啟動(dòng)了 。

3.2 嵌入式Linux的內(nèi)核的裁減和編譯

對(duì)于嵌入式系統(tǒng)來說標(biāo)準(zhǔn)Linux的內(nèi)核過去龐大,因此要將Linux移植到嵌入式系統(tǒng)上,就需要將Linux內(nèi)核進(jìn)行裁減和編譯。

3.2.1 裁減Linux內(nèi)核

(1)進(jìn)入Linux內(nèi)核的編輯菜單,運(yùn)行如下命令:

# make config (進(jìn)入命令行)

# make mrproper (刪除解壓縮軟件包中的冗余文件)

# make xconfig (進(jìn)入xconfig配置菜單)

(2)在Linux內(nèi)核的配置菜單中,對(duì)嵌入式系統(tǒng)進(jìn)行配置。xconfig 配置菜單如圖1所示。

圖1 xconfig 配置菜單

在配制時(shí),Linux內(nèi)核配置中只有一部分根據(jù)用戶不同需要選擇或是去掉不需要的模塊,添加必須的模塊或是驅(qū)動(dòng)程序,但是大部分選項(xiàng)可以選擇默認(rèn)值。(選項(xiàng)中Y表示該功能加入內(nèi)核;N表示該功不能加入內(nèi)核;M表示該功可以在需要時(shí)動(dòng)態(tài)內(nèi)核。)

3.2.2 內(nèi)核的編譯

在內(nèi)核配置完后,需要對(duì)內(nèi)核創(chuàng)建源碼樹,壓縮的內(nèi)核映像。內(nèi)核編譯命令如下:

#make dep (讀取配置文件,并創(chuàng)建源碼關(guān)系樹);

#make clean 命令 (用于清除程序的冗余文件)

#make zImage ( 使用壓縮方法,生成更小linux內(nèi)核)

4 制作RAMdisk(根文件系統(tǒng))

嵌入式Linux 系統(tǒng)通過根文件系統(tǒng)為設(shè)備和用戶程序提供接口,調(diào)用系統(tǒng)中所有的文件和設(shè)備。因此移植Linux系統(tǒng)還需要制作RAMdisk。在RAMdisk的塊設(shè)備上建立根文件系統(tǒng)的目錄一般由下幾個(gè)組成:

/bin目錄 存儲(chǔ)文件管理程序的文件;

/lib目錄 存儲(chǔ)系統(tǒng)的庫文件;

/dev目錄 存儲(chǔ)系統(tǒng)設(shè)備文件;

/etc目錄 存儲(chǔ)系統(tǒng)配置文件。

在文章中基于S3C2410微處理器,創(chuàng)建Cramfs格式的根文件系統(tǒng)。RAMdisk使用壓縮映像存放在Flash的地址空間中后,就把RAMdisk設(shè)備加載成根文件系統(tǒng),最終將嵌入式操作系統(tǒng)移植到開發(fā)板上,生成可視化操作系統(tǒng)。

5 結(jié)束語

文章針對(duì)嵌入式系統(tǒng)基于S3C2410處理器上的移植方法,分別介紹了如何建立交叉編譯環(huán)境、引導(dǎo)程序和根文件系統(tǒng)的移植、對(duì)處理器內(nèi)核的裁減、編譯的過程,并且保證移植后的Linux系統(tǒng)的穩(wěn)定性、實(shí)時(shí)性、可視性和安全性的特點(diǎn)。生成嵌入式Linux系統(tǒng),用戶可以根據(jù)需要,編寫開發(fā)應(yīng)用程序。

參考文獻(xiàn)

[1]廖日坤.ARM嵌入式應(yīng)用開發(fā)技術(shù)白金手冊(cè)[M].北京:中國(guó)電力出版社,2005.

[2]倪繼利.Linux內(nèi)核分析與編程[M].北京:電子工業(yè)出版社,2005.

[3]張杰,吳敏,曹衛(wèi)華.基于S3C2410的Linux移植[J].微型電腦應(yīng)用,2005.

猜你喜歡
移植內(nèi)核
強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
Linux內(nèi)核mmap保護(hù)機(jī)制研究
基于FreeRTOS系統(tǒng)和LwIP協(xié)議棧的網(wǎng)絡(luò)通訊
西方音樂元素在二胡演奏中的移植
心臟自體干細(xì)胞移植治療心肌梗死新進(jìn)展
“移植”瘦人糞便能減肥?
微生物內(nèi)核 生態(tài)型農(nóng)資
基于Cortex—M4內(nèi)核的μCOS—Ⅱ移植
提升影視文化軟實(shí)力的人文內(nèi)核審視
石阡县| 寿阳县| 南阳市| 余庆县| 含山县| 平凉市| 株洲市| 孟村| 宜黄县| 慈利县| 文山县| 玉屏| 沧源| 武安市| 霍山县| 内黄县| 无棣县| 即墨市| 松滋市| 武城县| 庆安县| 尼玛县| 南城县| 海宁市| 佛教| 宣恩县| 霍邱县| 九寨沟县| 清丰县| 江西省| 千阳县| 汝州市| 江油市| 中西区| 正阳县| 阿瓦提县| 梨树县| 抚州市| 洮南市| 高雄县| 卢龙县|