介绍
VxWorks 7 SDK 是专用于 VxWorks 应用程序开发人员的开发环境,包括以下功能:
- 基于 clang/LLVM 的标准交叉编译工具,可用于构建可下载内核模块(DKM)和 RTP(实时进程)应用程序
- 简化的构建管理:makefile、cmake、roll-your own
- 目标/体系结构特定:包括可在目标平台上启动的通用 VxWorks 内核
- 用于应用程序开发的头文件和库
- 风河调试器 (wrdbg)
- 文件
本文介绍如何在树莓派3B/3B+上运行 VxWorks 7以及应用程序。
配置开发环境软件
主机
虚拟机VMware Workstation + Ubuntu 20.02
sudo apt install build-essential libc6:i386
在开发主机上安装 FTP 服务器将使应用程序部署更容易,并允许您从 VxWorks 目标访问主机文件系统。
为了适应 SDK 中包含的 VxWorks 内核映像的不同运行时配置,您可能有兴趣使用基于 pyftpdlib 的 FTP 服务器选项
sudo apt install python-pip
sudo pip install pyftpdlib
树莓派3B/3B+
一张大于8GSD卡,格式为FAT32文件系统格式,windows自带格式化工具就行。
下载固件包 ,并将固件包中的boot文件夹下的所有文件复制到SD卡
将SDK 1.4 SDK 1.4 PI3B 下载 下的 bsps/rpi_3_0_1_1_0/boot/scard/
文件内容复制到SD卡中
下载 u-boot.bin 文件,并重命名为kernel8.img 拷贝到 SD 卡中
在SD卡根目录下创建vx文件夹
mkdir vx
将 VxWorks 内核映像复制到 vx 文件夹中
cp $wrsdk-vxworks7-raspberrypi3b/bsps/rpi_3_0_1_1_0/boot/vxWorks $vx/
最终SD卡目录
将工作机上的USB 转串口连接到树莓派的GPIO 14 和 GPIO 15 用作 UART 发送和接收引脚上
USB转串口 ——–> 树莓派3B+
TXD ——–> GPIO 15
RXD ——–> GPIO 14
GND ——–> GND
sudo apt install minicom
sudo minicom -b 115200 -D /dev/ttyUSB0
这里就基本完成了树莓派3B/3B+ VxWorks7 的系统搭建
HELLOWORLD 应用程序开发(RTP)
首先打开一个 Linux 终端窗口,然后转到解压缩的 VxWorks SDK1.4 开发工具包的位置。
获取 SDK 环境文件以更新 PATH 和环境变量,从而直接访问 SDK 中包含的工具。
source /toolkit/wind_sdk_env.linux
建立hello_world.c
#include "stdio.h"
int main (
int argc, /* number of arguments */
char * argv[] /* array of arguments */
) {
printf("\n\n\nRTP Hello World!\n\n\n");
return 0;
}
编译
$CC hello_world.c -static -o hello
可以用U盘将可执行文件hello
拷贝至U盘。
同样可以通过网线将主机与树莓派连接在一起使用搭建FTP 进行文件传输而不通过U盘
U盘在其中是bd0
DKM程序HelloWorld
添加环境变量
source /toolkit/wind_sdk_env.linux
若需要使环境变量开机在任意终端有效,可将环境变量添加到.bashrc
文件中
在.bashrc 文件最后添加
export /toolkit/wind_sdk_env.linux
source ~/.bashrc
DKM hello_world.c
#include "vxWorks.h"
#include
void startHelloWorld(void){
printf("\n\n\nDKM Hello World!\n\n\n");
}
编译
$CC -dkm hello_world.c -o hello.out
同样用U盘考入
进入命令行使用cmd
命令
同样进入到U盘中使用ld命令 加载hello.out
使用C命令推出命令行模式