<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > μClinux在S3C4510B上的移植

μClinux在S3C4510B上的移植

作者: 時(shí)間:2012-05-11 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:Linux是一種支持多種體系結構處理器的操作系統,有很強的性。描述了將μ到基于處理器目標板上的方法與過(guò)程。首先介紹了處理器和μ,并簡(jiǎn)單說(shuō)明了如何搭建環(huán)境,然后著(zhù)重討論了在該開(kāi)發(fā)板上Bootloader的設計實(shí)現以及μ內核的移植方法,最后對在這種基于μClinux的嵌入式系統環(huán)境下如何開(kāi)發(fā)應用程序做了簡(jiǎn)單說(shuō)明。

本文引用地址:http://dyxdggzs.com/article/149089.htm

關(guān)鍵詞:嵌入式系統;移植;μClinux;;Bootloader

1引言

ARM(AdvancedRISCMachines),既可以認為是一個(gè)公司的名字,也可以認為是對一微處理器的通稱(chēng),還可以認為是一種技術(shù)的名字。

1991年ARM公司成立于英國劍橋,主要出售芯片設計技術(shù)的授權。目前,采用ARM技術(shù)知識產(chǎn)權(IP)核的微處理器,即我們通常所說(shuō)的ARM微處理器,已遍及工業(yè)控制、消費類(lèi)電子產(chǎn)品、通信系統、網(wǎng)絡(luò )系統、無(wú)線(xiàn)系統等各類(lèi)產(chǎn)品市場(chǎng),基于A(yíng)RM技術(shù)的微處理器應用約占據了32位RISC微處理器75%以上的市場(chǎng)份額,ARM技術(shù)正在逐步滲入我們生活的各個(gè)方面。

采用RISC架構的ARM微處理器一般具有如下特點(diǎn):體積小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令執行速度更快;大多數數據操作都在寄存器中完成;尋址方式靈活簡(jiǎn)單,執行效率高;指令長(cháng)度固定。ARM的產(chǎn)品主要包括ARM7Thumb家族和ARM9Thumb家族、ARM10Thumb家族以及StrongARM家族。

2基于A(yíng)RM的S3C4510B處理器和μClinux

本文所使用的S3C4510B是Samsung公司使用ARM7處理器內核開(kāi)發(fā)的一塊嵌入式微處理器。作為一款高性?xún)r(jià)比的網(wǎng)絡(luò )處理器,S3C4510B已廣泛應用于各種網(wǎng)絡(luò )設備中,其中央處理器為ARM7TDMI核。ARM7TMDI是目前使用最廣泛的32位嵌入式RISC處理器,屬低端ARM處理器核。TDMI的基本含義為:

T:支持16位壓縮指令集Thumb;

D:支持片上Debug;

M:內嵌硬件乘法器(Multiplier);

I:嵌入式ICE,支持片上斷點(diǎn)和調試點(diǎn)。

ThumbTM16位壓縮指令集能以較小的存儲空間需求,獲得32位的系統性能。S3C4510B處理器包括8kB可配置的一體化Cache/SRAM,1個(gè)I2C串行接口,2個(gè)UART,2個(gè)32位定時(shí)器,18個(gè)可編程的通用I/O口,以及1個(gè)10M/100M以太網(wǎng)控制器。豐富的片內外圍極大地簡(jiǎn)化了系統的設計。同時(shí)這款微處理器對操作系統的支持廣泛,包括WindowsCE、Linux、PalmOS等μClinux是針對控制領(lǐng)域的嵌入式Linux操作系統,他從Linux2.0/2.4內核派生而來(lái),沿襲了主流Linux的絕大部分特性。適合不具備內存管理單元(MemoryManagementUnit,簡(jiǎn)稱(chēng)MMU)的微處理器/微控制器,例如ARM7TDMI,他通常具有很少內存或Flash的嵌入式系統。在GNU通用公共許可證(GUNGPL)的保證下,運行μClinux操作系統的用戶(hù)可以使用幾乎所有的LinuxAPI函數,不會(huì )因為沒(méi)有MMU而受到影響。

