Chinaunix首页 | 论坛 | 博客
  • 博客访问: 316420
  • 博文数量: 72
  • 博客积分: 3111
  • 博客等级: 中校
  • 技术积分: 668
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-30 15:45
个人简介

朝着心的方向前进

文章分类

全部博文(72)

文章存档

2014年(5)

2013年(1)

2012年(1)

2011年(1)

2010年(24)

2009年(40)

我的朋友

分类:

2009-09-10 16:37:19

vxworks知识初步
一,Tornado
Tornado集成环境提供了高效明晰的图形化的实时应用开发平
台,它包括一套完整的面向嵌入式系统的开发和调测工具。
Tornado环境采用主机-目标机交叉开发模型,应用程序在主
机的Windows环境下编译链接生成可执行文件,下载到目标机,
通过主机上的目标服务器(Target Server)与目标机上的目标
代理(Target Agent)的通信完成对应用程序的调试、分析
有三部分组成:
1,Vxworks高性能的实时操作系统
2,应用程序编译工具
3,交互开发工具
Tornado开发环境
Tornado是集成了编辑器、编译器、调试器于一体的高度集成
的窗口环境,同样也可以从Shell窗口下发命令和浏览。

1,WindConfig:Tornado系统配置
通过WindConfig可选择需要的组件组成VxWorks实时环境,并
生成板级支持包BSP的配置。通过修改config.h可以实现
WindConfig的所有功能,并且,可以实现WindConfig不能实现
的功能。
2,WindSh:Tornado外壳
WindSh是一个驻留在主机内的C语言解释器,通过它可运行下载
到目标机上的所有函数,包括VxWorks和应用函数。Tornado外壳
还能解释常规的工具命令语言TCL。
WindSh不仅可以解释几乎所有的C语言表达式,而且可以实现所
有的调试功能。它主要有以下调试功能:下载软件模块;删除
软件模块;产生任务;删除任务;设置断点;删除断点;运行
、单步、继续执行程序;查看内存、寄存器、变量;修改内存、
寄存器、变量;查看任务列表、内存使用情况、CPU利用率;
查看特定的对象(任务、信号量、消息队列、内存分区、类);
复位目标机。
3,浏览器
Tornado浏览器可查看内存分配情况、任务列表、CPU利用率、系
统目标(如任务、消息队列、信号量等)。这些信息可周期性地进
行更新。
4,CrossWind:源码级调试器
源码级调试器CrossWind提供了图形和命令行方式来调试,可进行指
定任务或系统级断点设置、单步执行、异常处理。
    内存、寄存器、变量的值通过菜单操作是无法实现的,需要在WindSh中执行
原语操作实现
5,驻留主机的目标服务器
目标服务器管理主机与目标机的通信,所有与目标机的交互工具
都通过目标服务器,它也管理主机上的目标机符号表,提供目
标模块的加载和卸载。
6,Tornado注册器
所有目标服务器注册其提供的服务在注册器中。注册器映射用
户定义的目标名到目标服务器网络地址。
7,VxWorks
Tornado集成了VxWorks操作系统。
8,目标代理程序
目标代理程序是一个驻留在目标机中的联系Tornado工具和目
标机系统的组件。一般来说,目标代理程序往往是不可见的。
二,VxWorks Image的文件类型有三种
1. Loadable Images:由Boot-ROM引导通过网口或串口下载到RAM
2. ROM-based Images(压缩/没有压缩):即将Image直接烧入ROM,
    运行时将Image拷入RAM中运行。
3. ROM-Resident Images:Image的指令部分驻留在ROM中运行,
    仅将数据段部分拷入RAM。
    注意这里所说的三种映像都是包含真正操作系统VxWorks的映像,
    其中后两种可以直接启动并运行起来,但是第一种不行,它必须
    借助另一个叫做Boot Image的映像(可以在Tornado 中
    的build->build boot rom中生成)才能运行起来,也就是
    利用Boot Image引导起来然后通过网口或串口下载真正包含VxWorks
    的Loadable Image,然后才能运行起来。也就是说Boot Image是
    和Loadable Image 结合使用的。
