VxWorks Workbench开发环境快速介绍 |
您所在的位置:网站首页 › windml开发帮助手册 › VxWorks Workbench开发环境快速介绍 |
本文介绍了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 |