原创 VxWorks的工程实现

2006-10-15 09:17 7124 11 7 分类: MCU/ 嵌入式
具体实现包括 :BSP的建立 、项目的建立和编译、VxWorks镜像的选择。
1 建立 BSP :
板级支持包(Board Service Packet)的目的就是为 VxWorks供硬件环境的接口,加电后配置 CPU的参数、初始化 RAM 和FLASH、驱动串口和口、加载 VxWorks内核,建立最小 的 VxWorks系统。一般应用在调试阶段,是程序开发必不可少的步骤和调试手段.BSP包括以下几个文件 :1)makefile。包含了一些宏定义,包括:处理器类型、RAM 和I M(FIASH)的大小、VxWorks拷贝地址 、文件 目录等。2)romlnit.S。屏蔽中断,初始化 CPU,关闭cache,初始化 RAM。3)config.h。包含所有的头文件和与 CPU相关的宏定义,如对 cache和 MMU的配置,对 RAM 和 ROM 的定位以及大小配置,外部总线地址映射等。4)bootConfig.C。完成各种系统调用和硬件的初始化 ,如初始化网VI、串VI、时钟,启动VxWorks最小多任务环境,从宿主机上下载VxWorks镜像。5)bootlnit.C。完成 flash中程序到RAM中的拷贝。目标板加电后,首先在 flash中执行 romlnit.S,完成对 CPU的初始化 ,然后执行bootlnit.c,将代码从 flash拷贝到 RAM 中并执行各种基本 1/(3的初始化并从开发板下载 VxWorks。BSP执行的大多数操作是各种发布版本必须的操作,所以 BSP的调试是 VxWorks应用开发的基础。BSP开发的难点在于 mmlmt.S文件,因为这个文件中的代码不能跟踪 ,没有什么调试手段 ,但是一些重要的工作都在其中执行,如 RAM 的初始化、UPM 表的使用等。在通过串口或网口可以跟踪调试以前,点灯是最好的调试手段。
2 项目的建立和编译
通过编译环境 tornado可以建立 project。建立时一般选择boomb~启动类型,然后依据调试成功的 BSP建立项 目。项目建立后 ,可以通过tornado裁减 目标板不需要的系统组件 ,这样可以大大减小应用程序的长度。在 tornado中可以定义全局使用的宏定义和编译条件,然后生成需要的镜像(应用程序)。
3 VxworkS镜像
镜像是最后的应用程序,依据具体的BSP和projeCt生成。根据不同的运行方式,可以分成 RAM 型和 ROM型。VxworkS镜像:属于RAM型,在RAM 中运行 ,由 bootRon通过RS232或RJ45从开发板或局域网下载到 RAM 中的RAM—LOW--ADDR处执行。这种形式的镜像一般在调试过程中使用,可以通过设置断点 、任务监视等手段跟踪代码的运行 ,能方便快速的定位问题并解决问题。VxWorks_-rom镜像:属于RAM 型,在RAM 中运行.应用程序固化在 flash或 rom中,加电后,拷贝至RAM 中的 RAM一ⅧGH—ADI)R处执行。这种形式的镜像应用最普遍。但是如果一旦应用程序有问题,则必须重新烧录flash或rom,程序升级时不方便。VxWorks---rc~aRes镜像:属于ROM型。应用程序固化在 flash或rom中并在 flash或rom中运行。这种方式应用在 RAM 资源比较少的情况下.通过调试成功的BSP,使用串口或网口从主机上下载 vxworks镜像并运行。在运行后,可以使用 target server对任务设置断点 ,查看变量、任务的状态等进行调试。调试成功后 ,重新建立项目文件 ,添加代码文件 ,生成VxWorks--rom镜像文件 ,然后通过BDM接口,使用 visionClick等烧录软件将 VxWork -rom固化到 flash或 rom中。
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /3 下一条