一种PCI转CF驱动方法技术

技术编号:10316171 阅读:176 留言:0更新日期:2014-08-13 17:36
本发明专利技术提供一种PCI转CF驱动方法,其具体实现过程为:在ReWorks操作系统中,创建CF驱动:初始化CF设备,创建设备文件系统;建立设备驱动程序后,使用I/O函数访问CF设备;将驱动程序打包进ReWorks操作系统,编译系统内核,烧写到手持式计算机平台上;启动系统后,将CF设备插入插槽,系统自动识别CF设备,识别后对CF设备进行配置,CF设备完成存储备份;将CF设备拔出,系统自动卸载CF设备。该一种PCI转CF驱动方法和现有技术相比,实现了CF扩展功能,实用性强,适用范围广泛,易于推广。

【技术实现步骤摘要】
—种PC I转CF驱动方法
本专利技术涉及计算机
,具体地说是一种的PCI转CF驱动方法
技术介绍
龙芯系列处理器是是中国科学院计算所自主研发的通用CPU,其中龙芯I系列处理器面向工业控制、消费电子(手机/MP4/掌上电脑等)等嵌入式应用。龙芯IA处理器本身不支持CF扩展,但许多特种行业用户如军方用户等有很多CF接口的扩展设备。CF卡可以工作在三种模式:PC Card Memory模式、PC Card I/O模式和True IDE模式。True IDE模式使用较少,PC Card Memory模式可支持CF接口存储卡,但目前军方用户的CF接口设备大多为PC Card I/O模式,该模式的CF接口只能通过PCI总线转出。而龙芯IA支持PCI总线扩展,因此我们采用龙芯IA的PCI总线扩展了一个标准CF接口,既支持CF存储卡,也支持CF接口的其他设备。Refforks嵌入式操作系统是中国电子科技集团第32所基于“九五”、“十五”的技术成果自行研制的嵌入式实时操作系统,适用于多种目标硬件环境(x86、mips)。ReWorks操作系统采用面向对象和微内核技术开发,具有强实时性、可裁剪性和可伸缩性,并提供了Vxfforks兼容层。目前尚没有对国产嵌入式操作系统ReWorks下PCI转CF驱动的研究,因此,现提供一种基于国产嵌入式操作系统ReWorks下实现了对PCI转CF接口的驱动方法。
技术实现思路
本专利技术的技术任务是针对在现有技术的不足,提供一种PCI转CF驱动方法。本专利技术的技术方案是按以下方式实现的,该一种PCI转CF驱动方法,其具体实现过程为: 一、在ReWorks操作系统中,创建CF驱动:初始化CF设备,创建设备文件系统; 二、建立设备驱动程序后,使用1/0函数访问CF设备,该1/0函数包括createO,open O,read O,write ()和 remove ()函数; 三、将驱动程序打包进ReWorks操作系统,编译系统内核,烧写到龙芯IA手持式计算机平台上; 四、启动系统后,将CF设备插入插槽,系统自动识别CF设备,识别后对CF设备进行配置,CF设备完成存储备份; 五、将CF设备拔出,系统自动卸载CF设备。所述步骤三中驱动自动识别CF设备的过程为=ReWorks通过PCI设备的类别对PCI设备进行识别,PCI设备的类别包括PCI类、PCI子类和PCI协议,Reworks下定义一个常量PCID_N0TIFY_ALL,该常量代表上述所有的PCI类、PCI子类和PCI协议,通过编程识别所有PCI类设备的插拔。所述步骤三中CF设备的配置过程为:首先,驱动在系统中设置传输CF信号的GPIO,并为其分配好寻址用的IO端口,在PC卡I/O模式下,CF设备的IO端口即为其通用存储空间的16字节数据块;其次,对CF设备的属性存储空间进行配置,该配置是指对CF设备属性选项寄存器、配置状态寄存器、针替换寄存器、套接字拷贝寄存器的值进行验证,若这些值与默认值不匹配,则要将其值设置为默认值。所述步骤三中CF设备的存储备份过程为: 系统向CF设备发布ATA指令,该ATA指令要求CF设备在接收到命令时处于不忙状态且有数据请求时才能处理CF缓冲区中的数据流; 驱动程序根据系统的I/O请求得到CF设备的块号,利用该块号来计算CF设备的LBA地址; 然后取block的低28位,依次对应CF设备的柱面低位寄存器、柱面高位寄存器、扇区寄存器、设备/磁头寄存器,将这些参数值和ATA指令按8位方式写入相应寄存器中,即完成一次存储过程。本专利技术与现有技术相比所产生的有益效果是: 本专利技术的一种PCI转CF驱动方法基于国产操作系统实现,实现了 CF扩展功能,实用性强,适用范围广泛,易于推 广。【附图说明】附图1是本专利技术的硬件结构示意图。【具体实施方式】下面结合附图对本专利技术所提供的一种PCI转CF驱动方法作以下详细说明。如附图1所示,本专利技术提供一种PCI转CF驱动方法,首先配置器硬件设备,硬件整体采用如附图1所示的结构,该附图中的硬件基本与现有技术硬件相同,但其CPU采用国产龙芯CPU,软件系统使用国产在Reworks (即附图中的锐华)操作系统。硬件设置完成后,其具体PCI转CF驱动实现过程为: 一、在ReWorks操作系统中,创建CF驱动:初始化CF设备,创建设备文件系统,该创建的关键源代码为:If(pciDrv(PCI_INT_VEC, IDE_INT_VEC, type)==ERR0R)printf ( “Could not initialize.\n,,);dosFsInit(NUM_D0SFS_FILES);if(usrldeConfig(drive, fileName)==ERR0R) 二、建立设备驱动程序后,使用1/0函数访问CF设备,该1/0函数包括createO,open O,read O,write ()和 remove ()函数; 三、将驱动程序打包进ReWorks操作系统,编译系统内核,烧写到龙芯IA手持式计算机平台上; 四、启动系统后,将CF设备插入插槽,系统自动识别CF设备,识别后对CF设备进行配置,CF设备完成存储备份; 五、将CF卡拔出,系统自动卸载CF设备。所述步骤三中驱动自动识别CF设备的过程为=ReWorks通过PCI设备的类别对PCI设备进行识别,PCI设备的类别从PCI类、PCI子类和PCI协议三方面定义,但实际中由于设备类别比较多,不是所有设备都能很容易找到其设备类别,Reworks下提供一个比较方便识别PCI设备的方法,ReWorks下定义一个常量PCID_NOTIFY_ALL,这个常量可以代表所有的PCI类、PCI子类和PCI协议,可识别所有PCI类设备的插拔。探测(probe)函数代码如下:本文档来自技高网...

