新闻中心

EEPW首页>嵌入式系统>设计应用> VMware构建VxWorks模拟仿真开发环境

VMware构建VxWorks模拟仿真开发环境

作者: 时间:2016-09-12 来源:网络 收藏

编译生成bootrom后,还要创建一个VxWorks映象(image),也就是VxWorks操作系统本身的代码,步骤为:

(1) 创建一个“bootable VxWorks image”的工程,BSP 选择pentium;

嵌入式实时操作系统VxWorks入门 - 第七印记 - 游走与人生的边缘

(2) 选择需要的VxWorks组件

如 图10,在这个例子中我们需要包括两个重要的组件:Telnet server 和 Target shell。前者使我们可以通过Telnet协议登录到VxWorks操作系统中;后者则可以让我们通过命令行控制VxWorks系统。另外,需要把所有 C++相关的选项都包含进去。

嵌入式实时操作系统VxWorks入门 - 第七印记 - 游走与人生的边缘

完 成选择后,即可开始编译程序。到此我们已经生成了VxWorks的系统引导程序和运行时的代码映象。在每次修改完系统的配置信息(如:config.h) 后,都要重新创建一个工程来编译VxWorks映象。将生成的名为“vxworks”的文件复制到D:下。这个路径是由上面我们所设置的 DEFAULT_BOOT_LINE宏中的路径参数决定的,必须保持二者一致。

2.4 创建引导软盘

由于目标机从软盘启动,我们需要制作VxWorks引导磁盘,用于引导VxWorks操作系统映象。定位到C:tornado2.2targetconfigpcPentium目录,插入已经格式化好的软盘,运行:

mkboot a: bootrom

该命令将在软盘上建立VxWorks系统引导分区,并将引导程序复制到软盘上。

3. 建立调试环境

3.1配置FTP服务器

宿主机上的FTP服务器用于在系统成功引导后,下载VxWorks的运行时映象,最好使用Tornado开发环境自带的FTP服务软件。

如 图11,打开Tornado FTP Server,选择“Security”菜单下的“Users/Rights”子菜单,创建User Name为“target”,修改“Home Directory”为“D:”(即DEFAULT_BOOT_LINE参数中所指定VxWorks映像目录),修改用户名为“target”,对应密 码为“vxworks”,点击“Done”按钮完成修改,FTP服务就启动了。

嵌入式实时操作系统VxWorks入门 - 第七印记 - 游走与人生的边缘

为了便于观察引导程序是否从FTP上下载了VxWorks映像,最好打开FTP Server的日志功能。选择“Logging”菜单下的“Logging Options”子菜单,其中除了“Winsock Calls”外,让其他选项全都处于开启状态。保持FTP Server窗口处于打开状态,即保证FTP服务器处于运行状态。

虚拟机从软盘启动,接下来会下载服务器上的D:vxworks映像,服务器的FTP会有相关的log,如图12:

嵌入式实时操作系统VxWorks入门 - 第七印记 - 游走与人生的边缘

图12 FTP服务器

3.2 配置target server

如 图13,打开您的Tornado开发环境,选择“Tools->Target Server->Configure”菜单,在“Description”中任意填写一个名字,这里是“net00”;在“Available Back”中选择“wdbrpc”,并在下面的IP地址框中填写目标机的IP地址,这里是“192.168.80.254”(由 DEFAULT_BOOT_LINE参数决定);将“Target Server Properties”下拉框更改至“Core File and Symbols”,并在“File Path”一项中选择您的映象的完整路径,这里是“D:VxWorks”(由DEFAULT_BOOT_LINE参数决定)。

图13 配置Target Server

完成以上两项配置,如果目标机已经启动,点击“Launch”按钮,就可以启动Target Server了。

再回到Tornado开发环境,在工具条上的Target Server下拉框列表中选择“192.168.80.169@host”。这时您会发现工具条中一些原先处于“禁用”状态的工具按钮,现在都已经处于“激活”状态了。

试一试,我们打开TShell,并运行“i”命令察看目标机上当前运行的任务,效果如图14:

嵌入式实时操作系统VxWorks入门 - 第七印记 - 游走与人生的边缘

图14 在TShell中运行命令

4. 编写和调试应用程序

现在,编写应用程序的所有条件已经完全具备了。我们来编写一个简单的应用。

如图15,建立一个名为“test”的可下载的应用程序模块:

图15建立可下载的应用程序模块

如图16,注意工具链的选择,应该为PENTIUMgnu:

图16 选择PENTIUMgnu工具链

这个时候工程中还一个文件都没有,我们编写一个简单的程序:

以下是引用片段:

#include

void test(void)

{

int i = 0;

while(1)

{

printf (%dt,i);

i++;

if(i==10000)

{

break;

}

}

}

编译生成了test.out,下载到目标板,在TShell中运行test函数,效果如图17。

嵌入式实时操作系统VxWorks入门 - 第七印记 - 游走与人生的边缘


关键词:

评论


相关推荐

技术专区

关闭