电子说
VxWorks是由风河(Wind River)提供的实时操作系统(RTOS),VxWorks下的USB堆栈是支持USB串行适配器设备的,可以通过“USB转串口”适配器访问VxWorks目标机控制台。
本文将描述如何创建和部署VxWorks系统以支持“USB转串口”适配器,以及如何将VxWorks系统的控制台(console)重定向到该“USB转串口”适配器。
本文说明的前提条件是假设你正在使用:
打开一个DOS shell,配置编译环境,然后编译项目:
cd < WIND_HOME > // your installation directory
wrenv -p vxworks-7
cd < YOUR_WORKSPACE > // your workspace
vxprj vsb create adapter_vsb -bsp itl_generic -smp -force -S
cd adapter_vsb // your workspace
vxprj vsb add USB_CLASS // add the USB class to the VSB
vxprj vsb add USB_HELPER // add the USB helper to the VSB
vxprj vsb add USB_SERIAL // add the USB serial class to the VSB
make -j 32 // build the VSB
按照下面的步骤创建一个基本的VxWorks镜像项目(VIP)
cd ..
vxprj create -smp itl_generic adapter_vip -profile PROFILE_INTEL_GENERIC -vsb adapter_vsb
cd adapter_vip
vxprj vip component add INCLUDE_MULTI_STAGE_WARM_REBOOT
vxprj vip bundle add BUNDLE_STANDALONE_SHELL
// add support for all supported USB serial adapters
vxprj vip component add INCLUDE_USB_GEN2_SER_FTDI232
vxprj vip component add INCLUDE_USB_GEN2_SER_PL2303
vxprj vip component add INCLUDE_USB_GEN2_SER_WRS_CDC
vxprj vip component add INCLUDE_USB_GEN2_SERIAL_INIT
vxprj build
有关如何编译并在USB闪存驱动器上部署UEFI引导加载程序(bootloader)以及VxWorks映像文件的说明,请参考itl_generic BSP自述(readme)文件,在下面路径找到此自述(readme)文件:
\\vxworks-7\\pkgs_v2\\os\\board\\intel\\itl_generic-a.b.c.d\\itl_generic_readme.md
在按照以下说明部署UEFI引导加载程序(bootloader)和vxWorks内核映像之后,你将在USB闪存驱动器上找到以下文件:
配置目标机的BIOS,然后从USB闪存驱动器引导目标机。
将USB闪存驱动器连接到Intel目标机。
将”USB转串口“适配器链接到Intel目标机。
给目标机上电,目标启动后,你将看到内核shell的提示符,你还将看到一条消息,表明”USB转串口“适配器的驱动程序已经初始化该设备。
Target Name: vxTarget
VxWorks 7 SMP 32-bit
Copyright 1984-2021 Wind River Systems, Inc.
Core Kernel version: 3.2.0.0
Build date: Jan 31 2021 11:44:04
Board: x86 Processor (ACPI_BOOT_OP) SMP/SMT PAE
CPU Count: 8
OS Memory Size: ~16224MB
ED&R Policy Mode: Permanently Deployed
Adding 8849 symbols for standalone.
- > Find USB-to-Serial adapter device: FTDI USB-to-Serial Adapter
Added new USB-to-Serial adapter device as /usb2ttyS/0
- > devs
drv refs name
...
12 [ 3] /usb2ttyS/0
...
- >
添加VxWorks控制台组件INCLUDE_USB_GEN2_SERIAL_PCCONSOLE_INIT时,将创建一个名为**/ttyUSB0 的新设备,该设备代表VxWorks I/O系统下的 /usb2ttyS/0**
vxprj vip component add INCLUDE_USB_GEN2_SERIAL_PCCONSOLE_INIT
vxprj vip component add INCLUDE_USB_GEN2_HELPER
vxprj vip parameter setstring CONSOLE_NAME "/ttyUSB0"
// check that the console name is /ttyUSB0
vxprj vip parameter value CONSOLE_NAME
CONSOLE_NAME = "/ttyUSB0"
// check that the console baud rate is 9600
vxprj vip parameter value CONSOLE_BAUD_RATE
CONSOLE_BAUD_RATE = (9600)
重新编译VxWorks内核并部署镜像文件到目标机上的USB闪存驱动器上。
用串口线将连接到目标机USB端口的“USB转串口”适配器和一个工作机的串口连接起来,将USB闪存驱动器连接到目标机,然后重新启动目标机。
- > devs
drv refs name
...
3 [ 3] /ttyUSB0
...
2 [ 3] /tyCo/1 == > /ttyUSB0
12 [ 3] /usb2ttyS/0
- >
现在VxWorks的控制台可通过PC控制台(PC Console)和“USB转串口”适配器连接来工作。
全部0条评论
快来发表一下你的评论吧 !