介绍
VxWorks 7 SDK是专门为VxWorks应用程序开发人员提供的开发环境,包括以下功能:
- 基于 clang/LLVM 的标准交叉编译工具,可用于构建可下载内核模块 (DKM) 和 RTP(实时进程)应用程序
- 简化的构建管理:makefile、cmake、roll-your own
- 特定于目标/架构:包括可在目标平台上启动的通用 VxWorks 内核
- 用于应用程序开发的头文件和库
- 风河调试器 (wrdbg)
- 文档
本指南可帮助您开始并运行针对VxWorks的平台而开发的应用程序。 您可以使用它来创建新应用程序,或者只是探索 VxWorks 功能。
设置开发环境
您应该首先从 https://labs.windriver.com 下载适合您选择的平台的 VxWorks SDK 并解压它。 有关创建和调试应用程序的更多信息,请参阅解压后的 SDK 中的文档。
操作系统要求
SDK 旨在在 Linux 主机上运行。 本文档中的一些示例特定于 Debian 衍生版本。
先决条件
主机依赖性
在 Debian 衍生版本上,需要安装以下软件包:
Note: 本文的实验环境是Ubuntu 22.04 LTS
在开发主机上安装 FTP 服务器将使应用程序部署更容易,并允许您从 VxWorks 目标访问主机文件系统。
为了适应 SDK 中包含的 VxWorks 内核映像的不同运行时配置,您可能有兴趣使用基于 pyftpdlib 的 FTP 服务器选项。
安装 pyftpdlib:
$ sudo apt install python3-pip
$ sudo pip install pyftpdlib
使用用户名“target”和密码“vxtarget”以及当前用户的主目录作为FTP Server的根目录,在端口 21 上启动本地 FTP 服务器,可以按如下方式完成。
$ sudo python3 -m pyftpdlib -p 21 -u target -P vxTarget -i 127.0.0.1 -d $HOME
运行VxWorks内核和使用SDK创建的应用程序需要安装QEMU
$ sudo apt install qemu-system-x86
在 QEMU(IA) 上启动 VxWorks
QEMU 可用于运行 SDK 中包含的 VxWorks 内核并部署 VxWorks 应用程序。
首先打开 Linux 终端窗口并转到解压的 VxWorks SDK 的位置。 以下命令可用于在 QEMU 中启动 VxWorks guest 虚拟机。
$ qemu-system-x86_64 -m 512M -kernel vxsdk/bsps/itl_generic_3_0_0_3/vxWorks \
-net nic -net user,hostfwd=tcp::1534-:1534,hostfwd=tcp::2345-:2345 \
-display none -serial stdio -monitor none \
-append "bootline:fs(0,0)host:vxWorks h=192.168.1.20 e=192.168.1.15 u=target pw=vxTarget o=gei0"
将用户 (u) 和密码 (pw) 参数的值自定义为与开发主机上的有效 FTP 用户匹配的值将允许您从 QEMU 中运行的 VxWorks 实例访问主机文件系统。 VxWorks 实例将有权访问 FTP 服务器的根目录。