<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è) > 嵌入式系統 > 設計應用 > ARM設計的uClinux及其應用

ARM設計的uClinux及其應用

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

摘要:本文討論了基于的嵌入式操作系統開(kāi)發(fā)及實(shí)現。在32位核的微處理器S3C4510B的硬件平臺上結合嵌入式實(shí)時(shí)操作. 完成了系統的硬件的編譯、移植,最后實(shí)現了程序的添加。

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

關(guān)鍵詞:;實(shí)時(shí)操作系統uClinux;S3C4510B;ARM7TDMI

1 嵌入式操作系統uClinux開(kāi)發(fā)

嵌入式軟件平臺由以下部分組成:系統引導程序、嵌入式操作系統內核、文件系統。系統引導程序通常也稱(chēng)為BootLoad—er ,代碼量雖少,但是作用非常大,相當于PC上的BOIS,負責將操作系統內核固化到Flash中和系統初始化工作.然后將系統控制權交給操作系統。文件系統是嵌入式軟件平臺占用存儲量最大的一部分,也是與用戶(hù)開(kāi)發(fā)最相關(guān)的一部分,它存儲了系統配置文件、系統程序、用戶(hù)應用程序和必需的驅動(dòng)程序。

1.1 BootLoader程序

系統引導程序BootLoader是嵌入式系統加電后執行的第一個(gè)程序,一般應寫(xiě)入Flash存儲器中并從起始物理地址0x0開(kāi)始。在應用實(shí)際中BootLoader的功能主要有:① 將uCLinux內核和文件系統燒寫(xiě)到目標板中;②系統初始化;③系統的內存映射;④加載uClinux內核

1.2 嵌入式操作系統uCiinux

uClinux就是Micro—Control—Linux,是針對控制領(lǐng)域的嵌入式linux操作系統,它是從Linux 2.0/2.4內核派生而來(lái),沿襲了主流Linux的絕大部分特性,適合不具備內存管理單元(MMU)的微處理器/微控制器(例如ARM7TDMI),它也是一個(gè)完全符合GNU/GPL公約的操作系統,完全開(kāi)放代碼。和主流的Linux相比,uClinux有以下特點(diǎn):① 簡(jiǎn)化了內核加載方式,uClinux的內核可以在Flash上直接運行;② 采用romfs文件系統作為root文件系統,相對于一般的ext2使用更少的存儲空間;③ 使用了Flat可執行文件格式替代elf格式;④ 使用應用程序庫uClibc替代libc。

1.3 uClinux的編譯與移植

I-3.1 uClinux系統針對硬件的改動(dòng)

目前.uClinux已被成功移植到多款微處理器芯片上.但由于嵌入式操作系統的運行是與嵌入式系統的硬件密切相關(guān)的.而硬件的則會(huì )因為使用場(chǎng)合的不同而千差萬(wàn)別,因此,在uClinux內核源代碼中和硬件緊密相關(guān)的部分就應該針對特定的硬件作出適當的修改。

本文中所涉及的對uClinux操作系統源代碼的裁剪修改主要有以下幾個(gè)地方:

uClinux內核源代碼中對S3C4510B片內特殊功能寄存器以他相關(guān)硬件信息的定義文件hardware.h首先要定義系統工作的主時(shí)鐘頻率,本系統的為50MHz。

/********************************/

define$3C4510b CPU master clock

/********************************/

#define MHz l0o0000

#define fMCLK_ MHz (50 MHz)

#define fMCLK (fMCLK_MHz/MHz)

#define MCLK2 (fMCLK_MHz/21

此外對系統SYSCFG寄存器也進(jìn)行了相關(guān)的設置。如Cache操作使能、寫(xiě)緩沖使能以及設置了特殊功能寄存器組的基指針等。最后即定義系統存儲器控制寄存器。

1.3.2 編譯uClinux內核

在準備好uClinux的內核源代碼后.利用交叉編譯器就可以編譯生成運行在硬件目標板上的uClinux內核。首先將U—Clinux內核源代~uClinux—Samsung一20031005.tar.gz保存到宿主機的用戶(hù)目錄,解壓完畢后。就會(huì )在用戶(hù)目錄下生成uClinux—Samsung目錄。

以下是編譯uClinux的具體過(guò)程:

使用make menuconfig或者make xconfig命令進(jìn)行內核配置:

輸人命令:make dep


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

關(guān)鍵詞: 應用 及其 uClinux 設計 ARM

評論


相關(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>