VxWorks入门教程08:qemu中运行

系列索引:VxWorks入门教程索引

上一篇:VxWorks入门教程07:本地启动

前面都是在VMware虚拟机中测试运行,基本流程为:

  • 开发BSP
  • 开发镜像
  • 将虚拟机磁盘映射到本地
  • 将程序和镜像复制到本次虚拟磁盘中
  • 取消映射
  • 启动系统
  • 设置引导
  • 正常启动

接下来我们省去虚拟机的部分,采用Qemu模拟硬件情况。主要是653版本需要PPC环境,而虚拟机无法模拟PPC架构。

VxWorks由BSP编译的bootrom.sys启动,而VxWorks就是系统。

img

本文的操作需要使用软盘镜像*.img文件,以下操作在Linux下进行。Windows下可以考虑使用软碟通

先创建一个空白的软盘

1
dd if=/dev/zero of=test.img bs=512 count=2880

从/dev/zero处获取数据,然后将数据写入到test.img文件中,块大小为512B,数量为2880,这样大小为 2880 * 512 / 1024 = 1.44 M

软盘还有一个5760 * 512 /1024 = 2.88M,因为现在人们都不用软盘了,可以使用更大的空间,最好是两个基本大小的整倍数比如512 * 11520 / 1024 = 5.76M,

然后设置文件系统

1
mkfs.vfat test.img

可以加载以下看看

1
sudo mount test.img /tmp/hda

因为里面什么都没有,所以文件夹是空的。

可以使用命令查看加载情况

1
df -h

准备

将BSP编译为bootrom.bin,并修改扩展名为sys

将VIP编译为系统

启动与系统分离

顾名思义就是bootrom.sys和VxWorks由两个文件组成。

将空白镜像复制一份,命名为bootrom.img并加载。

将bootrom.sys复制到加载的文件夹中

1
sudo cp bootrom.sys /tmp/hda

然后卸载

1
sudo umount /tmp/hda

在复制一份命名为fda.img,同样的操作把系统复制到里面。

也可以在Windows下使用软碟通直接添加删除文件。

启动与系统合并

镜像名为hda.img里面包含bootrom.sysvxWorksvxWorks.st

启动命令为

1
qemu-system-i386 -drive file=hda.img,format=raw,index=0,media=disk

测试

执行命令

1
qemu-system-i386 -fda bsp.img

可以正常启动bootrom.sys文件

但是bootrom.sys文件无法正常加载vxWorks镜像。

这个问题待解决。

下一篇:VxWorks入门教程09:系统修改


VxWorks入门教程08:qemu中运行
https://blog.jackeylea.com/vxworks/run-vxworks-in-qemu/
作者
JackeyLea
发布于
2022年1月20日
许可协议