本文主要是介绍Nucleus PLUS的启动、运行线程和中断处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
nucleus系统是实时嵌入式操作系统,具有实时、任务抢先、多任务内核,其中95%的代码由C语言写成,极易移植,开放的源码使得配置和裁剪方便,再加上体积小(全部二进制映像可仅20K)、响应快速等特性,使得Nucleus PLUS得到广泛应用。另外,所谓的实时指的是对外部或者内部的事件在正确的时间内必须得到正确的响应,而不仅仅指的是“立即能够响应”。
(一)Nucleus PLUS启动流程
INT.[S, ASM或SRC]是与具体的处理器架构相关程序,提供最低层次的初始化和访问处理器中断向量表的服务。如ARM架构中将INT_Initialize置于INT_Reset中断向量中引导系统启动。
INT_Initialize 子程序在Nucleus PLUS 系统中是最先运行的,负责所有与目标硬件板相关的初始化。即使具有相同的处理器的硬件板之间的INT_Initialize 子程序依然是不一样的,因为不同的硬件板具有不同的外围总线和时钟中断等。INT_Initialize 完成后将控制权转移到高级Nucleus PLUS 初始化子程序INC_Initialize上并不再返回。INC_Initialize调用所有的Nucleus plus组件初始化函数、调用Application_Initialize创建用户任务等对象,最后将控制权交给调度函数TCT_schedule,系统启动完毕。
嵌入式实时操作系统内核Nucleus PLUS的启动过程如图1所示。其中
1
这篇关于Nucleus PLUS的启动、运行线程和中断处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!