VxWorks Workbench开发环境快速介绍

您所在的位置:网站首页 windml开发帮助手册 VxWorks Workbench开发环境快速介绍

VxWorks Workbench开发环境快速介绍

2024-07-05 14:10| 来源: 网络整理| 查看: 265

本文介绍了VxWorks Workbench开发环境相关的快速教程

1. 启动Wind River Workbench

可以按照如下步骤来启动Wind River Workbench IDE(Integrated Develoment Environment),从菜单选择,Applications men -> Development -> Wind River Workbenche, 或者从命令行运行/opt/WindRiver/workbench-4/startWorkbench.sh,下面的窗口将会询问并让我们选择工作空间workspace。

这儿的Workspace是你的项目存放的地方,建议将workspace放置到你的Home目录下(/home.nfs/)。

2. 创建新项目

为了创建一个新的项目,可以依次选择File -> New -> Project,并选择 VxWorks -> VxWorks Downloadable Kernel Module Project。(后面你也会和Real-Time Process Projects打交道),一个对话窗口将会打开,你可以指定一个项目名称,可选地,你可以改变项目的保存目录,继续点击Next按钮。

在下一个窗口,选择我们项目基于的类型,因为我们将在模拟器中运行程序,选择image project和vip_vxsim_linux_llvm (prebuild),然后点击Finish。

现在你可以在Project Explore选项卡下看到刚新建的项目,这个项目包含了一个简单的C语言模板dkm.c。

2.1 示例代码

用下面的代码代换dkm.c中的代码。

 

#include "taskLib.h" #include "stdio.h" #include "kernelLib.h" int task_run[] = {100, 450, 200}; int task_stop[] = {18, 25, 30}; void task(int n) { long int x; printf("Task %i has been started\n", n); while (1) { printf("task %d: running\n", n); x = 1000000 * task_run[n]; while (x > 0) x--; printf("task %d: delayed\n", n); taskDelay(task_stop[n]); } } void CreateTasks(void) { TASK_ID id1, id2, id3; /* kernelTimeSlice(1); */ cpuset_t affinity; CPUSET_ZERO(affinity); CPUSET_SET(affinity, 0); taskCpuAffinitySet(taskIdSelf(), affinity); id1 = taskSpawn("Task0", 210, 0, 4096, (FUNCPTR) task, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); id2 = taskSpawn("Task1", 210, 0, 4096, (FUNCPTR) task, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0); id3 = taskSpawn("Task2", 210, 0, 4096, (FUNCPTR) task, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0); }

 

 

3 编译应用程序

就像很多现代IDE一样,通过一个单一的点击动作就可实现编译和运行一个应用程序,但是,理解这个场景背后究竟发生什么也是非常有帮助的。我们将会看看运行一个VxWorks应用程序所需要的每一个步骤,然后我们将会展示如何通过一个点击动作来实现。

编译一个项目,右键点击测试项目名称并选择Build(或者按Ctrl + B,或者按Ctrl + P)。

第一次编译的时候会询问头文件搜索的目录,这儿,你可以点击Continue继续。

编译的控制台将会自动打开并显示编译过程的输出内容。

如果你看到编译结束(Build Finished)的黑体字,表示编译是成功的,否则,你需要修正报告的错误(和警告)。

4. 启动模拟器

因为我们将要在模拟器中运行程序,我们必须要先设置,从Workbench的工具栏,从下拉列表中选择New Connection

在这个新连接的对话框中,输入一个Connection Name并选择:

Target Type: VxWorks Simulator Connection Mode: Application Mode

选择Finished,然后模拟器就会启动,两个选项卡将会打开:

Simulator选项卡将会显示Connection details Terminal选项卡将会显示模拟系统的控制台

尝试在控制台里的VxWorks控制台提示行输入命令i:

这个命令将会系统里面正在运行的所有任务。

相似的信息也可以从系统监控(System Monitor)选项卡中获取。

5. 运行应用程序

现在通过右键点击项目并选择Run/Debug Kernel Task来运行程序

在Run Kernel Task对话框中,指定Entry Point,就是将要运行的函数的名称,输入CreateTasks或者通过Browse...按钮来选择。

从可用的entry points中选择CreateTasks。

在按了OK按钮后,应用程序将会在模拟器中运行并且输出内容将会在Terminal选项卡中显示出来。

如果你想再次运行程序程序,按组合建Ctrl + Shift + F11就足够了,或者从Target actions菜单中选择Run Kernel Task

6. 终止程序

有多种方法来终止应用程序:

点击红色的图标来停止整个模拟器 从System Monitor选项卡,通过右键菜单点击单个应用任务来终止它

7. 调试

你可以在运行某个应用程序的时候,通过选择Attach Debugger选项来调试一个应用程序。

Workbench会在entry point或者任何其他手动添加的断点处停止应用程序,现在你可以像别的IDE一样step并调试代码。

8. 帮助和文档

有两种类型的文档是可用的:

参考手册 指南,教程

指南文档在/opt/WindRiver/vxworks/22.06/docs目录下,对大家来说最重要的文档将是Kernel_Application_Development/VxWorks_Application_Programmer_s_Guide_22.06.pdf

参考手册可以在IDE自身的环境中获得,Help->Show Context Help,帮助窗口将会在编辑器里面鼠标的位置显示文档的链接。

系统Viewer

系统Viewer是你可以记录系统活动的轨迹然后通过图形的方式进行显示的工具。

系统Viewer可以被配置来记录不同数量的信息,我们将通过选择Additional Instrumentation来选择中等数量,如下所述。

下面你就可以开始从运行的系统中记录运行轨迹。

记录停止后,带有记录数据的新窗口将会出现。

你也可以从view隐藏任何任务。

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3