• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式Linux在IOP331上的移植實現

    嵌入式Linux在IOP331上的移植實現

    作者: 時間:2012-03-23 來源:網絡 收藏

    引言

    是指對于用戶端(備份服務器/網絡端)體現為常規磁帶庫,但是使用磁盤陣列為存儲介質的備份設備。它不僅大大提高了系統的可靠性和可用性,而且對于那些主要使用磁帶為數據存儲介質、現在想更換為磁盤陣列但又不想全部更換原有設備的用戶來說具有非常重要的意義。的實現,依賴于以下三項核心技術:嵌入式微處理器、存儲協議微處理器和嵌入式操作系統。嵌入式微處理器作為系統的主控單元,實現人機交換及存儲協議處理器的控制,同時也是嵌入式操作系統的運行平臺;存儲協議微處理器實現與存儲介質之間的數據傳輸;嵌入式操作系統主要實現內存管理與進程調度,為設備驅動程序與用戶應用程序提供軟件平臺。本文首先介紹Linux操作系統和Intel 高性能I/O處理器,然后詳細分析的各個步驟,最后給出驗證和結論。

    1.Linux操作系統和

    Linux操作系統源碼開放,遵循GPL聲明,可以自由修改和傳播。由于專用實時操作系統價格昂貴及源碼不公開,使Linux在嵌入式應用中占有一席之地。由于Linux自身有諸多優勢,吸引了很多開發商的目光,成為嵌入式操作系統的新寵。其源代碼可以從Linux的相關網站下載。

    本設計使用的嵌入式微處理器是基于XScale的高性能I/O處理器。XScale是Intel公司定義的基于ARM V5TE(除浮點運算外),即支持Thumb模式及DSP擴充指令集的ARM V5體系結構。其硬件體系結構如圖1所示。

    圖1 Intel 80331硬件體系結構圖

    2.Linux操作系統的

    2.1 建立交叉編譯環境

    前需要在主機上建立交叉編譯環境。作者在使用的主機上安裝了Fedora Core 4的系統,從網上獲得了建立交叉編譯工具鏈的軟件包crosstool-0.42.tar.bz2。使用最新的binutils和kernel,gcc版本為4.0.2,glibc版本為2.3.6。

    解壓并修改相關的配置文件后運行demo-arm-xscale.sh腳本建立armv5l-linux的交叉編譯工具。整個的建立過程可以分為如下幾個階段:

    定義環境變量à解壓linux內核并對內核打補丁à編譯安裝GDB for XScaleà編譯安裝bintuils工具集à編譯安裝有關基本的針對XScale CPU的gcc(只支持C語言編譯)à編譯生成Linux內核à編譯用于用戶程序的glibc程序庫à建立完整功能的gcc。

    2.2 配置和編譯內核

    下載Linux-2.6.15.4內核源代碼和針對的補丁文件patch-2.6.15.4-iop1。解壓內核后使用patch命令對內核打補丁。由于作者使用的是Ramdisk文件系統,故內核配置選項中應支持RamDisk support和Initial Ram disk (initrd) support選項。然后使用已經建好的交叉編譯工具鏈進行編譯。

    內核編譯完成后,從目標平臺通過TFTP協議下載內核映像。如果是內核映像的最終版本,則使用RedBoot的fis命令將其燒入Flash中,之后每次啟動時RedBoot將從Flash中裝載內核映像至內存中并解壓啟動。

    上面提到的主Makefile是指根目錄下的Makefile。它的作用是:根據.config配置文件形成編譯的源文件列表à使用CC對源文件進行編譯à使用LD把目標代碼鏈接到一起à形成Linux內核映像和相關文件。


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 耿马| 河间市| 凌源市| 高碑店市| 青田县| 如皋市| 韶关市| 寿阳县| 郧西县| 茂名市| 普宁市| 边坝县| 广南县| 达尔| 吴堡县| 中卫市| 阿坝| 普格县| 肃北| 乌兰浩特市| 夹江县| 靖边县| 和林格尔县| 买车| 格尔木市| 长海县| 宁德市| 伊春市| 巴林右旗| 馆陶县| 镇宁| 桐梓县| 上高县| 贵德县| 侯马市| 健康| 台州市| 南江县| 辽宁省| 鹤庆县| 宜川县|