现在看来一共有四种映像文件,让我们看看它们的组成吧:
1. Boot Image:包含一段叫做BootStrap Programs的程序+一段ROM BOOT Program程序。
2. Loadable Images:有操作系统VxWorks和应用组成的映像。
3. ROM-based Images(压缩/没有压缩):包含一段叫做BootStrap Programs的程序+
    Loadable Images(即有操作系统VxWorks和应用组成的映像)
4. ROM-Resident Images:同上
    通过上面我们可以看出,ROM-based Images,ROM-Resident Images,
    Boot Image三种映像都包含一段叫做BootStrap Programs的程序,它具有启动功能,
    可以把ROM中的代码段和数据段拷贝到RAM中;
bootrom的制作
在x86上面大多数建议使用软驱引导
在这里使用Kontron的工控板,更文件的办法是放在硬件或CF
卡面
硬件准备:
 一块硬盘或CF卡(暂定为CF卡)
 PM板子一块
过程:
1, 格式化为FAT16或FAT32
2, 安装DOS6.0或DOS7.1(用Format C:/s)
3, 将vxsys.com复制到根目录(位于…..host/x86-win32/bin)
4, 启动DOS
5, 如果是DOS7.1,则需要lock C:
6, Vxsys C:
7, 将bootrom.sys文件复制到根目录
8, 重启系统,正常的话,可看到bootrom的启动的蓝色画面
系统的引导:
1,串口
2,网口
一般情况下,调试的时候是用网络加载系统镜像,调试完成后可以
放在硬盘上面,这要修改bootrom的启动参数
修改BSP的配置文件config.h
为了保证我的Tornado的纯净性,复制了一份C:\Tornado2.2\target\config\pcPentium_pm文件前重命名为Kontron_PM,
这是基于移动版的Pentium和处理器
1,网卡配置
根据PM板子上面的网络芯片为Intel82562系统的,同时根据
控创的说明,使用INCLUDE_FEI_END处于被define即可,这
个本来就是默认,但其他板子可能不同,大部分ETX的板子
是Intel82562和82551系列的,使用上述宏被定义即可。
2,修改DEFAULT_BOOT_LINE宏
#define DEFAULT_BOOT_LINE \
 "fei=0,0(0,0)hunt:/ata0/vxWorks h=192.168.0.104 e=192.168.0.168 u=kontron"
参数解释:
ata=0,0(0,0) 指定了使用第0个ata控制器和第0个驱动;
  我们从硬盘或CF卡启动,应该是ata的设备,所以要改写成ata,
host 指定你的主机的名字,随便写拉;
/ata0/vxWorks 指定了VxWorks映象下载的完整路径,因为我们是从硬盘下载;
h=192.168.0.104 是宿主机的IP地址,查看你的网上邻居的本地连接,根据它填写;
e=192.168.0.168 目标机的IP地址,可以根据实际情况修改,但要和主机在同一网段;
u=test 指定登录FTP服务器的用户名,此FTP是用来下载VxWorks映象的;
pw=123 是FTP服务器与用户名test对应的密码;
tn=kontron 指定目标机的名字,任意指定即可,这里写的kontron PM工控板。

Bootrom的生成
1,编译Bootrom
打开Tornado开发工具,在Build菜单下选择Build Boot ROM,选择BSP为Kontron_PM,
image类型为bootrom,工具为gnu,如图。点击OK,Bootrom就会编译。编译成功后,会在BSP目录下生产bootrom文件
2,在BSP的目录一新建一个make.bat的文件,内容如下
@echo off
rem Command line build environments
set WIND_HOST_TYPE=x86-win32
set WIND_BASE=C:\Tornado2.2
set PATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;%PATH%
objcopypentium -O binary --gap-fill=0 bootrom bootrom.sys
双击运行
会产生一个bootrom.sys
按上面的步骤将制作好的这个这个文件拷贝到CF卡根目录,
ok

通过Tornado创建一个bootable的工程
选择好保存文件夹和工程名
选择好BSP包
配置好组件,即可生成vxworks的镜像了
镜像的远程调试:shell登录
 
阅读(2600) | 评论(0) | 转发(0) |
0

上一篇:内核划分

下一篇:几个shell命令

给主人留下些什么吧!~~