3建立μClinux開(kāi)發(fā)環(huán)境

嵌入式系統的開(kāi)發(fā)與一般的應用開(kāi)發(fā)最大的差別在于,前者需要建立特殊的硬件環(huán)境,而后者一般基于特定的操作系統或分布式平臺。后者的平臺已經(jīng)對硬件或網(wǎng)絡(luò )媒質(zhì)做了抽象,從而不需要由系統開(kāi)發(fā)者來(lái)完成這些工作。而在嵌入式系統開(kāi)發(fā)中,這也由開(kāi)發(fā)者完成。

嵌入式系統開(kāi)發(fā)環(huán)境一般分成主機端(HOST)和目標板(TARGET)兩個(gè)部分。主機端是開(kāi)發(fā)平臺,用于運行開(kāi)發(fā)過(guò)程中的各種工具;目標板是運行和測試平臺,是嵌入式系統的最終駐留環(huán)境。在主機端和目標板之間需要通過(guò)某種方式進(jìn)行通信,如使用RS232C串口。這種通信的目的在于發(fā)送控制指令和傳輸數據,同時(shí)獲得反饋信息。圖1是系統移植工作的硬件環(huán)境。

主機端的PC使用COM1通過(guò)MAX232和S3C4510B的UART1相連接,通過(guò)串口完成對目標板的必要控制功能。S3C4510B開(kāi)發(fā)板上配備有一塊DM9161以太網(wǎng)卡芯片和主機端建立原始(raw)IP連接,使用鏈路層地址完成大批量數據的傳送。

硬件環(huán)境建立之后,就需要創(chuàng )建軟件開(kāi)發(fā)環(huán)境。軟件環(huán)境主要是指ARM體系結構的交叉編譯環(huán)境,在主機端使用RedHatLinux8.0操作系統,并在其上建立gcc的ARM體系結構的交叉開(kāi)發(fā)環(huán)境??梢詮膆ttp://mac.os.nctu.edu.tw處下載工具鏈:

(1)armelfbinutils2.115.i385.rpm

一些輔助工具,包括objdump(可以反編譯二進(jìn)制文件),as(匯編編譯器),ld(連接器)等。

(2)armelfgcc2.95.32.i386.rpm

配置目標為arm的GNU的C編譯器。使用他在宿主機上開(kāi)發(fā)編譯目標上可運行的二進(jìn)制文件。

(3)genromfs0.5.11.i386.rpm

生成Romfs的工具。Romfs是一種文件系統。這種文件系統相對于一般的ext2文件系統要求更少的空間。

將這3個(gè)文件放在宿主機上的任意一個(gè)目錄下,然后輸入下面的命令來(lái)安裝:

們就建立好了μClinux的軟件開(kāi)發(fā)環(huán)境。

4Bootloader的設計實(shí)現

Bootloader被用于系統從硬件啟動(dòng)到操作系統啟動(dòng)的過(guò)渡,是嵌入式系統中必不可少的一段程序。他相當于PC機中的BIOS和OSLoader,用于初始化運行硬件和啟動(dòng)操作系統,因此其實(shí)現方式由硬件的特性決定。和BIOS/OSLoader一樣,他需要固化在目標板中,每次啟動(dòng)目標板時(shí),首先會(huì )運行Bootloader,在他完成CPU和相關(guān)硬件的初始化之后,才從事先規定的地址啟動(dòng)操作系統或嵌入式應用的固化程序。

在嵌入式系統開(kāi)發(fā)過(guò)程中,Bootloader還擔任了與主機端通信的任務(wù),他相當于一個(gè)“服務(wù)器”,不斷監聽(tīng)從主機端傳來(lái)的控制信息和數據信息,完成相應的操作。

當系統上電后,Bootloader從地址0x0開(kāi)始執行,將存儲器映射重新配置,如表1所示,并會(huì )執行Linux的固化內核。

Bootloader可以使用ARM仿真軟件SDT2.5通過(guò)JTAG下載到目標板上。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 移植 S3C4510B Clinux

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>