
基于VxBus的设备驱动在嵌入式系统/ARM技术中的开发
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本研究探讨了在嵌入式系统中使用ARM技术进行VxBus设备驱动开发的方法与实践,旨在提高系统的性能和稳定性。
VxBus是风河公司(Wind River)在VxWorks实时操作系统中引入的一种新的设备驱动程序架构,并从6.2版本开始被纳入其中。这种架构的主要目标在于简化设备驱动的开发、管理和维护,提高系统的灵活性与扩展性。
VxBus的关键功能包括:
1. 设备匹配:它允许设备驱动根据硬件特性自动识别和适配。
2. 硬件访问机制:为驱动程序提供了一种标准的方式来访问及操作硬件资源,如I/O端口、内存映射寄存器等。
3. 软件接口:通过VxBus,应用程序和其他系统组件可以透明地与设备交互,无需关注底层驱动细节。
4. 模块化设计:驱动程序可作为独立模块加载和卸载,增强了系统的维护性和升级性。
在总线控制器的支持下,VxBus能够识别出总线上存在的设备,并执行必要的初始化工作。这确保了驱动程序能与硬件正常通信,并简化了驱动集成流程。同时,它还减少了对板级支持包(BSP)和驱动开发专业知识的需求。用户可以通过Workbench工程环境轻松添加或删除驱动。
在VxBus的管理中,硬件设备和相应的软件被明确分开:硬件称为device;驱动程序则被称为driver。当系统检测到一个device时,它会在driver队列里寻找匹配项,并形成instance以供使用。如果找不到合适的driver,则该device会被标记为orphan状态。
例如,在开发TI公司的PCI2040数据采集卡的VxBus驱动过程中,需要在hcfDeviceList数组中定义设备信息,包括名称、单位号、总线ID和资源等详情。对于多核CPU系统而言,可能还需通过sysDeviceFilter函数指定某个核心来初始化特定设备,并且当有hypervisor时需更新配置文件以分配资源。
从硬件角度看,PCI2040作为连接PCI总线与DSP(例如TMS320VC5410)的桥梁,实现了主机和DSP之间的高速数据传输。具体来说,TMS320VC5410通过其MCBSP0接口与模拟数字转换器如TLC2548相连以采集A/D数据,并且这些数据会经由PCI2040传送到主机进行进一步处理。
驱动程序开发主要涉及初始化阶段的工作内容包括设置设备描述符、注册驱动、配置硬件资源以及管理中断等。在这一过程中,根据hcfDeviceList中的信息探测和初始化设备以确保正确的控制与通信机制。
综上所述,在VxWorks中引入的VxBus架构极大地提高了设备驱动开发效率及系统整体性能表现,使得嵌入式开发者可以更专注于应用程序逻辑而非底层硬件细节。对于基于ARM技术的嵌入式系统而言,该架构的应用还进一步增强了系统的灵活性,并降低了维护成本,是现代嵌入式设计中的重要进步之一。
全部评论 (0)


