<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM9的嵌入式Linux代碼移植

          基于ARM9的嵌入式Linux代碼移植

          作者: 時間:2010-06-30 來源:網(wǎng)絡(luò) 收藏

          摘要:介紹了的方法和過程,給出了開發(fā)環(huán)境下硬件平臺的bootloader、內(nèi)核的實現(xiàn)方案,該方案可為系統(tǒng)的應(yīng)用研究提供操作系統(tǒng)層面的支持。
          關(guān)鍵詞:嵌入式系統(tǒng);ARM;vivi;

          本文引用地址:http://www.ex-cimer.com/article/151761.htm

          O 引言
          隨著計算機技術(shù)、通信技術(shù)以及Internet的飛速發(fā)展。嵌入式系統(tǒng)已得到越來越廣泛的應(yīng)用。與此同時,嵌入式系統(tǒng)的復(fù)雜性也在不斷增加,嵌入式操作系統(tǒng)已經(jīng)成為其中最重要的組成部分。目前,市場上存在著眾多的嵌入式操作系統(tǒng),而在這些系統(tǒng)之中,兼有Linux和嵌入式優(yōu)點的嵌入式Linux操作系統(tǒng),憑借其在結(jié)構(gòu)清晰、源開放性、裁剪性好,開發(fā)與使用均易實現(xiàn)等方面的優(yōu)勢,擁有巨大的市場前景和商業(yè)機會。當(dāng)前嵌入式Linux的一個熱點應(yīng)用就是將Linux內(nèi)核移植到一些典型的微控制器和微處理器上,提供操作系統(tǒng)層面支持,以實現(xiàn)嵌入式系統(tǒng)用軟件的開發(fā)。
          此研究Linux 2.6內(nèi)核的嵌入式Linux系統(tǒng),分析了所面臨的理論問題、關(guān)鍵技術(shù),實現(xiàn)了Linux內(nèi)核在平臺上的運行。

          1 開發(fā)環(huán)境介紹
          嵌入式IJnux移植是嵌入式系統(tǒng)開發(fā)的重要組成部分,它需要相應(yīng)的軟件組件支持,同時又與目標(biāo)硬件平臺關(guān)系密切。因此,在正式移植
          前,首先應(yīng)明確嵌入式系統(tǒng)開發(fā)的流程與開發(fā)環(huán)境,再根據(jù)目標(biāo)硬件平臺的特點和所選擇的軟件組件,正確搭建功能完善的交叉開發(fā)環(huán)境,最后制定出合理的移植方案,從而使移植工作可以順利的進行。
          1.1 硬件平臺
          本次移植采用斯道ARM9開發(fā)板作為硬件平臺,其基本構(gòu)成為核心板和底板(外設(shè)板或基本板),核心板上集成了SamsungS3C2410處理器、64 M的FLASH和64M的SDRAM,為應(yīng)用研發(fā)提供了足夠的空間,基板則提供了豐富的外圍接口。其硬件平臺結(jié)構(gòu)如圖l所示。


          此完整的應(yīng)用系統(tǒng)具有體積小、耗電低、處理能力強等特點,能夠裝載和運行嵌入式Linux操作系統(tǒng)。用戶可以在這個系統(tǒng)平臺上自主進行軟件開發(fā)。
          1.2 Linux內(nèi)核及處理器
          目前用于嵌入式Linux系統(tǒng)的內(nèi)核大多數(shù)使用2.4.x版,然而,隨著嵌入式微處理器性能的不斷增強及其應(yīng)用范圍的日趨擴大,Linux-2.6版內(nèi)核由于其針對嵌入式系統(tǒng)應(yīng)用的顯著特點,必將會越來越多的被應(yīng)用于嵌入式系統(tǒng)移植與開發(fā)Linux系統(tǒng)之中。文中采用的是Linux-2.6版內(nèi)核。
          vivi是韓國mizi公司開發(fā)的bootloader,適用于ARM9處理器,支持S3C2410X嵌入式ARM-Linux移植的應(yīng)用處理器。和所有的bootloader一樣,vivi也有兩種工作模式,即啟動加載模式和下載模式。啟動加載模式指在一段時間后(這個時間可更改)自行啟動Linux內(nèi)核,它是vivi的默認模式。下載模式則是指vivi為用戶提供一個命令行接口,用戶可通過接口使用命令。

          2 系統(tǒng)移植方案
          在硬件方面,為支持NAND Flash引導(dǎo)模式,S3C2410A處理器在芯片內(nèi)集成了4 KB的被稱為steppingstone的SRAM。NAND Flash引導(dǎo)模式下,系統(tǒng)復(fù)位后NAND Flash中的前4位內(nèi)容首先被復(fù)制到steppingstone,接著將steppingstone映射到nGCSO,即內(nèi)存BankO起始她址為Ox00000000,隨后系統(tǒng)開始正常引導(dǎo)。
          同樣,在軟件方面,bootloader程序應(yīng)被燒寫到NAND Flash最前面的部分。通常bootloader程序大于4 KB,因此,在bootloader的前4 KB程序段中,必須先完成內(nèi)存SDRAM的初始化,并將自身完全復(fù)制到SDRAM中,同時設(shè)置必要的堆棧,然后跳轉(zhuǎn)到SDRAM中去執(zhí)行這一系列工作。這樣方可完成后續(xù)的初始化系統(tǒng)資源及裝載操作系統(tǒng)內(nèi)核的任務(wù)。
          本次移植使用ARM9開發(fā)板,通過跳線方式設(shè)置OM[1:0]引腳來支持NAND Flash啟動模式,因此,移植方案使用NAND Flash+SDRAM的存儲模式,bootloader放在SDRAM中,內(nèi)核和文件系統(tǒng)都放在NAND Flash中,根據(jù)選用的方案,整個系統(tǒng)移植要做的工作包括兩方面:
          Bootloader:為裝載操作系統(tǒng)內(nèi)核,支持NAND Flash及網(wǎng)絡(luò)下載和串口通信,從而方便嵌人式ARM.Linux移植以開發(fā)調(diào)試。
          Linux系統(tǒng):支持NAND Flash,并移植Cramfs+Yaffs混合文件系統(tǒng);支持NFS文件系統(tǒng)及網(wǎng)絡(luò)通信、串口等。

          3 Linux內(nèi)核移植
          在同一硬件平臺上可以嵌入不同的嵌入式操作系統(tǒng),這就好比PC既可以安裝Windows又可以安裝Linux一樣。同樣,有些操作系統(tǒng)經(jīng)過移植后即可運行在不同的硬件平臺上。通常情況下,如果一個系統(tǒng)可以在不同硬件平臺上運行,那么這個系統(tǒng)便是可移植的。將某一個平臺的運行在其他平臺上的過程稱作移植。嵌入式系統(tǒng)是“硬件可裁剪”的,因此工程師們設(shè)計的硬件電路會有所不同,從而使這些可能無法正確運行,因而要實現(xiàn)移植就應(yīng)結(jié)合自己的硬件電路,對已有的內(nèi)核代碼進行修改。
          3.1 內(nèi)核移植難點
          Linux系統(tǒng)的內(nèi)核是多層次結(jié)構(gòu)的單體內(nèi)核,其可移植性比微內(nèi)核要差一些,但是,這種內(nèi)核具有較高的效率。從操作系統(tǒng)發(fā)展的趨勢來看,微內(nèi)核作為一種先進的操作系統(tǒng)結(jié)構(gòu),是操作系統(tǒng)發(fā)展的一個潮流。但是,微內(nèi)核結(jié)構(gòu)較低的系統(tǒng)通信效率大大的降低了系統(tǒng)的性能。所以,從系統(tǒng)效率和性能的角度來考慮,Linux并沒有采用先進的微內(nèi)核結(jié)構(gòu)而是選擇了傳統(tǒng)的單體內(nèi)核機構(gòu)。
          3.2 內(nèi)核移植的基本策略
          在Linux2.6內(nèi)核支持下,Linux已經(jīng)在許多典型的硬件平臺上實現(xiàn)移植,其中包括:I386、ARM、MIPS、ALPHA、PowerPC、SPARC、SH等。但是對于特定硬件體系設(shè)計的硬件平臺,需要從頭對Linux進行移植。此外還有部分體系的硬件平臺,Linux只對其中部分的CPU或目標(biāo)板提供了支持,如果使用了Linux尚未支持的CPU或目標(biāo)板,也需要對Linux內(nèi)核進行移植工作。通??梢圆捎靡韵聝煞N方法進行Linux內(nèi)核移植工作:
          (1)從頭設(shè)計。即采用“自底向上”的設(shè)計方法,從硬件的需求考慮逐步的采用分析、設(shè)計、編碼、測試。這種方法比較適合針對一種全新的硬件平臺開展移植工作。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          關(guān)鍵詞: 代碼 移植 Linux 嵌入式 ARM9 基于

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();