温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Tool之Simulator有什么用

发布时间:2021-12-22 10:00:53 来源:亿速云 阅读:147 作者:小新 栏目:互联网科技

这篇文章主要介绍Tool之Simulator有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Simulator可以模拟硬件设备并运行VxWorks系统。这个模拟的系统可以提供VxWorks的大部分标准功能,包括网络、Shell等等。而且它的构建过程与构建真实硬件设备镜像的过程也基本是一样的。有了它,我们就可以脱离硬件设备,直接在Host上开发、运行、测试VxWorks应用。这样在项目开发阶段,尽可能的减少了对硬件设备的依赖。而外界与这个VxWorks系统进行交互的应用程序,是区分不出它是模拟设备还是真实的硬件设备。因此,除了可以加快软件开发进度,Simulator在很多领域也可以给我们提供帮助,例如教学、项目展示等。
Simulator对应用层提供的API与真实设备上的API没有什么区别,有区别的仅是对外设的访问,也就是无法提供一些外设的驱动程序。Simulator至少可以模拟以下硬件或功能

  • 32/64-bit hardware platform

  • Console

  • System Timer

  • Timestamp

  • Real-time Clock

  • Auxiliary Clock

  • MMU

  • NVRAM

  • Virtual Disk

  • SMP

  • AMP

  • ED&R

  • RTP

  • ROMFS

  • Shared Data Region

  • Shared Library

  • C++

  • Network Stack

  • POSIX

  • VxMP

  • VSB

  • System Viewer

  • ISR Stack Protection

  • MIPC

  • Overlapped Memory

启动
我们来看看如何使用Simulator,首先新建一个VIP
 

Tool之Simulator有什么用

选择合适的BSP和编译器

Tool之Simulator有什么用

Tool之Simulator有什么用

编译得到VxWorks镜像,然后新建一个Simulator Connection,并指定刚刚编译的镜像
 

Tool之Simulator有什么用

Tool之Simulator有什么用

Tool之Simulator有什么用

Connect这个Connection,Simulator就可以使用了

Tool之Simulator有什么用


注意事项
Simulator的一些局限性需要了解一下

  • SMP - 多核的Host能提供更精准的SMP功能

  • 64-bit Simulator - Host需要是64-bit的Windows或Linux

  • Byte Order - Simulator在Windows/Linux下模拟的是小端环境;而在Solaris下,模拟的是大端环境

  • Hardware Breakpoint - Simulator不支持Hardware Breakpoint

  • MMU - 不区分内核/用户模式,因此RTP有可能破坏Kernel空间

  • Floating Point - Simulator不支持以下浮点函数
    cbrt() ceil() infinity() irint() iround() log2() round() sincos() trunc() cbrtf() infinityf() irintf() iroundf() log2f() roundf() sincosf() truncf() acosf() asinf() atanf() atan2f() ceilf() cosf() expf() fabsf() floorf() fmodf() logf() log10f() powf() sinf() sinhf() sqrtf() tanf() tanhf()

  • Interrupt - Simulator在Windows下使用Host的message来模拟硬件中断;而在Solaris和Linux下,使用的是Host的signal

  • ISR Stack Protection - Windows系统已经自动检测ISR Stack的上溢和下溢,因此不需要Simulator再做额外工作

资源访问
Simulator可以模拟VxWorks的大部分标准功能,例如与系统资源或文件系统相关的部分功能如下

  • NVRAM - Simulator使用Host上的文件来模拟NVRAM,默认位置为镜像所在的目录。NVRAM的尺寸为NV_RAM_SIZE,可以通过sysNvRamSet( ) 和sysNvRamGet( )来访问其空间

Tool之Simulator有什么用

  • Serial Device - 通过组件INCLUDE_HOST_SIO和库commSio (Windows)或ttySio (Linux/Solaris),Simulator可以访问Host的串口设备HOST_SIO_PORT_NUMBER,不过仅限于COM1和COM2

Tool之Simulator有什么用

  • Network - 通过Host端的Network Daemon,Simulator可以模拟完整的Network

Tool之Simulator有什么用

  • Shared Memory Network - Simulator可以模拟多CPU板使用共享背板(例如VME总线)进行通信场景

Tool之Simulator有什么用

  • passFS - Simulator可以使用默认包含的组件INCLUDE_PASSFS (pass-through file system) 直接访问Host的文件。Simulator启动后创建一个虚拟设备,并格式化为passFS,这个设备的名字默认为"host:",可以在Connection的属性里修改



Tool之Simulator有什么用

    然后就可以直接访问Host的文件

Tool之Simulator有什么用

Tool之Simulator有什么用

  • Virtual Disk
    Simulator通过Virtual Disk可以模拟块设备。例如包含相应组件后,使用以下代码可以在Host端创建3MB的文件fileX,并格式化为有512字节block和32个track的块设备"/Q"
    INCLUDE_VIRTUAL_DISK (default)
    INCLUDE_FS_MONITOR
    INCLUDE_XBD_BLK_DEV
    INCLUDE_DOSFS_FMT
    vdBlkDev = virtualDiskCreate ("fileX", 512, 32, 32*200)
    fsmNameInstall("/Q:0", "/Q")
    xbdBlkDevCreateSync(vdBlkDev, "/Q")
    dosFsVolFormat("/Q", 0, 0)

Tool之Simulator有什么用

  • Host Routine
    通过vxsimHostProcAddrGet()可以访问Host系统的函数

Tool之Simulator有什么用

    通过vxsimHostDllLoad()可以加载Host系统的动态链接库

Tool之Simulator有什么用

最后是Simulator的Memory Layout,注意它不同于任何真实物理设备的Layout,所以了解一下就可以啦
 

Tool之Simulator有什么用

Tool之Simulator有什么用

以上是“Tool之Simulator有什么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI