【正文】
nux 豐富的免費(fèi)資源, Linux 必將在嵌入式實(shí)時(shí)領(lǐng)域有較廣的應(yīng)用前景。 Linux 支持的硬件平臺(tái)很多,包括 x8 ARM、 MIPS、 ALPHA、 PowerPC 等多種體系結(jié)構(gòu),目前已經(jīng)成功移植到數(shù)十種硬件平臺(tái),幾乎能夠運(yùn)行在所有流行的 CPU 上,支持各種主流硬件設(shè)備和 最新的硬件技術(shù)。如果使用的 Linux,一旦軟硬件能夠支持正常 的串口功能時(shí),即使不用在線仿真器也可以很好地進(jìn)行開(kāi)發(fā)和調(diào)試工作,從而節(jié)省了一筆不小的開(kāi)發(fā)費(fèi)用。 Linux 誕生于因特網(wǎng)時(shí)代并具有 Unix 的特性,保證了它支持所有標(biāo)準(zhǔn)因特網(wǎng)協(xié)議,并且可以利用 Linux 的網(wǎng)絡(luò)協(xié)議棧將其開(kāi)發(fā)成為嵌入式的 TCP/ IP 網(wǎng)絡(luò)協(xié)議棧。而商業(yè)操作系統(tǒng)其操作系統(tǒng)的每個(gè)拷貝售價(jià)在幾百美元到幾萬(wàn)美元不等,如果需要操作系統(tǒng)的源代碼,則還需要另外購(gòu)買(mǎi)。 Linux 的如下特點(diǎn)是十分引人注目的。 根據(jù)內(nèi)核的不同, ARM 處理器分為 ARM7, ARM9, ARM9E, ARMl0, SecurCore, Intel的 Xscal, Intel 的 StrongARM 等。對(duì)于廣泛的嵌入式系統(tǒng)軟件開(kāi)發(fā)人員來(lái)說(shuō),精簡(jiǎn)的、界面友好的、性能可靠的、開(kāi)源的、易開(kāi)發(fā)、多任務(wù)且價(jià)格低廉的嵌入式操作系統(tǒng),才是理想的嵌入式軟件開(kāi)發(fā)環(huán)境。另外,嵌入式技術(shù)與實(shí)時(shí)性有著天然的聯(lián)系:由于嵌入式系統(tǒng)是為特定的目的而設(shè)計(jì)的,且常常受到空間、成本、存儲(chǔ)、帶寬等條件的限制,因此它必須最大限度地在硬件上和軟件上“量身定做 以提高效率,這樣的結(jié)果最終導(dǎo)致來(lái)實(shí)時(shí)性的增強(qiáng)。從冰箱、洗衣機(jī)到航天飛機(jī)、神州系列飛船,處處都存在著嵌入式計(jì)算機(jī)系統(tǒng)的應(yīng)用。這一類(lèi)系統(tǒng)里面運(yùn)行的程序能夠自動(dòng)控制和管理設(shè)備,有的甚至具有自適應(yīng)能力,有著高度的智能,因而這種技術(shù)具有 極其廣泛的應(yīng)用價(jià)值。嵌入式 linux 系統(tǒng)是一種開(kāi)放源代碼的系統(tǒng) ,不存在黑箱技術(shù) ,由全球的從多的 linux的愛(ài)好者和 linux開(kāi)發(fā)者提供支持和維護(hù) ,支持多種硬件平臺(tái) ,而且性能穩(wěn)定 ,裁剪性好 ,開(kāi)放使用都很容易。 關(guān)鍵詞 : 嵌入式系統(tǒng) , Linux, ARM , bootloader , 系統(tǒng)移植 畢業(yè)設(shè)計(jì)(論文)專(zhuān)用紙 II The Linux system based on ARM platform transplantation Abstract With the development of the puter technology, munication technology and the indepth application of the Intemet, more and more embedded systems are running around US. And because of the increasing plexity of the embedded systems, the embedded operating system has bee the most important part of the embedded system. In all kinds of embedded operating systems, Linux has the advantages of clear structure and open source, SO it has been widely used in the embedded system based on monitoring system and PDA. Because there are many kinds of processor, porting Linux to a processor is the first step of using Linux in embedded area extensively. Among the main embedded processors, ARM is the main stream which used broadly. This thesis is the design and implementation of the Bootloader and Linux porting on S3C2410 platform. Main work includes the pletion of the development board to create a cross piler environment , Uboot transplant , Linux kernel porting and file system migration . Through the above steps , the success achieved in the hardware platform running Linux S3C2410 development board. While running a simple program to test systems, including audio, video, LCD, work cards. Keywords : Embedded system, Linux, ARM, Bootloader, System transplantation 畢業(yè)設(shè)計(jì)(論文)專(zhuān)用紙 1 前言 隨著科技與信息技術(shù)的快速發(fā)展 ,基于嵌入式設(shè)備的操作系統(tǒng)有了長(zhǎng)足的發(fā)展 ,并且廣泛地應(yīng)用于工業(yè)控制 ,安防監(jiān)控 ,環(huán)境檢測(cè) ,醫(yī)療,航天航空,軍事等領(lǐng)域。 本論文主要是設(shè)計(jì)與實(shí)現(xiàn)了 Bootloader和 Linux在 S3C2410平臺(tái)上的移植。由于嵌入式系統(tǒng)的復(fù)雜性的不斷增加,嵌入式操作系統(tǒng)已經(jīng)成為嵌入式系統(tǒng)中最重要的組成部分。 (論文)中引用他人的觀點(diǎn)和參考資料均加以注釋和說(shuō)明。 畢業(yè)設(shè)計(jì)(論文)專(zhuān)用紙 I 基于 ARM 平臺(tái)的 Linux 系統(tǒng)移植 系 部 計(jì)算機(jī)與電子電氣工程系 專(zhuān) 業(yè) 電子信息科學(xué)與技術(shù) 年 級(jí) 20xx 學(xué)生姓名 周躍偉 學(xué) 號(hào) 20xx16022105 指導(dǎo)教師 王瑞 職稱(chēng) 院內(nèi)副教授 畢業(yè)設(shè)計(jì)(論文)專(zhuān)用紙 II The Linux system based on ARM platform transplantation Department Department of Computer amp。 (論文)選題和研究?jī)?nèi)容過(guò)程中沒(méi)有抄襲他人研究成果和偽造相關(guān)數(shù)據(jù)等行為。在各種嵌入式系統(tǒng)中, Linux憑借其在結(jié)構(gòu)清晰、源 代碼開(kāi)放性等方面的優(yōu)勢(shì),成為了基于監(jiān)控系統(tǒng)、手持設(shè)備等嵌入式系統(tǒng)領(lǐng)域應(yīng)用中的技術(shù)熱點(diǎn)。主要完成的工作包括在開(kāi)發(fā)板上完成創(chuàng)建交叉編譯環(huán)境、 Uboot 移植、 Linux 內(nèi)核移植和文件系統(tǒng)移植。目前 ,主要應(yīng)用于嵌入式的有以下幾種操作系統(tǒng)。 本課題中考慮到嵌入式系統(tǒng)的安全性以及幵放的難易程度 ,選擇嵌入式 linux 操作系統(tǒng) ,初步實(shí)現(xiàn)操作系統(tǒng)的一般功能和 簡(jiǎn)單程序運(yùn)行 ,應(yīng)用程序的幵發(fā)功能 ,至于完善操作系統(tǒng)的 特殊功能將在以后的學(xué)習(xí)或工作中進(jìn)行更深入的研究。我們?nèi)粘I钪械?MP3 音樂(lè)播放器, PDA,當(dāng)下領(lǐng)導(dǎo)手機(jī)市場(chǎng)的安卓智能手機(jī),酒店點(diǎn)菜系統(tǒng) ,KTV 點(diǎn)歌系統(tǒng) ,車(chē)載 GPS 系統(tǒng),探測(cè)火星的機(jī)器人等等都可稱(chēng)作嵌入式系統(tǒng)產(chǎn)品。嵌入式系統(tǒng)的研究與開(kāi)發(fā)己經(jīng)成為現(xiàn)代電子設(shè)計(jì)的一大領(lǐng)域和方向。 目前,使用最多的嵌入式操作系統(tǒng)產(chǎn)品主要有: Vxwork、 QNX、 PalmOS、 WindowsCE、pSOS、 HopenOS、 DeltaOS 等。 ARM 是 Advanced RISC Machines 的縮寫(xiě),由英國(guó) Advanced RISC Machines (ARM) Limited 公司設(shè)計(jì)。這些處理器最高主頻達(dá)到了 800MIPS,功耗數(shù)量級(jí)為 Mw/ MHz。 (1)Linux 開(kāi)放源代碼,這使得學(xué)習(xí)、修改、裁剪 Linux 成為可能,嵌入式系統(tǒng)的設(shè)計(jì)者可以對(duì)嵌入式 Linux 進(jìn)行二次開(kāi)發(fā),去掉操作系統(tǒng)的附加功能,只保留必須的操作系統(tǒng)功能。此外, Linux 的開(kāi) 發(fā)工具也可以免費(fèi)獲得。此外, Linux 還支持 ext fatl fat32 等文件系統(tǒng),為開(kāi)發(fā)嵌入式系統(tǒng)應(yīng)用打下了很好的基礎(chǔ)。 Linux 具備一整套工具鏈,容易自行 畢業(yè)設(shè)計(jì)(論文)專(zhuān)用紙 4 建立嵌入式系統(tǒng)的開(kāi)發(fā)環(huán)境和交叉運(yùn)行環(huán)境, 可以跨越嵌入式系統(tǒng)開(kāi)發(fā)中仿真工具的障礙。因此 Linux 的移植是嵌入式開(kāi)發(fā)中的熱點(diǎn)。 嵌入式系統(tǒng)現(xiàn)狀及發(fā)展 趨勢(shì) 嵌入式系技術(shù)具有非常廣闊的應(yīng)用前景,其應(yīng)用領(lǐng)域可以包括: ( 1)工業(yè)控制 基于嵌入式芯片的工業(yè)自動(dòng)他設(shè)備具有很大的發(fā)展空間,目前已經(jīng)有大量的 1 32 位嵌入式微控制器應(yīng)用在工業(yè)過(guò)程控制、數(shù)控機(jī)床、電力系統(tǒng)、電網(wǎng)安全、電網(wǎng)設(shè)備監(jiān)測(cè)、石油化工系統(tǒng)等領(lǐng)域。在這些設(shè)備中,嵌入式系統(tǒng)將大有用武之地。 ( 6)機(jī)器人 嵌入式芯片的發(fā)展將使機(jī)器人在微 型化、智能化方面的優(yōu)勢(shì)更加明照,同時(shí)會(huì)大幅度降低機(jī)器人的價(jià)格,使其在工業(yè)領(lǐng)域和服務(wù)領(lǐng)域獲得更廣泛的應(yīng)用。 ( 3)提供精巧的多媒體人機(jī)界面 之所以?xún)|萬(wàn)用戶(hù)樂(lè)于按受嵌入式設(shè)備,重要因素之一是嵌入式設(shè)備與用戶(hù)之間的親和力, 自然和人機(jī)交互界面。嵌入式系統(tǒng)已經(jīng)進(jìn)入到現(xiàn)代社會(huì)中人們生活的方方面面,可是說(shuō)是“無(wú)處不在”,尤其是在控制方而的應(yīng)用。 S3C2410 所采用的核心內(nèi)核部分是 ARM 公司的 ARM 920T 處理器核。 目前,全世界有幾十家大的半導(dǎo)體公司都使用 ARM 公司的授權(quán),因此既使 ARM 技術(shù)獲得更多的第三方工具、制造、軟件的支持,又使整個(gè)系統(tǒng)成本降低,使產(chǎn)品進(jìn)入市場(chǎng)更容易被消費(fèi)者所接受,提高競(jìng)爭(zhēng)力。TFT),支持 NAND Flash 系統(tǒng)引導(dǎo),系統(tǒng)管理器(片選邏輯和 SDRAM 控制器), 3 通道UART, 4 通道 DMA, 4 通道 PWM 定時(shí)器, I/O 端口, RTC, 8 通道 10 位 ADC 和觸摸屏接口, IICBUS接口, IICBUS 接口, USB 主機(jī), USB 設(shè)備, SD 主卡 amp。 同樣它還采用了一種叫做 Advanced Microcontroller Bus Architecture(AMBA)新型總線結(jié)構(gòu)。通過(guò)提供一系列完整的系統(tǒng)外圍設(shè)備, S3C2410 大大減少了整個(gè)系統(tǒng)的成本, 消除了為系統(tǒng)配置額外器件的需要。 建立 Ubuntu tftp 服務(wù)文件目錄(上傳文件與下載文件的位置),并且更改其權(quán)限 mkdir /tftpboot /*在根目錄下建立 tftpboot 文件夾 ,注意與 mkdir tftpboot 的區(qū) 別 */ chmod 777 /tftpboot R 重新啟動(dòng)服務(wù) /etc/至此 Ubuntu tftp 服務(wù)已經(jīng)安裝完成了,下面可以對(duì)其進(jìn)行一下測(cè)試。 bootloader 概念 引導(dǎo)加載程序是系統(tǒng)加電后運(yùn)行的第一段代碼。 Boot Loader 就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。盡管如此,我們?nèi)匀豢梢詫?duì) Boot Loader 歸納出一些通用的概念來(lái),以指導(dǎo)用戶(hù)特定的 Boot Loader 設(shè)計(jì)與實(shí)現(xiàn)。 bootloader 啟動(dòng)參數(shù) 內(nèi)核 文件系統(tǒng) 畢業(yè)設(shè)計(jì)(論文)專(zhuān)用紙 13 Bootloader 的安裝媒介 系統(tǒng)上電時(shí)或復(fù)位以后,都從芯片廠商預(yù)先安排的一個(gè)地址處取第一條指令執(zhí)行(對(duì)我們的 S3C2410 芯片,從 0x0 處開(kāi)始)。通過(guò)串口終端與 Bootloader 進(jìn)行交互,可以操作系統(tǒng)硬件。 uboot 簡(jiǎn)介 1999 年由德國(guó) DENX 軟件工程中心的 Wolfgang Denk 發(fā)起,全稱(chēng) Universal Bootloader。 ( 2) 修改 “u ” 文件 執(zhí)行命令: vim include/configs/ ( a)將原網(wǎng)卡 “CS8900” 改為 “DM9000” ( b)添加網(wǎng)絡(luò)命令 ( c)修改 IP 地址 ( d)修改命令提示符 (