色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于S3C2410的嵌入式Linux系統(tǒng)構(gòu)建

          基于S3C2410的嵌入式Linux系統(tǒng)構(gòu)建

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

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

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

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

          1.1 基于s3c2410 arm920t的硬件平臺(tái)

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

          1.2嵌入式limlx軟件系統(tǒng)

          該嵌入式linux的軟件系統(tǒng)包括以下4個(gè)部分:引導(dǎo)加載程序vivi;linux2.6.14內(nèi)核;yaffs2文件系統(tǒng)以及用戶程序。他們的可執(zhí)行映像依次存放在系統(tǒng)存儲(chǔ)設(shè)備上.


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


            2嵌入式linux系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          2.1 引導(dǎo)加載程序vivi

          2.1.1 vivi的基本功能

          該系統(tǒng)使用的:bootloader是vivi,vivi是韓國(guó)miziresearch公司為其開發(fā)的smdk2410開發(fā)板編寫的一款引導(dǎo)程序。vivi是cpu加電后運(yùn)行的第一段程序,其基本功能是初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而為調(diào)用嵌入式linux內(nèi)核做好準(zhǔn)備。

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

          2.1.2 bootloadcrvivi移植

          從網(wǎng)站www.mizi.com下載vivi源碼并解壓,按以下步驟進(jìn)行移植,該系統(tǒng)使用arm-gcc一2.95.2對(duì)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[]分區(qū)內(nèi)容如表1所示;

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

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

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

          ffs to flash command因?yàn)檫@里用的是yaffs2文件系統(tǒng),需要vivi支持yaffs2映像下載;執(zhí)行make生成所需要的文件vivi;

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

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

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

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

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