1 / 47

VxWorks 及其应用开发

VxWorks 及其应用开发. 陈香兰 xlanchen@ustc.edu.cn http://staff.ustc.edu.cn/~xlanchen 2006 年 7 月. 课程内容. VxWorks 和 Tornado 简介 任务和任务间通信 信号、中断处理与定时机制 调试环境与实例分析 网络编程 VxWorks 操作系统配置. 建立调试环境和实例分析. xlanchen@2006.7.26. 1 、建立调试环境. Tornado 采用主机 / 目标机开发模式 我们以 pcPentium 目标机为例介绍调试环境的建立

makya
Download Presentation

VxWorks 及其应用开发

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VxWorks及其应用开发 陈香兰 xlanchen@ustc.edu.cn http://staff.ustc.edu.cn/~xlanchen 2006年7月

  2. 课程内容 • VxWorks和Tornado简介 • 任务和任务间通信 • 信号、中断处理与定时机制 • 调试环境与实例分析 • 网络编程 • VxWorks操作系统配置

  3. 建立调试环境和实例分析 xlanchen@2006.7.26

  4. 1、建立调试环境 • Tornado采用主机/目标机开发模式 • 我们以pcPentium目标机为例介绍调试环境的建立 • 目标机:通常使用被开发板但在开发阶段,如果有合适的开发板模拟器/仿真机(例如VmWare),建议使用

  5. 建立Bootable Application

  6. 选择BSP为pcPentium

  7. 1.1 配置文件config.h • 在x86系列的目标机上运行的vxWorks系统包括两部分: • 引导文件bootrom.sys和操作系统映像文件VxWorks

  8. 引导文件bootrom.sys • bootrom.sys的主要作用类似于BIOS,一般存放在一张软盘或目标机硬盘或目标机FLASH盘上,由Vxld或其他程序加载到内存 • 初始化目标机上的硬件 • 建立VxWorks运行的环境 • 从引导设备上加载VxWorks操作系统映像,并将CPU的控制权移交给操作系统

  9. 操作系统映像文件VxWorks • VxWorks是应用程序和目标代理程序运行的软件平台,一般存放在bootrom.sys所在的软盘或目标机硬盘或目标机FLASH盘,或主机硬盘上 • 由bootrom.sys的引导程序加载到目标机内存

  10. 上述两个文件可以利用Tornado提供的工具,按照BSP配置文件config.h中的有关配置自动生成上述两个文件可以利用Tornado提供的工具,按照BSP配置文件config.h中的有关配置自动生成 • 例如pcPentium的配置文件是..\target\config\pcPentium\config.h

  11. config.h • config.h定义: • 引导行 • 目标机操作系统包含的主要成分,例如软驱、IDE硬盘、SCSI设备、网络等设备驱动 • 文件系统(DOSFS、TFFS、CDROMFS等) • 调试方式 • 内存地址 • 以及有关参数

  12. 引导行 • 引导行定义了引导设备、引导路径、操作系统文件名、主机/目标机IP地址、子网掩码、FTP用户名和口令等参数 • 对于x86平台目标机,引导设备可以是软盘、硬盘、FLASH盘和网卡 • 一般通过以太网或RS232标准串口连接进行调试

  13. pcPentium\config.h中的缺省启动行

  14. 在x86平台上,首先确定调试手段 • 网络 or 串口 • 然后根据下列步骤建立调试环境 • 修改配置文件 • 生成bootrom引导文件和VxWorks映像文件 • 制作启动软盘 • 配置主机环境 • 用启动软盘启动目标机 • 从主机连接到目标机

  15. 1.2 网络连接 步骤0:确定调试手段 • 使用以太网连接调试方式,通过网络使用FTP协议从主机下载VxWorks映像 • 首先要确定目标机使用的网卡类型号 • VxWorks支持的网卡参见config.h • 使用某个网卡,必须包含相应的INCLUDE_XXX

  16. VxWorks支持的网卡(from config.h)

  17. 步骤1:修改config.h 修改引导行 • 引导文件根据引导行来确定引导设备、引导路径、操作系统文件,并且引导行存放在固定的位置 • 操作系统访问引导行来确定网络的配置 • 系统reboot时也将访问引导行

  18. VmWare的引导行 • “"lnPci(0,0)your_host_name:d:\\vxWorks h=90.0.0.3 e=90.0.0.50 u=target pw=vxworks tn=target"” • 解释如下: • 启动设备名——lnPci(0,0) • 主机标志名,可以任意填写,不影响启动过程——your_host_name • 主机端的操作系统路径和文件名——d:\\vxWorks • 主机IP地址——h=90.0.0.3 • 目标机IP地址——e=90.0.0.50 • 用户名,主机的FTP服务器必须有相应的同名用户——u=target • 口令,必须与主机的FTP服务器相应的同名用户的口令相同——pw=vxworks • 目标名,可以任意设置,不影响启动过程——tn=target

  19. 修改config.h • 为了使用键盘和控制台 • 修改 • 为:

  20. 修改config.h 修改网络驱动选项 • 选择VmWare支持的网卡

  21. 步骤2.1:生成bootrom • 选择菜单Build->Build Boot Rom

  22. 弹出的窗口 • BSP选择pcPentium,Image选择bootrom和gnu • 点击OK,会弹出Build Output窗口显示编译过程 • 等待编译成功

  23. 步骤2.2:生成VxWorks • VxWroks有很多组件 黑色为VxWorks当前 所包含的组件

  24. 打开development tool components 为了能够使用shell, 选择target shell components

  25. 选择菜单buildrebuild all • 等待编译结束 • 编译出来的目标文件在工程目录下的default目录下,是vxWorks

  26. 步骤3:制作启动软盘 • 如果没有软驱,可以使用虚拟软驱,例如RamDiskNT • 在windows的cmd命令窗口下,进入..\target\config\pcPentium目录: • 命令:format a: • 用于格式化软盘,第一次使用时需要 • mkboot a: bootrom (如果提示没有mkboot命令,则需要到..\host\x86-win32\bin下,运行torVars.bat

  27. 打开cmd命令窗口

  28. 步骤4:配置主机环境 • 设置FTP服务器 • 可以使用常用的FTP服务器 • 例如Serv_U • 也可以使用Tornado自带的FTP Server • 使用FTP服务器的关键在于提供正确的用户名和密码

  29. 若使用Tornado自带的FTP Server • 启动Tornado组件FTP Server • 在WFTPD窗口中选择菜单Security中的User/right… • 在其弹出窗口中选择New User

  30. 根据提示信息输入: • 登录用户名和密码(要与DEFAULT_BOOT_LINE中指定的一致) • Home Directory • 如果这个路径不是默认的vxWorks镜像生成目录的路径,则需要拷贝生成的vxWorks镜像到该路径下 • 比如从上面的default目录下拷贝到D盘

  31. 步骤5:从启动软盘启动目标机 • 将目标机配置为从软盘启动 • 开机

  32. 步骤7:从主机连接到目标机 • 可以使用Target Server从主机连接到目标机 • 在菜单ToolsTarget ServerConfigure… • 在弹出窗口中 • 首先给目标服务器命名 • 在Target Servers Property中,选择Back End,并在Available Back中选择wdbrpc,在Target Ip/Address中输入目标机IP

  33. 在Target Servers Property中,选择Core File and Symbols,选择File为BSP目标文件所在目录的VxWorks,并选取为All Symbols • … • Launch • 点击图形按钮中下拉框,选择目标机,即可

  34. 1.3 直接从软盘启动 • 缺省启动行: "fd=0,0(0,0)host:/fd0/vxWorks h=90.0.0.3 e=90.0.0.50 u=target“ • 并且将vxWorks映像拷贝到软盘中(a:) • 不必配置主机环境,直接使用启动盘启动目标机 • 通过软盘无法调试VxWorks,可以通过配置网络或串口实现主机与目标机相连 • 由于软盘有大小限制,VxWorks的功能不能太多,否则推荐网络方式

  35. 演示从网络方式启动 • 一些可能失败的原因: • 正确的网卡驱动 • 防火墙设置 • IP设置 • 操作系统映像路径 • 用户名和密码

  36. VxWorks操作系统配置 xlanchen@2006.7.26

  37. Bootable Application • 当创建可启动的应用时,在Workspace窗口的Files栏中,可以看到:

  38. linkSyms.c • 动态生成的配置文件,用来获得正确的symbols references • prjConfig.c • 动态生成的配置文件 • 包含VxWorks中当前包含的各个组件的初始化代码 • romInit.s • VxWorks的boot ROM的入口代码

  39. romStart.c • 将VxWorks映像装入RAM • sysALib.s • 包含系统开始运行的代码 • sysLib.c • 包含体系结构相关的一些例程 • userAppInit.c • 应用程序的初始化入口

  40. userAppInit.c

  41. 配置VxWorks的组件 • 打开Workspace中的VxWorks,可以看到当前VxWorks的配置情况 • 黑色:当前已经选用的组件 • 在配置过程中,如果知道组件的部分信息,可以根据该信息查找所属的组件 • 例如

  42. 获得组件的属性 • 双击感兴趣的组件 • 例如:

  43. 增加/删除一个组件 • 在感兴趣的组件上。使用右键 • 对于当前没有包含的组件,使用Include …增加 • 对于当前已经包含的组建,使用Exclude…删除 • 如果组件中还包括其他组件(显示为+,-),将会显示一个选择框,根据需要打勾

  44. 有的组件目录中包含若干个不相容的选项,只能选择其中一个,例如有的组件目录中包含若干个不相容的选项,只能选择其中一个,例如

  45. 修改组件的参数 • 对于感兴趣的组件,有些参数可以修改,例如

  46. 估计已有组件的大小 • 在项目上:右键Properties…size

More Related