• 
    

    
    

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

      linux下ARM的交互開發(fā)設計研究

      2015-01-29 13:26:40孫弢
      2014年36期

      作者簡介:孫弢(1980-),男,吉林省吉林市人,吉林電子信息職業(yè)技術(shù)學院,講師,碩士,主要研究方向:網(wǎng)站開發(fā),嵌入式軟件開發(fā)。

      摘要:隨著 ARM芯片以及LINUX操作系統(tǒng)的出現(xiàn),為嵌入式的發(fā)展注入了強勁的活力。本設計實現(xiàn)LINUX操作系統(tǒng)向ARM9平臺的移植。U-boot是系統(tǒng)的啟動引導程序,要移植LIUNX操作系統(tǒng),U-boot是必不可少的。LINUX操作系移植成功后,系統(tǒng)還是不能正常啟動的,還需要根文件系統(tǒng)(rootfs)支持,這樣系統(tǒng)就可以正常啟動。但是嵌入式系統(tǒng)往往是為某些特定的功能設計的,所以,系統(tǒng)要想完成某些功能,還需要頂層應用程序的支持。

      關(guān)鍵詞:U-boot;內(nèi)核配置;根文件系統(tǒng)

      隨著嵌入式技術(shù)的發(fā)展,嵌入式的應用領(lǐng)域也越來越廣泛。隨著IC設計的發(fā)展,出現(xiàn)了工業(yè)化ARM芯片,可以說ARM是未來嵌入式開發(fā)的主宰。ARM是Advanced RISC Machines的首字母組合,是一類微型處理器的統(tǒng)稱。

      LINUX操作系統(tǒng)是目前嵌入式操作系統(tǒng)中主流的操作系統(tǒng),它不同于WINDOWS,LINUX操作系統(tǒng)是完全開源的,這就使嵌入式開發(fā)過程大大降低了成本。另外,LINUX操作系統(tǒng)支持多種文件系統(tǒng),如EXT2、EXT3、MINIX、VFS等等。在ARM開發(fā)過程中LINUX操作系統(tǒng)的開發(fā)極為重要,LINUX下ARM的BOOTLOAD、內(nèi)核、文件系統(tǒng)的裁剪、移植、燒錄工作以及針對文件系統(tǒng)進行GUI的編寫任務,最終形成一成功的GUI界面,成為ARM-LINUX的開發(fā)重點。

      一、開發(fā)平臺選擇

      本設計完成LINUX下ARM的BOOTLOAD、內(nèi)核、文件系統(tǒng)的燒錄工作,同時主要針對文件系統(tǒng)進行GUI的編寫任務,最終形成一成功的GUI界面。本設計選用的bootloader 為U-boot,經(jīng)過編譯后生成二進制文件,將其燒寫到ARM平臺的NAND FLASH中。內(nèi)核選用LINUX操作系統(tǒng)LINUX 2.6.14.1版本的內(nèi)核源碼,將其進行修改之后移植到ARM9(S3C2410)的芯片上。文件系統(tǒng)采用busybox軟件包經(jīng)過修改用cramfs 工具生成.img映像文件,燒寫到NAND FLASH 中。

      ARM9是繼ARM7之后的新一代的處理器,采用了更多的晶體管進行全新的設計,處理能力超過ARM7處理器達到兩倍以上于。ARM9的處理能力的提高主要是提高了時鐘頻率,降低了指令執(zhí)行周期。ARM9 系列包括三種處理器:ARM926EJ-S、ARM946E-S 和 ARM968E-S。本設計采用韓國三星公司生產(chǎn)的ARM9TDMI——s3c2410芯片。

      ARM9 處理器系列的核心產(chǎn)品是 ARM9TDMI 處理器,該處理器系列整合了 16 位的 Thumb 指令集。ARM9E 處理器系列能夠為微控制器、DSP 和 Java 應用程序提供單處理器解決方案。ARM9E 系列產(chǎn)品是一些 DSP 增強的 32 位 RISC 處理器,適用于需要綜合 DSP 和微控制器性能的應用程序。該產(chǎn)品系列包括 ARM926EJ-S、ARM946E-S、ARM966E-S 和 ARM968E-S 處理器宏單元。其包括信號處理擴展以增強 16 位固定點性能,方式是使用單循環(huán) 32 x 16 乘法累積(MAC)單元,并實現(xiàn)了 16 位的 Thumb 指令集。此外,ARM926EJ-S 處理器還采用了 ARM Jazelle 技術(shù),從而能夠在硬件中直接執(zhí)行 Java 字節(jié)碼。

      應用程序是簡單的MP3播放器移植,這里做的工作主要是系統(tǒng)的搭建,應用程序只是作為檢測系統(tǒng)而作的輔助工作。以此證明系統(tǒng)的可靠、安全、穩(wěn)定的性質(zhì)。

      二、系統(tǒng)設計

      U-Boot是系統(tǒng)構(gòu)建的第一步。U-Boot,全稱Universal Boot Loader,是遵循GPL條款的開放源碼項目。uboot 就是針對某個嵌入式環(huán)境特別編譯特別準備的一級引導程序。用來初始化環(huán)境,并且讀取啟動 Linux 內(nèi)核,當然一個在 Linux 內(nèi)核啟動之前就啟動的 bootloader 不僅僅有這些功能。U-Boot的其它主要功能還有支持NFS掛載、RAMDISK形式的根文件系統(tǒng)支持NFS掛載、從FLASH中引導壓縮或非壓縮系統(tǒng)內(nèi)核;可靈活設置、傳遞多個關(guān)鍵參數(shù)給操作系統(tǒng),適合系統(tǒng)在不同開發(fā)階段的調(diào)試要求與產(chǎn)品發(fā)布,尤其對LINUX支持最為強勁。目前,U-Boot優(yōu)勢突顯示,對于研究于開放源代碼BOOT LOADER移植工作的嵌入式開發(fā)人員正將各個不同系列嵌入式處理器進行不斷地移植并深入展開,用來支持更多的嵌入式操作系統(tǒng)的裝載與引導。

      因為我們的目標板是arm體系的平臺,所以不能只單純的用主機上的編譯工具直接編譯,那樣就會造成程序無法運行,最終導致移植工程失敗。所以我們將要GCC編譯工具進行改裝,生成交叉工具。

      有了U-boot和交叉編譯工具,接下來就要對內(nèi)核進行配置。今天的LINUX是全球被最廣泛移植的操作系統(tǒng)內(nèi)核。從掌上電腦iPAQ到IBM S/390,甚至于有人成功的將LINUX內(nèi)核在新力出品的游戲機PS2及PS3和微軟出品的游戲機Xbox上使用。

      LINUX也是IBM “Blue Gene” Blue Gene的操作系統(tǒng)。直至2008年11月,全球前五百大超級電腦(TOP 500)有高達87.8%的比例采用LINUX為它們的作業(yè)系統(tǒng),最快的超級電腦IBM_Roadrunner正是采用LINUX的。

      文件系統(tǒng)是LINUX操作系統(tǒng)的精髓所在也是重要的組成部分,LINUX的文件系統(tǒng)的功能是強大的。文件系統(tǒng)不僅包含著文件中的數(shù)據(jù)而且還有文件系統(tǒng)的目錄結(jié)構(gòu),所有LINUX的 用戶和程序看到的文件、目錄、軟連接及文件保護信息等都存儲在其中。

      三、總結(jié)

      linux操作系統(tǒng)為用戶進程與硬件設備進行交互,提供系統(tǒng)服務并提供了一組接口。在應用程序和硬件之間,linux內(nèi)核提供的系統(tǒng)服務擁有很多優(yōu)點,第一,linux內(nèi)核提供的系統(tǒng)服務讓編程更加簡單容易,使用戶從學習硬件設備的低級編程特性中解放出來;第二,linux內(nèi)核提供的系統(tǒng)服務具有非常高的系統(tǒng)安全性,內(nèi)核在滿足每個請求應答之前,接口級都要檢查這種請求的正確性。最后也是最重要的是這些接口使得程序具有可移植性,因為只要內(nèi)核所提供的一組接口相同,那么在任一內(nèi)核之上就可以正確地編譯和執(zhí)行程序。

      在ARM平臺上移植linux操作系統(tǒng)作為實現(xiàn)設備小型化、智能化的一個重要元素,目前己經(jīng)廣泛應用于國防、工業(yè)、交通、能源、信息技術(shù)以及日常生活等各個領(lǐng)域,研究和開發(fā)linux操作系統(tǒng)在ARM平臺上的移植具有重要的現(xiàn)實意義。(作者單位:吉林電子信息職業(yè)技術(shù)學院)

      參考文獻:

      [1]杜春雷 編著. ARM體系結(jié)構(gòu)與編程.清華大學出版社. 2003,84~116

      [2]馮國進.嵌入式Linux驅(qū)動程序設計從入門到精通.清華大學出版社,25~45

      [3]李志LINUX 下的C語言程序設計.清華大學出版社,2005,69~75

      平山县| 峨山| 名山县| 砀山县| 章丘市| 民丰县| 霍州市| 铁岭县| 石楼县| 买车| 昔阳县| 昌乐县| 鹿邑县| 准格尔旗| 巫山县| 庆云县| 黎城县| 平凉市| 嘉鱼县| 朝阳区| 炎陵县| 体育| 荥阳市| 砚山县| 高要市| 吉木乃县| 连云港市| 保康县| 东辽县| 会理县| 五寨县| 遂平县| 普定县| 华阴市| 合水县| 阿尔山市| 大田县| 重庆市| 元谋县| 迭部县| 威信县|