Vxworks7运行在树莓派 3B/3B+

介绍

VxWorks 7 SDK 是专用于 VxWorks 应用程序开发人员的开发环境,包括以下功能:
1、基于 clang/LLVM 的标准交叉编译工具,可用于构建可下载内核模块(DKM)和 RTP(实时进程)应用程序
2、简化的构建管理:makefile、cmake、roll-your own
3、目标/体系结构特定:包括可在目标平台上启动的通用 VxWorks 内核
4、用于应用程序开发的头文件和库
5、风河调试器 (wrdbg)
6、文件

本文介绍运行 VxWorks 创建并运行vxworks应用程序在树莓哦上。

配置开发环境软件

主机

虚拟机VMware Workstation+Ubuntu 20.02

  1. sudo apt install build-essential libc6:i386;
  2. .在开发主机上安装 FTP 服务器将使应用程序部署更容易,并允许您从 VxWorks 目标访问主机文件系统。
    为了适应 SDK 中包含的 VxWorks 内核映像的不同运行时配置,您可能有兴趣使用基于 pyftpdlib 的 FTP 服务器选项
    sudo apt install python-pip
    sudo pip install pyftpdlib

树莓派3B/3B+

1、一张大于8GSD卡,格式为FAT32文件系统格式
windows自带格式化工具就行
2、下载 固件包
并将固件包中的boot文件夹下的所有文件复制到SD卡
在这里插入图片描述

3、将SDK 1.4SDK 1.4 PI3B下载 下的 bsps/rpi_3_0_1_1_0/boot/scard/ 文件内容复制到SD卡中
在这里插入图片描述
4、下载 u-boot.bin 下载 文件,并重命名为kernel8.img 拷贝到 SD 卡中
在这里插入图片描述
5、在SD卡根目录下创建vx文件夹

mkdir vx

6、将 VxWorks 内核映像复制到 vx 文件夹中

cp $wrsdk-vxworks7-raspberrypi3b/bsps/rpi_3_0_1_1_0/boot/vxWorks $vx/

在这里插入图片描述
7、最终SD卡目录
在这里插入图片描述

8、将 USB 转串口连接到树莓派 的GPIO 14 和 GPIO 15 用作 UART 发送和接收引脚上
USB转串口 TXD --------> GPIO 15 树莓派3B+
RXD --------> GPIO 14
GND --------> GND
在这里插入图片描述
9、在虚拟机上安装并运行minicom

sudo apt install minicom
sudo minicom -b 115200 -D /dev/ttyUSB0

在这里插入图片描述
这里就基本完成了树莓派3B/3B+ vx works7 的系统搭建

HELLOWORLD 应用程序开发(RTP)

首先打开一个 Linux 终端窗口,然后转到解压缩的 VxWorks SDK1.4 开发工具包的位置。
获取 SDK 环境文件以更新 PATH 和环境变量,从而直接访问 SDK 中包含的工具。

source <SDK_DIR>/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盘VxWorks访问主机文件方式介绍
U盘在其中是bd0
在这里插入图片描述

DKM程序HelloWorld

添加环境变量

source <SDK_DIR>/toolkit/wind_sdk_env.linux 

若需要使环境变量开机在任意终端有效,可将环境变量添加到
.bashrc 文件中
在.bashrc 文件最后添加

export  <SDK_DIR>/toolkit/wind_sdk_env.linux 
source ~/.bashrc

DKM hello_world.c

#include "vxWorks.h"
#include <stdio.h>


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命令推出命令行模式
在这里插入图片描述

参考:

       1、https://blog.csdn.net/JL_Gao/article/details/120997158
       2、https://labs.windriver.com/downloads/wrsdk-vxworks7-docs/README-raspberrypi3b.html
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值