打印

嵌入式系统软件的设计

[复制链接]
371|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qaz098xsw|  楼主 | 2017-11-22 11:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
嵌入式系统软件的设计


系统软件可以选用以VxWorks为操作系统的嵌入式设计方法。

  VxWorks操作系统的集成环境叫Tornado。Tor-nado集成环境是一个高效明晰的图形化实时应用开发平台,它包括一套完整的、面向嵌入式系统的开发和调测工具。VxWorks的优点如下:

  (1)具有较好的可裁减性;

  (2)支持应用程序的动态链接和动态下载;

  (3)具有较好的兼容性;

  (4)具有很高的可靠性和稳定性;

  (5)具有很好的实时性;

  VxWorks的多任务机制对任务的控制采用优先级抢占和轮转调度机制,从而充分保证了实时性,并可用同样的硬件配置满足更强的实时性要求,以便为应用开发留下更大的余地。

  PCI设备有三种物理存储空间:配置空间、存储器空间和I/O空间。其中配置空间是长度为256字节的一段连续空间,空间定义如图4所示,在配置空间中, 只读空间包括设备标识、供应商代码、修改版本、分类代码以及头标类型。其中供应商代码用来标识设备供应商的代码;设备标识用来标识某一特殊的设备;修改版 本标识设备的版本号;分类代码用来标识设备的种类;而头标类型用来标识头类型以及是否为多功能设备。除供应商代码之外,其他字段的值可由供应商分配。

  基地址寄存器最重要的功能是分配PCI设备的系统地址空间。在基地址寄存器中,bit0(最低位)可用来标识到底是存储器空间还是I/O地址空间。基地址 寄存器映射到存储器空间时,bit0为“0”,而当其映射到I/O地址空间时,bit0为“1”。

  在驱动PCI设备时,首先是PCI设备的查找。嵌入式操作系统一般都提供有相应的API函数查找。而在VxWorks操作系统中,通过函数 pciFindDevice?PCI_VENDOR_ID?PCI_DEVICE?index? &pciBus? &pciDevice,&pciFunc_可以找到供应商代码为PCI_VENDOR_ID、设备标识为PCI_DEVICE的第n(index+1)个 设备,并且返回总线号、设备号以及功能号,然后分别保存于&pciBus、&pciDevice、&pci-Func中。

  其次是PCI设备的配置。通过操作系统提供的API函数可以访问PCI设备的配置空间,从而完成PCI设备基址寄存器的配置、中断配置、以及ROM基地址 寄存器的配置,最终得到PCI存储器空间和I/O地址空间的映射以及设备中断号等。在VxWorks操作系统中,访问PCI设备配置空间的API函数有: pciConfigOutLong和pciConfigInLong等,它们可分别完成对PCI设备配置空间的读写操作。

相关帖子

沙发
xffhhh| | 2017-11-25 15:30 | 只看该作者
dddd

使用特权

评论回复
板凳
花落辞殇| | 2017-11-30 14:36 | 只看该作者
VxWorks,这个好熟悉?虚拟机吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

632

主题

842

帖子

3

粉丝