nucleus plus在嵌入式系统应用new

nucleus plus在嵌入式系统应用new

ID:36232776

大小:35.00 KB

页数:7页

时间:2019-05-07

nucleus plus在嵌入式系统应用new_第1页
nucleus plus在嵌入式系统应用new_第2页
nucleus plus在嵌入式系统应用new_第3页
nucleus plus在嵌入式系统应用new_第4页
nucleus plus在嵌入式系统应用new_第5页
资源描述:

《nucleus plus在嵌入式系统应用new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、NucleusPlus在嵌入式系统应用NucleusPlus内核技术ATI公司使用一种叫做软件组件的方法。所谓软件组件,就是具有明确目的或用途的由1个或数个C语言/汇编源文件的一段非独立执行应用程序,且每个组件都提供一个定义好的外部接口,必须通过外部接口来使用组件。访问组件内的全局数据结构是被禁止的。使用了组件方法,软件组件既易于更新也易于重用。NucleusPlus软件组件通常由定义数据类型、常量以及外部接口的INCLUDE头文件和一个或多个C语言/汇编源文件组成。NucleusPlus提供如下组件:任务控制管理、内存管理、定时器管理、中断、系统诊断、I/O驱动管

2、理等共16个组件如下,NucleusPlusKernel:CommonServiceComponent(CS)InitializationComponent(IN)TreadControlComponent(TC)TimerComponent(TI)MailboxComponent(MB)PipeComponent(PI)SemaphoreComponent(SM)EventFlagComponent(EV)PartitionComponent(PM)QueueComponent(QM)DynamicMemoryComponent(DM)I/OComponent(I

3、/O)HistoryComponent(HI)ErrorComponent(ER)LicenseComponent(LI)ReleaseComponent(RL)NucleusPlus除了其功能强大的内核外,还提供了面向INTERNET、TCP/IP、WEB浏览器、图形以及文件系统的软件包。NucleusPlus开发1.NucleusPlus定制NucleusPlus也能根据目标板的需要进行裁剪和定制,生成适合目标系统的操作系统,尽量少占系统内存。OS定制完成后,将其链接到目标应用程序,成为目标应用程序的一部分。在典型的CISC体系结构的目标板上,它占用约20K左右

4、的空间,而在RISC体系结构的目标板上占用约40K左右的空间。一般地,NucleusPlus足以满足绝大多数的嵌入式应用。ATI公司提供了一个名为BUILD_LI.BAT或PLUS.BAT的批处理文件,用户可以删剪其中的模块,更改相关的选项或开关,执行该文件生成与目标相关的操作系统,也就是根据系统需要生成定制的操作系统。需要注意的是,该批处理文件的内容与开发工具有关。2.开发方案NucleusPlus可以结合Paradigm、SDS以及ATI的多任务调试器组成功能强大的集成开发环境,配合相应的编译器(Borlandc/c++编译器、Turboc/c++编译器或者Mi

5、crosoftc/c++编译器)和动态链接库以及各类底层驱动软件就可以满足嵌入式应用的开发。3.开发流程用NucleusPlus开发嵌入式应用程序,一般遵循如下步骤:*如果有必要,应对低级系统初始化文件.INT进行修改,使之符合目标板的需要。如中断向量、I/O地址、时钟频率等。*定义Application_Initialize()函数。该函数在启动系统之前先执行。注意的是要把NUCLEUS.H头文件包括在目标应用程序中,以便利用NucleusPlus的服务。*定义应用程序的任务。如果调用NucleusPlus的服务,要把NUCLEUS.H包含进去。*编译/汇编所有的

6、应用程序软件,并且包含系统低级初始化文件.INT。*链接.INT和所有的应用程序目标文件、NucleusPlus库文件以及相关的开发工具库。*把生成的最终目标代码下载或烧到目标板上执行。4.NucleusPlus初始化NucleusPlus分三个层次的初始化,即:系统低级初始化Int-Initialize()、系统高级初始化Inc-Initialize()和应用程序初始化Application_Initialize(),初始化之后便进入NucleusPlus的任务调度循环。各个初始化函数任务见表1。表1:NucleusPlus初始化表Int_Initialize()

7、Inc_Initialize()Application_Initialize()*设置必要的处理器/系统控制寄存器*初始化中断向量表*设置系统堆栈寄存器*计算定时器HISR堆栈和优先级*计算系统第国个可用内存*将控制交给系统高级初始化例程*初始化NucleusPlus组件*将控制交给应用程序初始化例程任务调度*执行用户定义的初始化,如创建内存池,创建任务、创建信号量、创建队列等5.NucleusMNTNucleusMNT是为软件开发者设计的,在WIN95/NT下构筑NucleusPlus嵌入式应用的原型(Prototyping)环境。它通过两个库来实现,即针对目

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。