Nucleus 操作系统-实时内核介绍 第二章 Nucleus PLUS 内核介绍 2.1 Nucleus PLUS 应用开发综述 2.1.1 开发调试环境 嵌入式实时应用程序的开发基于宿主机系统。IBM PC 和 UNIX 工作站都是典型的宿主机系统。一般来说,应用程序都是运行在分离的计算机系统上被目标系统调用。然而,IBM PC 系统并 不遵循上述规则,因为它既可以作为 Nucleus PLUS 应用程序的主机,也可为目标机为其服务。运行在 IBM PC 系统 上的应用程序以 EXE 文件的形式存在。 针对目标系统的调试软件通常包括 ICE 仿真工具和 TRM(目标仿真)工具。ICE 仿真工具给工程师提供了完全控制和了解目标系统硬件状况的工具,特别是在校验新硬件时尤为有用。但是,考虑到开发工具成本问题和 ICE 时有的使用局限性,许多项目采用TRM 调试。TRM 就是一个运行在目标系统(通常为 ROM)上的小型的软件组件。TRM 提供包括下载、下断点和内存入口服务。ICE 和 TRM 都有宿主系统控制。这通常由串口来完成。 2.1.2 使用 Nucleus PLUS Nucleus PLUS 被设计成 C 库的形式使用。使用内部应用程序软件的服务从 Nucleus PLUS 库文件取出并且组合成应用程序目标文件来生成最终的映像文件。此映像文件可以下载到目标系统或是存放到目标系统 ROM 中。 使用 Nucleus PLUS 的步骤被描述成下列通用的方式: 1) 如果有必要,修改低级系统初始化文件,INT.S。注:这些文件通常以汇编语言形式交货并且它的的扩展是指定的开发工具。 2) 定义Application_Initialize 函数,Nucleus PLUS 启动系统时它优先运行。注意NUCLEUS.H 文件必须包含以至于能被Nucleus PLUS 服务调用。 3) 定义应用程序任务。如果用到Nucleus PLUS 服务,文件NULCUES.H 必须被包含。 4) 编译所有应用程序软件,包括低级系统初始化文件INT.s。 5) 用Nucleus PLUS 库和必要的开发工具库连接INT.a 和所有应用程序目标文件。 6) 下载应用程序映像文件到目标系统并运行。 2.1.3 初始化 INT_Initialize 程序在Nucleus PLUS 内核中是最先运行的程序。对大多数的目标环境而言,硬件复位向量必须包含在 INT_Initialize 地址中。INT_Initialize 程序主要负责所有与目标硬件相关的初始化,通常包括设置不同种类处理器的控制寄存器、中断向量表、全局 C 数据元素、Nucleus PLUS 的一些变量以及系统的堆栈指针。当 INT_Initialize 程序执行完...