资料介绍
Nucleus PLUS是美国ATI 公司为实时性要求较高的嵌入式系统应用设计的操作系统内核。约95%的Nucleus PLUS代码用ANSI C语言编写,因此,非常便于移植并能够支持大多数类型的微处理器,如X86、68K、PowerPC、MIPS、ARM等。经过截减编译后,Nucleus PLUS 核心代码区一般不超过20KB大小。 同时提供TCP/IP网络、图形界面Grafix、文件系统File等模块。还有一个特点就是免费提供源代码,有利于节省开发费用。
S3C2410A是三星公司推出的基于ARM920T内核高性能低功耗16/32位RISC微控制器,内部集成了丰富的系统外围控制器。配合Nucleus PLUS操作系统可方便地开发出适于手持设备和各种低功耗产品的应用程序,加快新产品的上市时间。
Nucleus PLUS启动过程
嵌入式实时操作系统内核Nucleus PLUS的启动过程如图1所示。其中板级初始化(INT_Initialize)主要是完成中断向量表、系统堆栈、时钟中断等基本硬件初始化;操作系统初始化(INC_Initialize)主要是完成邮箱、队列、管道、信号量、事件集等软件组件初始化;应用程序初始化(Application_Initialize (first_available_memory))主要是完成用户定义的应用程序初始化,如创建内存池,创建任务、创建信号量、创建中断、编写用户应用程序等。移植的过程中,需要修改的是板级初始化(INT_Initialize)这部分内容,它是由ARM汇编语言编写的,下面详细叙述。
图1 Nucleus PLUS 启动过程
Nucleus PLUS移植过程
INT-Reset子程序修改
INT_Reset是Nucleus PLUS启动时的程序入口,因为根据ARM微处理器的体系结构,在系统硬件上电或复位后,ARM所执行的第一条指令在地址0x00000000,即ARM的复位异常(Reset)向量地址,所以在这个地址要放置一个跳转指令:B INT_Reset 。
在INT_Reset这个子程序中放置的是硬件初始化程序,完成两个功能:
1. 改变ARM工作模式为管理模式(Supervisor Mode),管理模式是ARM提供给操作系统使用的一种保护模式;
2. 屏蔽FIQ和IRQ中断,因为在整个系统初始化的过程中,不能被中断打断,只有在中断服务子程序初始化结束后,才可以打开中断,进而响应中断。
INT_Reset
MRS R1,CPSR
BIC R1,R1,#MODE_MASK
ORR R1,R1,#SUP_MODE
ORR R1,R1,#LOCKOUT
MSR CPSR_cxsf,R1
建立异常向量表和中断向量表
根据ARM的体系结构,ARM有7种类型的异常(Exception),每种异常都有各自入口地址,即异常向量表(Exception Vectors)。异常向量表放置在从0X00000000地址开始,连续32字节的空间内。S3C2410A共有56个中断源,但有些中断源共用一个中断向量,所以只要求创建包含32个中断源的中断向量表。
S3C2410A是三星公司推出的基于ARM920T内核高性能低功耗16/32位RISC微控制器,内部集成了丰富的系统外围控制器。配合Nucleus PLUS操作系统可方便地开发出适于手持设备和各种低功耗产品的应用程序,加快新产品的上市时间。
Nucleus PLUS启动过程
嵌入式实时操作系统内核Nucleus PLUS的启动过程如图1所示。其中板级初始化(INT_Initialize)主要是完成中断向量表、系统堆栈、时钟中断等基本硬件初始化;操作系统初始化(INC_Initialize)主要是完成邮箱、队列、管道、信号量、事件集等软件组件初始化;应用程序初始化(Application_Initialize (first_available_memory))主要是完成用户定义的应用程序初始化,如创建内存池,创建任务、创建信号量、创建中断、编写用户应用程序等。移植的过程中,需要修改的是板级初始化(INT_Initialize)这部分内容,它是由ARM汇编语言编写的,下面详细叙述。
图1 Nucleus PLUS 启动过程
Nucleus PLUS移植过程
INT-Reset子程序修改
INT_Reset是Nucleus PLUS启动时的程序入口,因为根据ARM微处理器的体系结构,在系统硬件上电或复位后,ARM所执行的第一条指令在地址0x00000000,即ARM的复位异常(Reset)向量地址,所以在这个地址要放置一个跳转指令:B INT_Reset 。
在INT_Reset这个子程序中放置的是硬件初始化程序,完成两个功能:
1. 改变ARM工作模式为管理模式(Supervisor Mode),管理模式是ARM提供给操作系统使用的一种保护模式;
2. 屏蔽FIQ和IRQ中断,因为在整个系统初始化的过程中,不能被中断打断,只有在中断服务子程序初始化结束后,才可以打开中断,进而响应中断。
INT_Reset
MRS R1,CPSR
BIC R1,R1,#MODE_MASK
ORR R1,R1,#SUP_MODE
ORR R1,R1,#LOCKOUT
MSR CPSR_cxsf,R1
建立异常向量表和中断向量表
根据ARM的体系结构,ARM有7种类型的异常(Exception),每种异常都有各自入口地址,即异常向量表(Exception Vectors)。异常向量表放置在从0X00000000地址开始,连续32字节的空间内。S3C2410A共有56个中断源,但有些中断源共用一个中断向量,所以只要求创建包含32个中断源的中断向量表。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- S3C2410A存储控制器中文数据手册
- 基于S3C2410A的嵌入式织物密度检测装置研究
- 基于U-Boot在S3C2410上的移植 12次下载
- S3C2410A USER'S MANUAL 15次下载
- 嵌入式Linux在s3c2440上的移植研究 67次下载
- LINUX在TE2410开发板上的移植 59次下载
- 基于i.MX21的Nucleus PLUS移植研究
- 基于S3C2410的Linux移植
- U Boot在S3C2410上的移植
- 嵌入式Linux2.6在S3C2410上的移植技术探析
- U-Boot在S3C2410上的移植
- μClinux在S3C4510B上的移植
- 基于S3C2410的Linux移植代码
- s3c2410中文手册(第1,2,3,5,6,8,16章)
- s3c2410中文资料下载
- Android ART在玄铁C910上的移植和性能优化 1245次阅读
- 基于S3C2410处理器实现3G无线网卡接入无线网络功能的设计 2434次阅读
- 基于S3C2410嵌入式处理器实现CAN/Ethernet网关的设计 2663次阅读
- 基于S3C2410微处理器和Linux实现嵌入式网关的设计 2490次阅读
- 基于S3C2410A处理器实现增强型网络驱动的应用方案 1970次阅读
- 基于S3C2410A嵌入式处理器实现风力发电监控系统的应用设计 2642次阅读
- 基于S3C2410A芯片和Flash存储器实现嵌入式工控量热仪的设计 1557次阅读
- 基于Linux操作系统和S3C2410微处理器实现GPS实时导航系统的设计 1003次阅读
- 基于S3C2410处理器对Windows CE 5.0操作系统实现BSP移植 977次阅读
- 关于ARM7 S3C4510B上μClinux移植问题 2330次阅读
- 关于Blob的介绍及其在S3C44B0上的移植 4395次阅读
- 基于S3C2410嵌入式设备的U-Boot移植流程教程 2127次阅读
- 详解bootloader的执行流程与ARM Linux启动过程分析 1w次阅读
- 一种S3C2410路由器的整体结构及工作原理 2405次阅读
- 基于S3C2410的CAN总线通信设计与开发 2702次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多