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