嵌入式Linux在IOP331上的移植實(shí)現
引言
虛擬磁帶庫是指對于用戶(hù)端(備份服務(wù)器/網(wǎng)絡(luò )端)體現為常規磁帶庫,但是使用磁盤(pán)陣列為存儲介質(zhì)的備份設備。它不僅大大提高了系統的可靠性和可用性,而且對于那些主要使用磁帶為數據存儲介質(zhì)、現在想更換為磁盤(pán)陣列但又不想全部更換原有設備的用戶(hù)來(lái)說(shuō)具有非常重要的意義。虛擬磁帶庫的實(shí)現,依賴(lài)于以下三項核心技術(shù):嵌入式微處理器、存儲協(xié)議微處理器和嵌入式操作系統。嵌入式微處理器作為系統的主控單元,實(shí)現人機交換及存儲協(xié)議處理器的控制,同時(shí)也是嵌入式操作系統的運行平臺;存儲協(xié)議微處理器實(shí)現與存儲介質(zhì)之間的數據傳輸;嵌入式操作系統主要實(shí)現內存管理與進(jìn)程調度,為設備驅動(dòng)程序與用戶(hù)應用程序提供軟件平臺。本文首先介紹Linux操作系統和Intel 高性能I/O處理器IOP331,然后詳細分析移植的各個(gè)步驟,最后給出驗證和結論。
1.Linux操作系統和IOP331
Linux操作系統源碼開(kāi)放,遵循GPL聲明,可以自由修改和傳播。由于專(zhuān)用實(shí)時(shí)操作系統價(jià)格昂貴及源碼不公開(kāi),使Linux在嵌入式應用中占有一席之地。由于Linux自身有諸多優(yōu)勢,吸引了很多開(kāi)發(fā)商的目光,成為嵌入式操作系統的新寵。其源代碼可以從Linux的相關(guān)網(wǎng)站下載。
本設計使用的嵌入式微處理器是基于XScale的高性能I/O處理器。XScale是Intel公司定義的基于A(yíng)RM V5TE(除浮點(diǎn)運算外),即支持Thumb模式及DSP擴充指令集的ARM V5體系結構。其硬件體系結構如圖1所示。
圖1 Intel 80331硬件體系結構圖
2.Linux操作系統的移植
2.1 建立交叉編譯環(huán)境
在移植前需要在主機上建立交叉編譯環(huán)境。作者在使用的主機上安裝了Fedora Core 4的系統,從網(wǎng)上獲得了建立交叉編譯工具鏈的軟件包c(diǎn)rosstool-0.42.tar.bz2。使用最新的binutils和kernel,gcc版本為4.0.2,glibc版本為2.3.6。
解壓并修改相關(guān)的配置文件后運行demo-arm-xscale.sh腳本建立armv5l-linux的交叉編譯工具。整個(gè)的建立過(guò)程可以分為如下幾個(gè)階段:
定義環(huán)境變量à解壓linux內核并對內核打補丁à編譯安裝GDB for XScaleà編譯安裝bintuils工具集à編譯安裝有關(guān)基本的針對XScale CPU的gcc(只支持C語(yǔ)言編譯)à編譯生成Linux內核à編譯用于用戶(hù)程序的glibc程序庫à建立完整功能的gcc。
2.2 配置和編譯內核
下載Linux-2.6.15.4內核源代碼和針對IOP331的補丁文件patch-2.6.15.4-iop1。解壓內核后使用patch命令對內核打補丁。由于作者使用的是Ramdisk文件系統,故內核配置選項中應支持RamDisk support和Initial Ram disk (initrd) support選項。然后使用已經(jīng)建好的交叉編譯工具鏈進(jìn)行編譯。
內核編譯完成后,從目標平臺通過(guò)TFTP協(xié)議下載內核映像。如果是內核映像的最終版本,則使用RedBoot的fis命令將其燒入Flash中,之后每次啟動(dòng)時(shí)RedBoot將從Flash中裝載內核映像至內存中并解壓?jiǎn)?dòng)。
上面提到的主Makefile是指根目錄下的Makefile。它的作用是:根據.config配置文件形成編譯的源文件列表à使用CC對源文件進(jìn)行編譯à使用LD把目標代碼鏈接到一起à形成Linux內核映像和相關(guān)文件。
相關(guān)推薦
技術(shù)專(zhuān)區
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍牙
- PLC
- PWM
- 汽車(chē)電子
- 轉換器
- 電源管理
- 信號放大器
評論