System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种增加互斥保护机制的USB存储设备识别方法技术_技高网

一种增加互斥保护机制的USB存储设备识别方法技术

技术编号:40976473 阅读:2 留言:0更新日期:2024-04-18 21:24
本发明专利技术是属于嵌入式计算机系统技术领域,具体涉及一种增加互斥保护机制的USB存储设备识别方法,通过在驱动程序中,对USB存储设备的“插入”“拔出”信号建立逻辑互斥关系。确保嵌入式计算机对USB存储设备工作状态的识别不会处于异常工作状态,提高了使用的可靠性。

【技术实现步骤摘要】

本专利技术是属于嵌入式计算机系统,具体涉及一种增加互斥保护机制的usb存储设备识别方法。


技术介绍

1、通用串行总线(universal serial bus,缩写:usb)是连接计算机系统与外部设备的一种串行总线接口,被广泛应用于嵌入式计算机系统
嵌入式计算机经常设计有usb接口,可连接外部存有任务清单的usb存储设备,对清单内容进行加载更新编辑,用于执行具体任务。

2、usb存储设备的识别功能由驱动软件和应用程序配合实现。嵌入式计算机在usb存储设备的驱动程序中设计“插入”和“拔出”信号量,应用程序通过这两个信号量判断usb存储设备是否连接,并进行后续访问操作,如图1所示。

3、其中,应用程序通过变量“linkstatus”表示usb存储设备的连接状态:“linkstatus=0”表示未连接,“linkstatus=1”表示已连接,初始化时设置“linkstatus=0”。应用程序开始运行时,循环检测usb存储设备连接状态(即“linkstatus”的状态值),当检测到驱动程序释放的“插入”信号量时,将“linkstatus”置为1,表示连接usb存储设备,并开始后续操作,然后开始循环查询“拔出”信号量。当检测到驱动程序释放的“拔出”信号时,改变连接状态将“linkstatus”置为0,再次循环检测“插入”信号量,等待下一次加载操作。工作机理如图2所示。

4、由于usb连接器老化等外部干扰因素,usb存储设备在连接瞬间信号不稳定会引发设备初始化错误,导致设备中的清单内容无法正常加载,影响嵌入式计算机执行任务。


技术实现思路

1、有鉴于此,本专利技术提供了一种增加互斥保护机制的usb存储设备识别方法,通过在驱动程序中,增加配置usb存储设备的“插入-内部使用”“拔出-内部使用”信号并建立两者的逻辑互斥关系。确保嵌入式计算机对usb存储设备工作状态的识别不会处于异常工作状态,提高了使用的可靠性。

2、本专利技术的技术方案:

3、一种增加互斥保护机制的usb存储设备识别方法,包括以下步骤:

4、s101:在usb驱动程序中增加配置插入-内部使用信号量以及拔出-内部使用信号量;

5、s102:建立互斥函数,使插入-内部使用信号量以及拔出-内部使用信号量在逻辑上形成互斥关系;

6、s103:基于所述互斥关系判断是否释放usb存储设备的插入或拔出状态。。

7、进一步的,所述usb驱动程序中配置有拔出信号量,插入信号量,拔出-内部使用信号量以及插入-内部使用信号量;

8、当释放拔出信号量前,判断是否已处于插入usb存储设备的状态,如果可获取插入-内部使用信号量,则表示前序usb存储设备识别工作正常,即已存在插入状态,本次可释放拔出信号,如果无法获取插入-内部使用信号量,则表示上一次连接过程工作异常,本次不再释放拔出信号。

9、进一步的,

10、当释放插入信号量前,先判断是否已处于拔出usb存储设备的状态;如果可获取拔出-内部使用信号量,则表示前序usb存储设备识别工作正常,即已存在拔出状态,本次可释放插入信号,如果无法获取拔出-内部使用信号量,则表示上一次连接过程工作异常,本次不再释放插入信号。

11、进一步的,所述保护机制的实现方法包括以下步骤:

12、s201

13、每次usb设备插入后都会对插入-内部使用信号量赋值有效,若本次usb设备插入识别对应的前一次的设备状态为插入状态,则不再向上层软件释放插入信号量;若本次的usb设备插入识别对应的前一次的状态为拔出状态,则向上层软件释放插入信号量;每次usb设备拔出后都会对拔出-内部使用信号量赋值有效,若本次usb设备拔出识别对应的前一次的状态为拔出状态,则不向上层软件释放拔出信号量;若本次usb设备拔出识别对应的前一次的状态为插入状态,则向上层软件释放拔出信号量;s202:

14、以s201中所赋值的插入-内部使用信号量作为下一次usb存储设备释放拔出信号的前置判断;以s201中所赋值的拔出-内部使用信号量作为下一次usb存储设备释放插入信号的前置判断;后续每次插入信号量或拔出信号量释放时,基于前一次的拔出状态或插入状态来判断;

15、s203:循环执行所述s201-s202.

16、进一步的,同时时刻,所述插入-内部使用信号量或拔出-内部使用信号量只有一个有效。

17、本专利技术的有益效果:

18、本专利技术通过在驱动程序中,对usb存储设备的“插入-内部使用”“拔出-内部使用”信号建立逻辑互斥关系。确保嵌入式计算机对usb存储设备工作状态的识别不会处于异常工作状态,提高了使用的可靠性。

本文档来自技高网...

【技术保护点】

1.一种增加互斥保护机制的USB存储设备识别方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的增加互斥保护机制的USB存储设备识别方法,其特征在于,所述USB驱动程序中配置有插入-内部使用信号量以及拔出-内部使用信号量;

3.根据权利要求2所述的增加互斥保护机制的USB存储设备识别方法,其特征在于,当释放插入信号量前,先判断是否已处于拔出USB存储设备的状态;如果可获取拔出-内部使用信号量,则表示前序USB存储设备识别工作正常,即已存在拔出状态,本次可释放插入信号,如果无法获取拔出-内部使用信号量,则表示上一次连接过程工作异常,本次不再释放插入信号。

4.根据权利要求3所述的增加互斥保护机制的USB存储设备识别方法,其特征在于,所述保护机制的实现方法包括以下步骤:

5.根据权利要求4所述的增加互斥保护机制的USB存储设备识别方法,其特征在于,同一时刻,所述插入-内部使用信号量或拔出-内部使用信号量只有一个有效。

【技术特征摘要】

1.一种增加互斥保护机制的usb存储设备识别方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的增加互斥保护机制的usb存储设备识别方法,其特征在于,所述usb驱动程序中配置有插入-内部使用信号量以及拔出-内部使用信号量;

3.根据权利要求2所述的增加互斥保护机制的usb存储设备识别方法,其特征在于,当释放插入信号量前,先判断是否已处于拔出usb存储设备的状态;如果可获取拔出-内部使用信号量,则表示前序us...

【专利技术属性】
技术研发人员:段泽伟马春江林木朱星星侯轶宸钱军琪
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:

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

1