新聞中心

        EEPW首頁 > 嵌入式系統 > 嵌入式設備上的 Linux 系統開發(一)

        嵌入式設備上的 Linux 系統開發(一)

        ——
        作者: 時間:2006-03-25 來源: 收藏
        如果您剛接觸嵌入式開發,那么大量可用的引導裝載程序(bootloader)、規模縮小的分發版(distribution)、文件系統和 GUI 看起來可能太多了。但是這些豐富的選項實際上是一種恩賜,允許您調整開發或用戶環境以完全符合您的需要。對 Linux 嵌入式開發的概述將幫助您理解所有這些選項。 
        Linux 正在嵌入式開發領域穩步發展。因為 Linux 使用 GPL(請參閱本文后面的參考資料),所以任何對將 Linux 定制于 PDA、掌上機或者可佩帶設備感興趣的人都可以從因特網免費下載其內核和應用程序,并開始移植或開發。許多 Linux 改良品種迎合了嵌入式/實時市場。它們包括 RTLinux(實時 Linux)、uclinux(用于非 MMU 設備的 Linux)、Montavista Linux(用于 ARM、MIPS、PPC 的 Linux 分發版)、ARM-Linux(ARM 上的 Linux)和其它 Linux 系統(請參閱參考資料以鏈接到本文中提到的這些和其它術語及產品。) 

        嵌入式 Linux 開發大致涉及三個層次:引導裝載程序、Linux 內核和圖形用戶界面(或稱 GUI)。在本文中,我們將集中討論涉及這三層的一些基本概念;深入了解引導裝載程序、內核和文件系統是如何交互的;并將研究可用于文件系統、GUI 和引導裝載程序的眾多選項中的一部分。 

        引導裝載程序 
        引導裝載程序通常是在任何硬件上執行的第一段代碼。在象臺式機這樣的常規系統中,通常將引導裝載程序裝入主引導記錄(Master Boot Record,(MBR))中,或者裝入 Linux 駐留的磁盤的第一個扇區中。通常,在臺式機或其它系統上,BIOS 將控制移交給引導裝載程序。這就提出了一個有趣的問題:誰將引導裝載程序裝入(在大多數情況中)沒有 BIOS 的嵌入式設備上呢? 

        解決這個問題有兩種常規技術:專用軟件和微小的引導代碼(tiny bootcode)。 

        專用軟件可以直接與遠程系統上的閃存設備進行交互并將引導裝載程序安裝在閃存的給定位置中。閃存設備是與存儲設備功能類似的特殊芯片,而且它們能持久存儲信息 — 即,在重新引導時不會擦除其內容。 

        這個軟件使用目標(在嵌入式開發中,嵌入式設備通常被稱為目標)上的 JTAG 端口,它是用于執行外部輸入(通常來自主機機器)的指令的接口。JFlash-linux 是一種用于直接寫閃存的流行工具。它支持為數眾多的閃存芯片;它在主機機器(通常是 i386 機器 — 本文中我們把一臺 i386 機器稱為主機)上執行并通過 JTAG 接口使用并行端口訪問目標的閃存芯片。當然,這意味著目標需要有一個并行接口使它能與主機通信。Jflash-linux 在 Linux 和 Windows 版本中都可使用,可以在命令行中用以下命令啟動它: 

        Jflash-linux <bootloader> 

        某些種類的嵌入式設備具有微小的引導代碼 — 根據幾個字節的指令 — 它將初始化一些 DRAM 設置并啟用目標上的一個串行(或者 USB,或者以太網)端口與主機程序通信。然后,主機程序或裝入程序可以使用這個連接將引導裝載程序傳送到目標上,并將它寫入閃存。 

        在安裝它并給予其控制后,這個引導裝載程序執行下列各類功能: 



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新竹县| 鄯善县| 定边县| 崇文区| 抚远县| 栾城县| 信丰县| 新民市| 甘洛县| 莫力| 监利县| 兴隆县| 平阳县| 龙州县| 雷州市| 江陵县| 钦州市| 曲水县| 同仁县| 墨竹工卡县| 紫云| 杭锦后旗| 西乌珠穆沁旗| 泸溪县| 确山县| 陈巴尔虎旗| 荥阳市| 泉州市| 邳州市| 渭南市| 洪湖市| 东光县| 扶绥县| 原平市| 云南省| 明光市| 娱乐| 辉南县| 丰县| 明水县| 惠来县|