• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于8086單芯片計(jì)算機(jī)的嵌入式Linux操作系統(tǒng)移植

    2015-07-24 08:21:46楊延慶
    西安工程大學(xué)學(xué)報 2015年4期
    關(guān)鍵詞:宿主機(jī)單芯片內(nèi)核

    楊延慶

    (西安醫(yī)學(xué)院 信息技術(shù)處,陜西 西安710021)

    0 引 言

    計(jì)算機(jī)技術(shù)的飛速發(fā)展使得計(jì)算機(jī)硬件的性能不斷提高,計(jì)算機(jī)由原來的大體積、單一的性能逐漸變得體積越來越小,集成度越來越高,性能越來越強(qiáng).硬件復(fù)雜程度的增加對軟件的設(shè)計(jì)也提出了新的要求.計(jì)算機(jī)軟件的開發(fā)成本上升、周期增大,嵌入式系統(tǒng)性能越來越高,在應(yīng)用中充分發(fā)揮了硬件性能的同時降低開發(fā)成本和開發(fā)難度.

    解決硬件與軟件矛盾的做法是引入嵌入式操作系統(tǒng).嵌入式操作系統(tǒng)是一種用途廣泛的系統(tǒng)軟件,通常包括與硬件相關(guān)的底層驅(qū)動程序、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面及標(biāo)準(zhǔn)化瀏覽器等[1-2].嵌入式操作系統(tǒng)負(fù)責(zé)嵌入式系統(tǒng)的全部軟、硬件資源的分配、任務(wù)調(diào)度,控制、協(xié)調(diào)開發(fā)活動,通過裝卸某些模塊來達(dá)到系統(tǒng)所要求的功能[3-5].由于微內(nèi)核與機(jī)器特征相關(guān)的代碼隔離在微內(nèi)核的底層,因此在移植過程中只需修改內(nèi)核中的代碼,嵌入式操作系統(tǒng)就可移植到不同的硬件平臺.本文在構(gòu)建基于8086CPU的單芯片系統(tǒng)設(shè)計(jì)的基礎(chǔ)上研究將Linux操作系統(tǒng)移植到目標(biāo)平臺.

    1 8086單芯片平臺

    1.1 8086單芯片計(jì)算機(jī)平臺

    單芯片計(jì)算機(jī)是將傳統(tǒng)PC的CPU、內(nèi)存、顯卡等集成到單個芯片中.單芯片計(jì)算機(jī)與傳統(tǒng)PC相比具有體積小、質(zhì)量好、能耗底等優(yōu)點(diǎn),同時系統(tǒng)的性能也有了很大的改善.促進(jìn)計(jì)算機(jī)的迅速普及.

    單芯片計(jì)算機(jī)的設(shè)計(jì)是一個基于某一型號CPU及其外圍I/O接口的SoC設(shè)計(jì)過程.本文選擇標(biāo)準(zhǔn)的Intel 8086CPU.

    8086CPU芯片有最小模式與最大模式兩種工作模式.所謂最小模式,是指系統(tǒng)中只有一個8086微處理器,在這種情況下,所有的總線控制信號,都直接由8086CPU產(chǎn)生,系統(tǒng)的總線控制邏輯電路被減到最少,該模式適用于規(guī)模較小的微機(jī)應(yīng)用系統(tǒng).本文提及的8086CPU單芯片計(jì)算機(jī)采用最小工作模式進(jìn)行設(shè)計(jì).8086CPU單芯片計(jì)算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成.

    圖1 8086單芯片計(jì)算機(jī)硬件系統(tǒng)結(jié)構(gòu)Fig.1 The 8086single chip computer hardware system structure

    (1)硬件系統(tǒng):硬件系統(tǒng)包括CPU子系統(tǒng)、接口部件子系統(tǒng)和存儲器子系統(tǒng).CPU子系統(tǒng)包括8086CPU、數(shù)據(jù)收發(fā)控制器、地址鎖存器和存儲器譯碼電路等.接口部件子系統(tǒng)都掛載在Wishbone總線上,包括如下接口模塊:8254定時器/計(jì)數(shù)器、8255通用I/O接口、VGA顯示接口等.存儲器子系統(tǒng)包括RAM與ROM.搭建的8086單芯片計(jì)算機(jī)硬件系統(tǒng)如圖1所示.

    (2)軟件系統(tǒng)包括操作系統(tǒng)和在此平臺上的應(yīng)用軟件.Linux操作系統(tǒng)就是在上述硬件系統(tǒng)的基礎(chǔ)上進(jìn)行移植的軟件系統(tǒng).通過對開源的Linux操作系統(tǒng)內(nèi)核進(jìn)行裁剪來滿足用戶的需求.應(yīng)用軟件指的是在操作系統(tǒng)移植成功以后,為滿足用戶的一些需求在8086單芯片計(jì)算機(jī)上安裝的一些應(yīng)用軟件及進(jìn)行的一系列的操作.

    1.2 開發(fā)平臺

    嵌人式系統(tǒng)開發(fā)采用的是宿主機(jī)-目標(biāo)機(jī)模式,宿主機(jī)是PC機(jī),宿主機(jī)上裝有操作系統(tǒng) Windows XP,在Windows XP系統(tǒng)中裝有虛擬機(jī)vmware并在vmware上裝RedHatLinux5企業(yè)版;目標(biāo)機(jī)采用Intel公司的推出的16位標(biāo)準(zhǔn)的Intel8086微處理器,有29 000只晶體管,速度可分為5MHz,8MHz,10MHz,16位的內(nèi)部結(jié)構(gòu),16位雙向數(shù)據(jù)信號線,20位地址信號線,可尋址1M字節(jié)存儲單元,可利用第16位的地址總線來進(jìn)行I/O端口尋址,可尋址64K個I/O端口,單一的5V電源.嵌入式Linux的載入通??梢酝ㄟ^在宿主機(jī)上運(yùn)行專門的Flash燒寫工具來實(shí)現(xiàn),運(yùn)行該軟件后,宿主機(jī)能直接訪問目標(biāo)板上的Flash器件.

    本文所提到的8086單芯片計(jì)算機(jī)系統(tǒng)就是將Intel8086微處理器及其外圍設(shè)備運(yùn)用硬件描述語言VHDL"軟化",實(shí)現(xiàn)8086微處理器的硬件功能.并在Xilinx公司推出的嵌入式系統(tǒng)開發(fā)板Virtex-ⅡPRO上實(shí)現(xiàn)了功能演示.

    2 Linux移植分析

    2.1 建立Linux交叉編譯環(huán)境

    Linux內(nèi)核移植前首先建立交叉編譯器編譯內(nèi)核文件及應(yīng)用程序[6-8],這是一個比較復(fù)雜的過程同時也是相當(dāng)重要的過程.所謂交叉編譯就是在宿主機(jī)上進(jìn)行編譯[9],生成目標(biāo)機(jī)Intel8086處理器可執(zhí)行的二進(jìn)制位流文件.到網(wǎng)上下載交叉編譯工具鏈Crosstool-ng-1.5.3.因?yàn)镃rosstool-ng能建立一個新的工具鏈以支持對最新kernel的編譯,然后在文件crosstool-ng-1.5.3中選擇適合目標(biāo)板的gcc編譯器和函數(shù)庫glibc,選擇下面的行:

    2.2 Linux內(nèi)核、配置和編譯

    在已經(jīng)安裝好的交叉編譯工具Crosstool-ng的基礎(chǔ)上對內(nèi)核進(jìn)行編譯,編譯內(nèi)核整體上分為3個步驟:1、配置內(nèi)核(就是確定哪些功能要保留在編譯好的內(nèi)核中,哪些功能要從內(nèi)核中刪除),生成一個編譯配置文件.config.2、編譯內(nèi)核.3、安裝內(nèi)核.具體步驟如下:

    圖2 內(nèi)核配置圖形化界面Fig.2 Kernel configuration graphical interface

    該處也可以用make zImage,但必須確保所編譯的新內(nèi)核在640K之下.新內(nèi)核編譯成功之后,這些指令會在/usr/src/linux/arch/X86/boot/下生成bzImage.elf內(nèi)核文件.

    2.3 制作根文件系統(tǒng)

    嵌入式系統(tǒng)的使用還需要根文件系統(tǒng)的支持,它是Linux系統(tǒng)的根本所在,啟動時必須加載以支持系統(tǒng)的運(yùn)行.一般包括以下目錄內(nèi)容:/bin(包含了應(yīng)用程序);/boot(包含了內(nèi)核和啟動文件);/dev(設(shè)備文件目錄);/proc(proc文件系統(tǒng)目錄);/etc(系統(tǒng)配置文件的目錄);/sbin(系統(tǒng)程序的目錄);/lib(共享函數(shù)庫的目錄);/mnt(裝載其它磁盤節(jié)點(diǎn)的目錄);/usr(附加應(yīng)用程序的目錄),同時還要提供一些實(shí)用的基本工具,像ls、chmod、cd等.

    有兩種基本的根文件系統(tǒng)制作方法,將system.ace文件放在壓縮flash卡進(jìn)行有盤引導(dǎo)的本地文件系統(tǒng)LFS(local file system);通過網(wǎng)絡(luò)進(jìn)行的無盤引導(dǎo)即網(wǎng)絡(luò)文件系統(tǒng)NFS(network file system).本文使用第一種方法,采用BusyBox制作一個去構(gòu)件根文件系統(tǒng),BusyBox具有shell的功能,它能提供系統(tǒng)所需要的大部分工具,包括編輯工具、網(wǎng)絡(luò)工具、模塊加載工具、壓縮解壓縮工具、查找工具、帳號密碼管理工具和進(jìn)程相關(guān)工具等.其體積很小,這就使得我們能將根文件系統(tǒng)以及Linux內(nèi)核存放在64KB的flash卡上.

    下載并編譯BusyBox,Klingauf[7]詳細(xì)地介紹如何使用BusyBox制作根文件系統(tǒng),按照其步驟只要修改mkrootfs.sh腳本的幾個地方就可生成根文件系統(tǒng),因此節(jié)省了許多時間.修改如下:

    還要改變兩個文件權(quán)限,如下:

    2.4 CF卡分區(qū)引導(dǎo)

    將根文件系統(tǒng)拷貝到CF卡上.步驟如下:

    (1)在Linux的/etc/fstab中輸入:

    文件/etc/fstab下存放的是系統(tǒng)文件相關(guān)信息.如果該文件設(shè)置正確,則能夠通過"mount/directoryname"命令加載文件系統(tǒng),不同的文件系統(tǒng)對應(yīng)不同的行.“noauto”意思是當(dāng)使用“mount-a”命令時文件系統(tǒng)不加載,“user”指的是允許一般用戶掛載文件系統(tǒng),兩個零表示文件系統(tǒng)不需要轉(zhuǎn)儲、不需要啟動時被掃描.

    運(yùn)行命令:

    表示對設(shè)備進(jìn)行邏輯上的分區(qū),將CF卡分成3個區(qū),第一個區(qū)格式為FAT16,大小保證能夠放下system.ace文件就可以,第二個區(qū)為Linux Swap交換分區(qū),第三個區(qū)用來存放根文件系統(tǒng).

    (2)在網(wǎng)站上下載mkdosfs工具,在windows操作系統(tǒng)下格式化CF卡上第一個區(qū),然后運(yùn)行命令:

    將system.ace拷貝第一個分區(qū)上準(zhǔn)備引導(dǎo).

    (3)在Linux操作系統(tǒng)下格式化第二個分區(qū),運(yùn)行命令:

    一切準(zhǔn)備就緒,將bzImage.elf和文件系統(tǒng)system.ace文件拷貝到CF卡中第一個分區(qū),本地引導(dǎo)Linux,載入運(yùn)行,在開發(fā)板上看到Linux的提示符后,移植就成功了.

    3 結(jié) 論

    (1)結(jié)合嵌入式Linux操作系統(tǒng)和8086單芯片計(jì)算機(jī)的特點(diǎn),解決了Linux操作系統(tǒng)移植的關(guān)鍵技術(shù),移植過程對于其他類型微處理器上Linux的移植具有參考價值.

    (2)移植為構(gòu)建完整的8086單芯片計(jì)算機(jī)系統(tǒng)提供了系統(tǒng)軟件,為應(yīng)用軟件的運(yùn)行提供了操作系統(tǒng)平臺.

    [1]孫璐,陶晶,張勇智,等.基于8086CPU的單芯片計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)[J].中國集成電路,2010(9):45-49.SUN Lu,TAO Jing,ZHANG Yongzhi,et al.The design of the single chip computer system based on 8086CPU[J].China Integrated Circuit,2010(9):45-49.

    [2]李艷芳,唐云.EMU8086和 DEBUG在《微機(jī)原理》課程教學(xué)中的應(yīng)用[J].湖南科技學(xué)院學(xué)報,2013,34(8):41-43.LI Yanfang,TANG Yun.EMU8086and DEBUG in the application of the course“microcomputer principle”teaching[J].Journal of Hunan University of Science and Engineering,2013,34(8):41-43.

    [3]SAVITZKY E,STEPHEN R.Real-time microprocessor systems[M].NewYork:Van Nostrand Reinhold Company,2012:35-60.

    [4]王亞剛.嵌入式Bootloader機(jī)制的分析與移植[J].計(jì)算機(jī)工程,2010,36(6):267-269.WANG Yagang.Embedded Bootloader mechanism analysis and transplantation[J].Computer Engineering,2010,36(6):267-269.

    [5]陳國強(qiáng).嵌入式Linux操作系統(tǒng)的研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014,12(1):144-145.CHEN Guoqiang.Research of embedded Linux operating system[J].Computer CD Software and Applications,2014,12(1):144-145.

    [6]李曉寧,李曉峰.基于嵌入式Linux操作系統(tǒng)的研究[J].長春師范學(xué)院學(xué)報,2010,22(2):93-96.LI Xiaoning,LI Xiaofeng.Based on the research of embedded Linux operating system[J].Journal of Changchun Normal University,2010,22(2):93-96.

    [7]劉文峰,李程遠(yuǎn),李善平.嵌入式Linux操作系統(tǒng)的研究[J].浙江大學(xué)學(xué)報:理學(xué)版,2010,14(4):112-113.LIU Wenfeng,LI Chengyuan,LI Shanping.Research of embedded Linux operating system[J].Journal of Zhejiang University:Science Edition,2010,14(4):112-113.

    [8]武苗苗,郭雯雯.嵌入式Linux操作系統(tǒng)通信管理的設(shè)計(jì)研究[J].電子技術(shù)與軟件工程,2013,12(10):102-103.WU Miaomiao,GUO Wenwen.Communication management of embedded Linux operating system design research[J].Electronic Technology and Software Engineering,2013,12(10):102-103.

    [9]Kernel org.The public site for downloading linux kernel archives[EB/OL].(2011-02-17)[2015-01-10].http://www.klingauf.de/v2p/index.phtml.

    [10]武杰.基于 ARM9的嵌入式Linux移植[J].自動化技術(shù)與應(yīng)用,2014(3):59-62.WU Jie.Based on ARM9embedded Linux transplantation[J].Techniques of Automation and Application,2014(3):59-62.

    [11]韓守謙,裴海龍,王清陽.基于 Xenomai實(shí)時嵌入式Linux操作系統(tǒng)的構(gòu)建[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,35(1):123-124.HAN Shouqian,PEI Hailong,WANG Qingyang.Build based on Xenomai real-time embedded Linux operating system[J].Computer Engineering and Design,2011,35(1):123-124.

    猜你喜歡
    宿主機(jī)單芯片內(nèi)核
    萬物皆可IP的時代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
    強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
    基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
    Linux內(nèi)核mmap保護(hù)機(jī)制研究
    虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室在農(nóng)村職校計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)教學(xué)中的應(yīng)用研究
    RDA宣布推出高性能藍(lán)牙音頻系統(tǒng)單芯片RDA5836
    電子制作(2017年18期)2017-12-30 09:53:45
    嵌入式計(jì)算機(jī)軟件測試關(guān)鍵技術(shù)的思考
    基于TEA1532反激式開關(guān)電源的設(shè)計(jì)與調(diào)試
    嵌入式計(jì)算機(jī)軟件測試關(guān)鍵技術(shù)研究
    Marvell發(fā)布64位單芯片移動通信處理器
    神农架林区| 鹤岗市| 郧西县| 林芝县| 海兴县| 洛扎县| 民权县| 林甸县| 鸡东县| 民县| 蚌埠市| 佛冈县| 临沂市| 满洲里市| 江山市| 普格县| 吴忠市| 宁陵县| 怀安县| 长治市| 松江区| 杭州市| 汾阳市| 灵丘县| 木兰县| 莎车县| 中山市| 彩票| 泽库县| 宁海县| 手机| 吉林市| 新密市| 来安县| 错那县| 安福县| 太康县| 临洮县| 和政县| 和林格尔县| 乌什县|