MiniGUI的vxworks环境移植(1): vxwork/tornado环境简介

VxWorks的特点主要有:微内核结构(最小结构<8KB),高效的任务管理,灵活的任务间通信,微秒级中断处理,符合POSIX 1003.1b实时扩展标准,满足TCP/IP网络标准,灵活的从ROM、磁盘或网络的引导能力,多处理器支持,快速、灵活的I/O系统,MS-DOS和 RT-11文件系统,完全符合ANSI C标准,多于1100种功能例程。

Tornado工具,是一整套强有力的交叉开发工具;VxWorks运行时系统,是运行在目标机上的高性能、可裁剪的实时操作系统;连接目标机和宿主机的通信选项,如以太网、串行线路、在线仿真或ROM仿真等。Tornado能够支持几乎所有的工作平台和目标处理器,所提供的工具可用于所有目标机,并具有两种调试模式(系统和任务模式)。除了基本的功能和开发工具,Tornado还具有先进的系列网络产品,极大地扩展了Tornado的网络特性并增强了嵌入式微处理器的网络特性。

 

上面是从网上找的关于vxworks和tornado的简单介绍。通过对vxworks产品的了解,感觉还是这个介绍比较全面的说明了整个产品的框架内容

 

就我看来, tornado不仅仅是vxworks的开发环境,也可以做模拟,也可以配合网络直接和vxworks系统交互来完成一些调试,订制系统组建的功能,实在很强大的一个工具。简单的来看,两者的配合就是按照下图的架构来完成的。

tornado and vxworks

 

1.  tornato上的新项目的创建

 

新建tornato的项目,选择file菜单中的新建项目就可以弹出如下:

新建项目窗口

可以看出上面有两个选择:

1. bootable项目

2. downloadable项目

 

简单的可以这样理解,bootable项目就是一个完整的可以直接下载到vxworks目标机上的镜像系统,里面包含了些系统内核。而downloadable项目就是应用程序,需要内核文件的基础上运行,本身没有内核文件。

 

这样看来,如果不需要做一个完整的烧录到目标机的系统的话,那就选择可以调用模拟的downloadable项目好了。

 

2. 编译自己的第一个文件

在自己新建的项目里面编写好自己的c代码(又见helloworld)

#include <vxworks.h>

#include <stdio.h>

 

int main()

{

    printf("hello world~/n");

}

 

这个代码我们需要先选择编译,注意下面的build toolbar

build toolbar

 

按钮依次是build project, Rebuild All, Compile selected source file, dependencies,  Stop build Update

最后一个是Download object file or image 就是把编译好的程序下载到模拟器的环境中,这里又有问题了,怎么启动模拟器的环境呢?

 

3. 模拟器 target simulator

目标机模拟器,其实就是一个vxworks的环境模拟。那怎么启动呢?就是通过vxworks simulator这个按钮来开启虚拟机的环境的。按这个按钮之后会有两个选项,一个是standard,一个是customized,选择standard就可以开启一个标准的虚拟机环境来进行模拟了。


4. shell, windsh

tornato的shell环境就是windsh,这个shell环境很强大,他支持几乎大部分的c语言表达式,也就是说c语言可以直接作为命令输入,如printf("hello world~");就可以在vxworks的虚拟环境中打印出helloworld~. 同时,这个环境还支持TCL脚本。通过windsh按钮就可以打开这个shell环境了。如下图

 

windshell window

 

 

5. 目标文件下载到虚拟机

 

我们在第2段里面就提到了,我们已经把我们的helloworld.c文件编译成了.o目标文件。那怎么在程序中执行这个.o文件呢。首先要把编译好的目标文件下载到虚拟机的vxwork环境中。在编译好的目标文件上点右键,选择download。然后程序就会被下载到虚拟机。在下载完成了之后,我们可以通过moduleShow命令来查看目前系统中装载了什么目标库。如果helloworld.o这个已经在里面了。ok,我们下载就成功了。

 

6. 运行和调试

 

tornato作为一个开发环境,这两块的功能还是很强大的。这里就不一一提到了。因为很多东西可能也不是一句两句就能说完的。不过,他所有的这些功能都是很容易使用的。作为开发人员的我们可以说对这一块是最熟不过的了。

 

以上,就是自己通过简单的使用tornado做的随笔。有些东西我接触的也不是很深,就先当做一个学习的过程吧。后面我还会提到怎么把minigui通过tornado交叉编译到vxworks系统上去。

 

这一块内容,我也是边学边记下的。可能有些自己会在以后的实践过程中再修改。

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值