資料介紹
Nucleus PLUS是美國ATI 公司為實(shí)時性要求較高的嵌入式系統(tǒng)應(yīng)用設(shè)計的操作系統(tǒng)內(nèi)核。約95%的Nucleus PLUS代碼用ANSI C語言編寫,因此,非常便于移植并能夠支持大多數(shù)類型的微處理器,如X86、68K、PowerPC、MIPS、ARM等。經(jīng)過截減編譯后,Nucleus PLUS 核心代碼區(qū)一般不超過20KB大小。 同時提供TCP/IP網(wǎng)絡(luò)、圖形界面Grafix、文件系統(tǒng)File等模塊。還有一個特點(diǎn)就是免費(fèi)提供源代碼,有利于節(jié)省開發(fā)費(fèi)用。
S3C2410A是三星公司推出的基于ARM920T內(nèi)核高性能低功耗16/32位RISC微控制器,內(nèi)部集成了豐富的系統(tǒng)外圍控制器。配合Nucleus PLUS操作系統(tǒng)可方便地開發(fā)出適于手持設(shè)備和各種低功耗產(chǎn)品的應(yīng)用程序,加快新產(chǎn)品的上市時間。
Nucleus PLUS啟動過程
嵌入式實(shí)時操作系統(tǒng)內(nèi)核Nucleus PLUS的啟動過程如圖1所示。其中板級初始化(INT_Initialize)主要是完成中斷向量表、系統(tǒng)堆棧、時鐘中斷等基本硬件初始化;操作系統(tǒng)初始化(INC_Initialize)主要是完成郵箱、隊(duì)列、管道、信號量、事件集等軟件組件初始化;應(yīng)用程序初始化(Application_Initialize (first_available_memory))主要是完成用戶定義的應(yīng)用程序初始化,如創(chuàng)建內(nèi)存池,創(chuàng)建任務(wù)、創(chuàng)建信號量、創(chuàng)建中斷、編寫用戶應(yīng)用程序等。移植的過程中,需要修改的是板級初始化(INT_Initialize)這部分內(nèi)容,它是由ARM匯編語言編寫的,下面詳細(xì)敘述。
圖1 Nucleus PLUS 啟動過程
Nucleus PLUS移植過程
INT-Reset子程序修改
INT_Reset是Nucleus PLUS啟動時的程序入口,因?yàn)楦鶕?jù)ARM微處理器的體系結(jié)構(gòu),在系統(tǒng)硬件上電或復(fù)位后,ARM所執(zhí)行的第一條指令在地址0x00000000,即ARM的復(fù)位異常(Reset)向量地址,所以在這個地址要放置一個跳轉(zhuǎn)指令:B INT_Reset 。
在INT_Reset這個子程序中放置的是硬件初始化程序,完成兩個功能:
1. 改變ARM工作模式為管理模式(Supervisor Mode),管理模式是ARM提供給操作系統(tǒng)使用的一種保護(hù)模式;
2. 屏蔽FIQ和IRQ中斷,因?yàn)樵谡麄€系統(tǒng)初始化的過程中,不能被中斷打斷,只有在中斷服務(wù)子程序初始化結(jié)束后,才可以打開中斷,進(jìn)而響應(yīng)中斷。
INT_Reset
MRS R1,CPSR
BIC R1,R1,#MODE_MASK
ORR R1,R1,#SUP_MODE
ORR R1,R1,#LOCKOUT
MSR CPSR_cxsf,R1
建立異常向量表和中斷向量表
根據(jù)ARM的體系結(jié)構(gòu),ARM有7種類型的異常(Exception),每種異常都有各自入口地址,即異常向量表(Exception Vectors)。異常向量表放置在從0X00000000地址開始,連續(xù)32字節(jié)的空間內(nèi)。S3C2410A共有56個中斷源,但有些中斷源共用一個中斷向量,所以只要求創(chuàng)建包含32個中斷源的中斷向量表。
S3C2410A是三星公司推出的基于ARM920T內(nèi)核高性能低功耗16/32位RISC微控制器,內(nèi)部集成了豐富的系統(tǒng)外圍控制器。配合Nucleus PLUS操作系統(tǒng)可方便地開發(fā)出適于手持設(shè)備和各種低功耗產(chǎn)品的應(yīng)用程序,加快新產(chǎn)品的上市時間。
Nucleus PLUS啟動過程
嵌入式實(shí)時操作系統(tǒng)內(nèi)核Nucleus PLUS的啟動過程如圖1所示。其中板級初始化(INT_Initialize)主要是完成中斷向量表、系統(tǒng)堆棧、時鐘中斷等基本硬件初始化;操作系統(tǒng)初始化(INC_Initialize)主要是完成郵箱、隊(duì)列、管道、信號量、事件集等軟件組件初始化;應(yīng)用程序初始化(Application_Initialize (first_available_memory))主要是完成用戶定義的應(yīng)用程序初始化,如創(chuàng)建內(nèi)存池,創(chuàng)建任務(wù)、創(chuàng)建信號量、創(chuàng)建中斷、編寫用戶應(yīng)用程序等。移植的過程中,需要修改的是板級初始化(INT_Initialize)這部分內(nèi)容,它是由ARM匯編語言編寫的,下面詳細(xì)敘述。
圖1 Nucleus PLUS 啟動過程
Nucleus PLUS移植過程
INT-Reset子程序修改
INT_Reset是Nucleus PLUS啟動時的程序入口,因?yàn)楦鶕?jù)ARM微處理器的體系結(jié)構(gòu),在系統(tǒng)硬件上電或復(fù)位后,ARM所執(zhí)行的第一條指令在地址0x00000000,即ARM的復(fù)位異常(Reset)向量地址,所以在這個地址要放置一個跳轉(zhuǎn)指令:B INT_Reset 。
在INT_Reset這個子程序中放置的是硬件初始化程序,完成兩個功能:
1. 改變ARM工作模式為管理模式(Supervisor Mode),管理模式是ARM提供給操作系統(tǒng)使用的一種保護(hù)模式;
2. 屏蔽FIQ和IRQ中斷,因?yàn)樵谡麄€系統(tǒng)初始化的過程中,不能被中斷打斷,只有在中斷服務(wù)子程序初始化結(jié)束后,才可以打開中斷,進(jìn)而響應(yīng)中斷。
INT_Reset
MRS R1,CPSR
BIC R1,R1,#MODE_MASK
ORR R1,R1,#SUP_MODE
ORR R1,R1,#LOCKOUT
MSR CPSR_cxsf,R1
建立異常向量表和中斷向量表
根據(jù)ARM的體系結(jié)構(gòu),ARM有7種類型的異常(Exception),每種異常都有各自入口地址,即異常向量表(Exception Vectors)。異常向量表放置在從0X00000000地址開始,連續(xù)32字節(jié)的空間內(nèi)。S3C2410A共有56個中斷源,但有些中斷源共用一個中斷向量,所以只要求創(chuàng)建包含32個中斷源的中斷向量表。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- S3C2410A存儲控制器中文數(shù)據(jù)手冊
- 基于S3C2410A的嵌入式織物密度檢測裝置研究
- 基于U-Boot在S3C2410上的移植 12次下載
- S3C2410A USER'S MANUAL 15次下載
- 嵌入式Linux在s3c2440上的移植研究 67次下載
- LINUX在TE2410開發(fā)板上的移植 59次下載
- 基于i.MX21的Nucleus PLUS移植研究
- 基于S3C2410的Linux移植
- U Boot在S3C2410上的移植
- 嵌入式Linux2.6在S3C2410上的移植技術(shù)探析
- U-Boot在S3C2410上的移植
- μClinux在S3C4510B上的移植
- 基于S3C2410的Linux移植代碼
- s3c2410中文手冊(第1,2,3,5,6,8,16章)
- s3c2410中文資料下載
- Android ART在玄鐵C910上的移植和性能優(yōu)化 1245次閱讀
- 基于S3C2410處理器實(shí)現(xiàn)3G無線網(wǎng)卡接入無線網(wǎng)絡(luò)功能的設(shè)計 2434次閱讀
- 基于S3C2410嵌入式處理器實(shí)現(xiàn)CAN/Ethernet網(wǎng)關(guān)的設(shè)計 2663次閱讀
- 基于S3C2410微處理器和Linux實(shí)現(xiàn)嵌入式網(wǎng)關(guān)的設(shè)計 2490次閱讀
- 基于S3C2410A處理器實(shí)現(xiàn)增強(qiáng)型網(wǎng)絡(luò)驅(qū)動的應(yīng)用方案 1970次閱讀
- 基于S3C2410A嵌入式處理器實(shí)現(xiàn)風(fēng)力發(fā)電監(jiān)控系統(tǒng)的應(yīng)用設(shè)計 2642次閱讀
- 基于S3C2410A芯片和Flash存儲器實(shí)現(xiàn)嵌入式工控量熱儀的設(shè)計 1557次閱讀
- 基于Linux操作系統(tǒng)和S3C2410微處理器實(shí)現(xiàn)GPS實(shí)時導(dǎo)航系統(tǒng)的設(shè)計 1003次閱讀
- 基于S3C2410處理器對Windows CE 5.0操作系統(tǒng)實(shí)現(xiàn)BSP移植 977次閱讀
- 關(guān)于ARM7 S3C4510B上μClinux移植問題 2330次閱讀
- 關(guān)于Blob的介紹及其在S3C44B0上的移植 4395次閱讀
- 基于S3C2410嵌入式設(shè)備的U-Boot移植流程教程 2127次閱讀
- 詳解bootloader的執(zhí)行流程與ARM Linux啟動過程分析 1w次閱讀
- 一種S3C2410路由器的整體結(jié)構(gòu)及工作原理 2405次閱讀
- 基于S3C2410的CAN總線通信設(shè)計與開發(fā) 2702次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多