<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è) > 嵌入式系統 > 設計應用 > 基于S3C2410的嵌入式Linux系統構建

基于S3C2410的嵌入式Linux系統構建

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

 目前,在系統中基于arm微核的處理器已經(jīng)成為市場(chǎng)主流。隨著(zhù)arm技術(shù)的廣泛應用,建立面向arm構架的操作系統成為當前研究的熱點(diǎn)問(wèn)題。
  已經(jīng)涌現出許多嵌入式操作系統,如vxwork,windows-ce,palmos,linux等。在眾多的嵌入式操作系統中,linux以其開(kāi)源代碼及免費使用倍受開(kāi)發(fā)人員的喜愛(ài)。本文選用的微處理器s3c2410是基于32位arm920t內核的微處理器,基于此處理器構造一linux嵌入式操作系統,將其移植到基于32位的arm920t內核的系統中,在此基礎上進(jìn)行應用程序開(kāi)發(fā)。

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

l開(kāi)發(fā)環(huán)境介紹

1.1 基于s3c2410 arm920t的硬件平臺

該系統的硬件平臺為深圳旋極公司提供,硬件的核心部件為三星$3c2410 arm920t芯片,外圍還包括:64 m nand flash和ram外圍存儲芯片;串口、網(wǎng)口和usb外圍接口;cstn lcd和觸摸屏外圍顯示設備;udal34lts的外圍音頻設備。s3c2410處理器和外圍設備共同構成了基于arm920t的開(kāi)發(fā)板。

1.2嵌入式limlx軟件系統

該嵌入式linux的軟件系統包括以下4個(gè)部分:引導加載程序vivi;linux2.6.14內核;yaffs2文件系統以及用戶(hù)程序。他們的可執行映像依次存放在系統存儲設備上.


與通常的嵌入式系統布局有所不同,本系統在引導加載程序和內核映像之間還增加了一個(gè)啟動(dòng)參數區,在這個(gè)區里存放著(zhù)系統啟動(dòng)參數。引導加載程序通過(guò)調用這些參數來(lái)決定啟動(dòng)模式、啟動(dòng)等待時(shí)間等,這些啟動(dòng)參數的增加加強了系統的靈活性。本系統采用64 m nandflash的存儲設備。


  2嵌入式linux系統設計與實(shí)現

2.1 引導加載程序vivi

2.1.1 vivi的基本功能

該系統使用的:bootloader是vivi,vivi是韓國miziresearch公司為其開(kāi)發(fā)的smdk2410開(kāi)發(fā)板編寫(xiě)的一款引導程序。vivi是cpu加電后運行的第一段程序,其基本功能是初始化硬件設備、建立內存空間的映射圖,從而為調用嵌入式linux內核做好準備。

vivi由2部分組成:一部分是依賴(lài)于cpu體系結構的代碼,用匯編語(yǔ)言實(shí)現對硬件環(huán)境的初始化,并為第二部分代碼的執行做好準備;另部分是用c語(yǔ)言實(shí)現內存空間的映射,并將linux內存映像和根文件系統映像從flash上讀到ram空間中,設置好啟動(dòng)參數,最后調用內核。

2.1.2 bootloadcrvivi移植

從網(wǎng)站www.mizi.com下載vivi源碼并解壓,按以下步驟進(jìn)行移植,該系統使用arm-gcc一2.95.2對vivi進(jìn)行編譯。

(1)指定/vivi/makefile文件中的cross-com-pile,linux-include-dir,arm-gcc-libs,如下面的參考路徑:

linux_include_dir=/opt/host/armv41/include/;

cross_compile=/opt/host/armv41/bin/armv41一ud-

known-linux一:

arm-gcc-libs=/opt/host/armv41/lib/gcc-lib/ar-

mv41一unknown-linux/2.95.2:

(2)修改/vivi/arch/s3c2410/smdk.c文件里的mtd-par-tition-t default-mtd-partitions[]分區內容如表1所示;

(3)增加/vivi/lib/loadyaffs.c文件,實(shí)現燒寫(xiě)yaffs2

映像文件;修改/vivi/lib/config_cmd.in,增加如下一行:bool'load yaffs to flash command'config-load-yaffs,使得loadyaffs命令可作為可選項;

(4)執行make distclean:清理vivi編譯環(huán)境;執行make menuconfig進(jìn)行對vivi裁剪,根據實(shí)際情況進(jìn)行選擇,注意要選上[*]load ya

ffs to flash command因為這里用的是yaffs2文件系統,需要vivi支持yaffs2映像下載;執行make生成所需要的文件vivi;

(5)采用jtag燒寫(xiě)映像到目標板nand flash的零地址處,實(shí)現引導程序的裝載。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

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

關(guān)鍵詞: 嵌入式

評論


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