• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2015-05-30 10:48:04董晶晶
      科技創(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)核
      萬物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(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)展
      科技視界(2016年24期)2016-10-11 19:55:02
      “移植”瘦人糞便能減肥?
      微生物內(nèi)核 生態(tài)型農(nóng)資
      基于Cortex—M4內(nèi)核的μCOS—Ⅱ移植
      科技視界(2016年9期)2016-04-26 10:19:53
      通化市| 根河市| 延寿县| 荣成市| 麻城市| 新宁县| 巴彦淖尔市| 长宁区| 临海市| 稷山县| 射洪县| 额尔古纳市| 古交市| 西藏| 海口市| 曲靖市| 蒲城县| 富顺县| 封丘县| 肥城市| 棋牌| 富蕴县| 济南市| 会理县| 错那县| 磐石市| 休宁县| 博乐市| 鄢陵县| 建昌县| 青浦区| 商洛市| 天全县| 玉溪市| 泸水县| 伊吾县| 海伦市| 嘉鱼县| 伊川县| 江孜县| 灵武市|