【技术保护点】
一种PCI转CF驱动方法,其特征在于:其具体实现过程为:一、在ReWorks操作系统中,创建CF驱动:初始化CF设备,创建设备文件系统;    二、建立设备驱动程序后,使用I/O函数访问CF设备,该I/O函数包括:create(),open(),read(),write()和remove()函数;三、将驱动程序打包进ReWorks操作系统,编译系统内核,烧写到龙芯1A手持式计算机平台上;四、启动系统后,将CF设备插入插槽,系统自动识别CF设备,识别后对CF设备进行配置,CF设备完成存储备份;五、将CF设备拔出,系统自动卸载CF设备。

【技术特征摘要】
1.一种PCI转CF驱动方法,其特征在于:其具体实现过程为: 一、在ReWorks操作系统中,创建CF驱动:初始化CF设备,创建设备文件系统; 二、建立设备驱动程序后,使用I/O函数访问CF设备,该I/O函数包括createO,open O,read O,write ()和 remove ()函数; 三、将驱动程序打包进ReWorks操作系统,编译系统内核,烧写到龙芯IA手持式计算机平台上; 四、启动系统后,将CF设备插入插槽,系统自动识别CF设备,识别后对CF设备进行配置,CF设备完成存储备份; 五、将CF设备拔出,系统自动卸载CF设备。2.根据权利要求1所述的一种PCI转CF驱动方法,其特征在于:所述步骤三中驱动自动识别CF设备的过程为=ReWorks通过PCI设备的类别对PCI设备进行识别,PCI设备的类别包括PCI类、PCI子类和PCI协议,ReWorks下定义一个常量PCID_NOTIFY_ALL,该常量代表上述所有的PCI类、PCI子类和PCI协议,通过编程识别所有PCI类设备的插拔。3.根...

【专利技术属性】
技术研发人员:刘传刚陈乃阔
申请(专利权)人:山东超越数控电子有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1