資料介紹
目前,在嵌入式系統(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ā)人員的喜愛。本文選用的微處理器S3C2410是基于32位ARM920T內(nèi)核的微處理器,基于此處理器構(gòu)造一Linux嵌入式操作 系統(tǒng),將其移植到基于32位的ARM920T內(nèi)核的系統(tǒng)中,在此基礎(chǔ)上進(jìn)行應(yīng)用程序開發(fā)。
l、開發(fā)環(huán)境介紹
1.1、基于S3C2410ARM920T的硬件平臺(tái)
該系統(tǒng)的硬件平臺(tái)為深圳旋極公司提供,硬件的核心部件為三星$3C2410ARM920T芯片,外圍還包括:64MNANDFLASH和RAM外圍存儲(chǔ) 芯片;串口、網(wǎng)口和USB外圍接口;CSTNLCD和觸摸屏外圍顯示設(shè)備;UDAl34lTS的外圍音頻設(shè)備。S3C2410處理器和外圍設(shè)備共同構(gòu)成了 基于ARM920T的開發(fā)板。
1.2、嵌入式Linux軟件系統(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)采用64MNANDFLASH的存儲(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)行編譯。
?。?)、指定/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-unknown-Linux-:
ARM-GCC-LIBS=/opt/host/armv41/lib/gcc-lib/armv41一unknown-Linux/2.95.2:
?。?)、修改/vivi/arch/s3c2410/smdk.C文件里的mtd-par-tition-tdefault-mtd-partitions[]分區(qū)內(nèi)容如表1所示;
?。?)、增加/vivi/lib/loadyaffs.C文件,實(shí)現(xiàn)燒寫yaffs2
映像文件;修改/vivi/lib/Config_cmd.in,增加如下一行:bool‘loadyaffstOflashcommand’CONFIG-LOAD-YAFFS,使得loadyaffs命令可作為可選項(xiàng);
?。?)、執(zhí)行make distclean:清理vivi編譯環(huán)境;執(zhí)行make menu config進(jìn)行對(duì)vivi裁剪,根據(jù)實(shí)際情況進(jìn)行選擇,注意要選上“[*]load yaffs t0 flash command”因?yàn)檫@里用的是YAFFS2文件系統(tǒng),需要vivi支持YAFFS2映像下載;執(zhí)行make生成所需要的文件vivi;
(5)、采用JTAG燒寫映像到目標(biāo)板NAND FLASH的零地址處,實(shí)現(xiàn)引導(dǎo)程序的裝載。
2.2、Linux2.6.14內(nèi)核的移植
2.2.1、內(nèi)核的選擇
Linux內(nèi)核版本的更新速度非???,但Linux的內(nèi)核版本發(fā)行同Linux對(duì)嵌入式處理器支持程度的發(fā)展是不同步的,因此,需要對(duì)特定的處理器體系 結(jié)構(gòu)選擇合適的內(nèi)核,并且根據(jù)其硬件功能部件加上相應(yīng)的補(bǔ)丁。根據(jù)S3C2410的體系結(jié)構(gòu)以及外圍硬件特性,該系統(tǒng)采用Linux2.6.14內(nèi)核,所 用的編譯器為ARM-Linux-GCC一3.4.1版本;由于該系統(tǒng)采用的是YAFFS2文件系統(tǒng),因此需要從網(wǎng)上下載yaffs2.tar.gz文 件,解壓并執(zhí)行“./patch.ker.sh/I.inux2.6.14”命令,對(duì)I.inux內(nèi)核打補(bǔ)丁使其支持YAFFS2文件系統(tǒng)。
已經(jīng)涌現(xiàn)出許多嵌入式操作系統(tǒng),如VxWork,windows-CE,PalmOS,Linux等。在眾多的嵌入式操作系統(tǒng)中,Linux以其開源代 碼及免費(fèi)使用倍受開發(fā)人員的喜愛。本文選用的微處理器S3C2410是基于32位ARM920T內(nèi)核的微處理器,基于此處理器構(gòu)造一Linux嵌入式操作 系統(tǒng),將其移植到基于32位的ARM920T內(nèi)核的系統(tǒng)中,在此基礎(chǔ)上進(jìn)行應(yīng)用程序開發(fā)。
l、開發(fā)環(huán)境介紹
1.1、基于S3C2410ARM920T的硬件平臺(tái)
該系統(tǒng)的硬件平臺(tái)為深圳旋極公司提供,硬件的核心部件為三星$3C2410ARM920T芯片,外圍還包括:64MNANDFLASH和RAM外圍存儲(chǔ) 芯片;串口、網(wǎng)口和USB外圍接口;CSTNLCD和觸摸屏外圍顯示設(shè)備;UDAl34lTS的外圍音頻設(shè)備。S3C2410處理器和外圍設(shè)備共同構(gòu)成了 基于ARM920T的開發(fā)板。
1.2、嵌入式Linux軟件系統(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)采用64MNANDFLASH的存儲(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)行編譯。
?。?)、指定/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-unknown-Linux-:
ARM-GCC-LIBS=/opt/host/armv41/lib/gcc-lib/armv41一unknown-Linux/2.95.2:
?。?)、修改/vivi/arch/s3c2410/smdk.C文件里的mtd-par-tition-tdefault-mtd-partitions[]分區(qū)內(nèi)容如表1所示;
?。?)、增加/vivi/lib/loadyaffs.C文件,實(shí)現(xiàn)燒寫yaffs2
映像文件;修改/vivi/lib/Config_cmd.in,增加如下一行:bool‘loadyaffstOflashcommand’CONFIG-LOAD-YAFFS,使得loadyaffs命令可作為可選項(xiàng);
?。?)、執(zhí)行make distclean:清理vivi編譯環(huán)境;執(zhí)行make menu config進(jìn)行對(duì)vivi裁剪,根據(jù)實(shí)際情況進(jìn)行選擇,注意要選上“[*]load yaffs t0 flash command”因?yàn)檫@里用的是YAFFS2文件系統(tǒng),需要vivi支持YAFFS2映像下載;執(zhí)行make生成所需要的文件vivi;
(5)、采用JTAG燒寫映像到目標(biāo)板NAND FLASH的零地址處,實(shí)現(xiàn)引導(dǎo)程序的裝載。
2.2、Linux2.6.14內(nèi)核的移植
2.2.1、內(nèi)核的選擇
Linux內(nèi)核版本的更新速度非???,但Linux的內(nèi)核版本發(fā)行同Linux對(duì)嵌入式處理器支持程度的發(fā)展是不同步的,因此,需要對(duì)特定的處理器體系 結(jié)構(gòu)選擇合適的內(nèi)核,并且根據(jù)其硬件功能部件加上相應(yīng)的補(bǔ)丁。根據(jù)S3C2410的體系結(jié)構(gòu)以及外圍硬件特性,該系統(tǒng)采用Linux2.6.14內(nèi)核,所 用的編譯器為ARM-Linux-GCC一3.4.1版本;由于該系統(tǒng)采用的是YAFFS2文件系統(tǒng),因此需要從網(wǎng)上下載yaffs2.tar.gz文 件,解壓并執(zhí)行“./patch.ker.sh/I.inux2.6.14”命令,對(duì)I.inux內(nèi)核打補(bǔ)丁使其支持YAFFS2文件系統(tǒng)。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于S3C2410的CAN總線通訊設(shè)計(jì)與開發(fā) 16次下載
- 基于S3C2410和nRF24LEl的智能家居系統(tǒng) 14次下載
- 使用S3C2410芯片設(shè)計(jì)最小嵌入式系統(tǒng)的設(shè)計(jì)資料詳細(xì)說(shuō)明 29次下載
- s3c2410芯片手冊(cè)s3c2410中文手冊(cè)32位RISC微處 180次下載
- 基于S3C2410和Windows CEnet的智能移動(dòng)終端設(shè)計(jì) 0次下載
- 基于S3C2410和Linux的智能家居系統(tǒng)的設(shè)計(jì) 138次下載
- 基于S3C2410和MBF200的指紋采集系統(tǒng)設(shè)計(jì)
- Linux實(shí)時(shí)操作系統(tǒng)在s3c2410的移植
- 基于S3C2410嵌入式無(wú)線監(jiān)控系統(tǒng)的設(shè)計(jì)
- 基于S3C2410的井下WiFi便攜終端的設(shè)計(jì)
- 基于S3C2410的Linux移植代碼
- s3c2410 datasheet
- s3c2410開發(fā)板原理圖,s3c2410原理圖pcb
- s3c2410中文手冊(cè)第3章下載
- 斯道s3c2410
- 基于S3C2410處理器實(shí)現(xiàn)3G無(wú)線網(wǎng)卡接入無(wú)線網(wǎng)絡(luò)功能的設(shè)計(jì) 2434次閱讀
- 基于S3C2410嵌入式處理器實(shí)現(xiàn)CAN/Ethernet網(wǎng)關(guān)的設(shè)計(jì) 2663次閱讀
- 基于S3C2410微處理器和Linux實(shí)現(xiàn)嵌入式網(wǎng)關(guān)的設(shè)計(jì) 2490次閱讀
- 基于嵌入式微處理器EP9315和Linux實(shí)現(xiàn)NAS系統(tǒng)的設(shè)計(jì) 2532次閱讀
- 基于S3C2410處理器實(shí)現(xiàn)USB網(wǎng)卡無(wú)線網(wǎng)絡(luò)功能的實(shí)現(xiàn) 1853次閱讀
- 基于S3C2410處理器實(shí)現(xiàn)便攜式無(wú)線心電監(jiān)護(hù)系統(tǒng)的設(shè)計(jì) 3359次閱讀
- 基于S3C2410A嵌入式處理器實(shí)現(xiàn)風(fēng)力發(fā)電監(jiān)控系統(tǒng)的應(yīng)用設(shè)計(jì) 2642次閱讀
- 基于Linux操作系統(tǒng)和S3C2410微處理器實(shí)現(xiàn)GPS實(shí)時(shí)導(dǎo)航系統(tǒng)的設(shè)計(jì) 1003次閱讀
- 基于S3C2410處理器對(duì)Windows CE 5.0操作系統(tǒng)實(shí)現(xiàn)BSP移植 977次閱讀
- 如何制作一個(gè)基于linux 2.6.19內(nèi)核的小型Linux操作系統(tǒng)? 4627次閱讀
- 嵌入式Linux系統(tǒng)移植的實(shí)現(xiàn) 2210次閱讀
- 基于S3C2410嵌入式設(shè)備的U-Boot移植流程教程 2127次閱讀
- 詳解bootloader的執(zhí)行流程與ARM Linux啟動(dòng)過(guò)程分析 1w次閱讀
- 一種S3C2410路由器的整體結(jié)構(gòu)及工作原理 2406次閱讀
- 基于S3C2410的CAN總線通信設(shè)計(jì)與開發(fā) 2702次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費(fèi)
- 89天練會(huì)電子電路識(shí)圖
- 5.91 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多