CN115658578A - 一种实现保护倒换的方法、计算机存储介质及终端 - Google Patents
一种实现保护倒换的方法、计算机存储介质及终端 Download PDFInfo
- Publication number
- CN115658578A CN115658578A CN202211371573.6A CN202211371573A CN115658578A CN 115658578 A CN115658578 A CN 115658578A CN 202211371573 A CN202211371573 A CN 202211371573A CN 115658578 A CN115658578 A CN 115658578A
- Authority
- CN
- China
- Prior art keywords
- pcie
- link
- interface
- abnormal
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本文公开一种实现保护倒换的方法、计算机存储介质及终端,包括:内核空间访问高速外部设备互连总线接口(PCIE)设备前,确定PCIE链路是否异常;确定PCIE链路异常时,切换至预先设定的备用接口链路访问PCIE设备。本发明实施例内核空间访问PCIE设备前确定发生链路异常时,通过切换至备用接口链路访问PCIE设备,避免了PCIE通信中断造成系统异常,降低了PCIE通信中断对系统调试或应用造成的影响,为提升系统开发进度提供技术支持。
Description
技术领域
本文涉及但不限于高速串行总线接口技术,尤指一种实现保护倒换的方法、计算机存储介质及终端。
背景技术
高速外部设备互连总线接口(PCIE)是一种高速串行计算机扩展总线,由于速度快、可靠性高、功耗低和传输距离远等优点,得到广泛的应用,目前已经发展到6.0版本。
PCIE采用了包括事务层、数据链路层和物理层的分层结构;其中,事务层有流控及服务质量(QoS)机制,数据链路层有重传及纠错机制,物理层通过对链路进行训练及各种信号处理技术保证了数据的准确性,这些为可靠高效的数据传输提供了保证,因此PCIE出错的概率很低;所以目前很多设备在使用PCIE时没有对其采取保护措施。但在设备调试及测试或实际应用过程中,由于硬件设计有缺陷或某些特殊操作(比如reset芯片的PCIE),PCIE可能出现通信中断的情况,这会对调试或实际应用造成很大的麻烦,甚至严重的后果。
当PCIE出现通信中断时,虽然有错误信息可供分析;但如果PCIE出现较严重问题且不能通过其自身的机制恢复时,CPU访问时无法得到返回值,系统就会发生异常,打印错误信息,严重时可能出现系统崩溃,同时问题现场被破坏,导致技术人员无法做进一步分析,这对于芯片调试及测试阶段尤其常见,将大大减缓了开发进度。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种实现保护倒换的方法、计算机存储介质及终端,能够避免PCIE通信中断造成系统异常,降低PCIE通信中断对系统调试或应用造成的影响。
本发明实施例提供了一种实现保护倒换的方法,包括:
内核空间访问高速外部设备互连总线接口PCIE设备前,确定PCIE链路是否异常;
确定所述PCIE链路异常时,切换至预先设定的备用接口链路访问所述PCIE设备。
另一方面,本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述实现保护倒换的方法。
再一方面,本发明实施例还提供一种终端,包括:存储器、处理器和PCIE设备,所述处理器可以通过PCIE链路或预先设定的备用接口链路访问所述PCIE设备,所述存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
所述计算机程序被所述处理器执行时实现如上述实现保护倒换的方法。
本申请技术方案包括:内核空间访问高速外部设备互连总线接口(PCIE)设备前,确定PCIE链路是否异常;确定PCIE链路异常时,切换至预先设定的备用接口链路访问PCIE设备。本发明实施例内核空间访问PCIE设备前确定发生链路异常时,通过切换至备用接口链路访问PCIE设备,避免了PCIE通信中断造成系统异常,降低了PCIE通信中断对系统调试或应用造成的影响,为提升系统开发进度提供技术支持。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例实现保护倒换的方法的流程图;
图2为本发明应用示例系统工作示意图;
图3为本发明应用示例链路探测的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明实施例实现保护倒换的方法的流程图,如图1所示,包括:
步骤101、内核空间访问高速外部设备互连总线接口(PCIE)设备前,确定PCIE链路是否异常;
步骤102、确定PCIE链路异常时,切换至预先设定的备用接口链路访问PCIE设备。
本发明实施例内核空间访问PCIE设备前确定发生链路异常时,通过切换至备用接口链路访问PCIE设备,避免了PCIE通信中断造成系统异常,降低了PCIE通信中断对系统调试或应用造成的影响,为提升系统开发进度提供技术支持。
在一种示例性实例中,本发明实施例可以由执行数据通讯处理的处理器执行上述步骤101~步骤102的处理。
在一种示例性实例中,切换至预先设定的备用接口链路访问PCIE设备之前,本发明实施例方法还包括:
对PCIE设备的内存空间(mem)进行输入输出的地址(iomap)映射。
在一种示例性实例中,本发明实施例可以参照PCIE的iomap映射,对备用接口执行上述iomap映射的处理。
在一种示例性实例中,本发明实施例确定PCIE链路是否异常,包括:
通过片上系统SoC的配置空间读取PCIE芯片的标识信息和/或配置信息,如果读取的标识信息和/或配置信息与预先设定的设备与厂商寄存器中的标识信息和/或配置信息一致,则读取的标识信息和/或配置信息正确,确定PCIE链路正常,如果读取的标识信息和/或配置信息与预先设定的设备与厂商寄存器中的标识信息和/或配置信息不一致,则读取的标识信息和/或配置信息不正确,判断PCIE链路异常。
在一种示例性实例中,本发明实施例标识信息和/或配置信息,包括但不限于:设备唯一编码ID和厂商ID(Device&Vendor ID)。
本发明实施例基于配置空间的Device&Vendor ID寄存器为只读寄存器,数值不会改变,通过读到的值与预先确定的Device&Vendor ID寄存器中应该存取的值,判断链路是否异常。例如,交换芯片的PCIE配置空间中的前四个字节是0xa5a51234,其Device ID为0xa5a5,Vendor ID为0x1234;如果读到的值与该值吻合,说明PCIE链路正常;如果读到的值与该值不吻合,则判定PCIE链路异常。
在一种示例性实例中,本发明实施例备用接口为满足预先设定的通信速率的接口。
在一种示例性实例中,本发明实施例备用接口包括:与内核空间访问的PCIE设备的接口相互独立的其他PCIE。
在一种示例性实例中,本发明实施例备用接口包括:串行外设接口(SPI)接口或集成电路总线(IIC)接口。
在一种示例性实例中,本发明实施例方法还包括:
确定PCIE链路正常时,通过PCIE链路访问PCIE设备。
本发明实施例通过将内核空间的访问切换至备用接口链路,避免了PCIE通信中断造成系统异常,降低了PCIE通信中断对系统调试或应用造成的影响,为提升系统开发进度提供技术支持。
本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述实现保护倒换的方法。
本发明实施例还提供一种终端,包括:存储器、处理器和PCIE设备,所述处理器可以通过PCIE链路或预先设定的备用接口链路访问所述PCIE设备,所述存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
计算机程序被处理器执行时实现如上述实现保护倒换的方法。
以下通过应用示例对本发明实施例进行简要说明,应用示例仅用于陈述本发明实施例,并不用于限定本发明实施例的保护范围。
应用示例
当前对PCIE的存储器(mem)空间的访问,PowerPC(Performance OptimizationWith Enhanced RISC-Performance Computing,一种精简指令集架构的中央处理器)和ARM等中央处理器(CPU)往往采用内存映射的方式,将PCIE的mem空间的地址映射到存储器空间,之后可以直接访问mem空间。但该方式下,如果PCIE出现了问题,CPU访问时无法得到返回值,系统就会异常,打印错误信息,严重时可能导致系统崩溃,同时问题现场被破坏,工程师无法做进一步分析。这种情况对于芯片调试及测试阶段尤其常见,将大大减缓了开发进度。本应用示例针对上述问题提出了一种实现保护倒换的方法,PCIE链路异常时,系统的访问可以通过切换到备用接口链路访问PCIE设备,比如SPI接口,避免出现业务中断,设备失控,甚至系统崩溃等情况,为工程师进一步收集数据提供了机会。
Linux嵌入式系统是相关技术中常见的嵌入式操作系统,以下以linux嵌入式系统为例,对本发明实施例进行示例说明;本应用示例以SPI接口为备份接口,SPI接口是一种高速串行同步总线,常用于芯片控制,其实现原理简单,可以实现25~50兆比特每秒(Mbps)的数据传输,可以用作备份链路。图2为本发明应用示例系统工作示意图,如图2所示,CPU侧为本应用示例执行保护倒换的设备,芯片侧为与本发明实施例保护倒换的设备通过PCIE建立数据通信连接的设备,CPU侧和芯片侧设备可以是系统中的主设备和从设备。
在初始化阶段,用户通过设备树添加对应的PCIE设备(包含本发明实施例中的PCIE),扫描该PCIE设备,并对其mem空间进行iomap映射;之后以访问内存的方式访问其mem空间的寄存器或表项。为了实现链路备份,用户需要在驱动中添加SPI设备(包含本发明实施例中的备用接口),保证可以通过SPI接口访问芯片。发起一次SoC访问时,用户空间发起访问,用户程序通过驱动接口(比如输入输出控制(ioctrl))切换到内核空间(所有对外设的访问都必须经过内核空间)。在内核空间,访问PCIE之前,本应用示例进行做PCIE探测,判断该PCIE链路是否正常。如果探测结果为链路正常,则采用PCIE访问SoC;如果探测结果为链路异常,则切换到备份链路的SPI接口。访问完成后,将访问的数据或访问结果返回用户空间。
PCIE芯片包含配置空间和mem空间,配置空间包含设备的ID信息和基本配置信息。配置空间的访问与mem空间相同,均通过终端链路处理(TLP)报文,经由PCIE链路,完成端到端的交互。不同的是,配置空间采用I/O方式访问,即通过访问CPU上PCIE控制器中的寄存器实现对芯片的配置空间Device&Vendor ID寄存器的访问,该方式与mem映射方式不同,当链路异常或芯片异常时(如reset),系统不会异常,只是不能得到期望的值。图3为本发明应用示例链路探测的流程图,如图3所示,包括:
步骤301、用户空间发起片上系统(SoC)访问,通过输入输出控制(ioctrl)进入内核空间;
步骤302、在内核空间判断当前访问方式;如果是SPI访问,执行步骤3030、如果是PCIE访问,执行步骤3040;
步骤3030、进行SPI访问;
步骤3040、读SoC的配置空间的设备唯一编码ID和厂商ID(Device&Vendor ID)寄存器,并根据读到的值判断PCIE链路是否异常;
本应用示例,根据读到的值判断PCIE链路是否异常,包括:如果读到的值与预期一致,确定PCIE链路正常,使用PCIE访问mem空间;如果读到的值与预期不一致,确定PCIE链路异常;
判断出链路异常时,执行步骤3041;判断出PCIE链路正常时,执行步骤3042。
步骤3041、采用SPI接口访问SoC的寄存器或表。
步骤3042、采用PCIE链路访问SoC的寄存器或表。
本应用实例上述处理运行在应用层,不影响PCIE其它层的信号保障机制,比如链路层的重传机制;在重传机制可以保障数据正确的情况下,该机制不会触发链路切换。由于采用了冗余探测技术,提升了产品开发过程中的便利性。在开发调试阶段可以加速PCIE的调试,当PCIE异常或复位后,系统可以正常使用;而对于正常使用阶段的产品,也可以起到保护作用,即使出现故障,也保留了现场,便于工程人员进一步定位分析。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (7)
1.一种实现保护倒换的方法,包括:
内核空间访问高速外部设备互连总线接口PCIE设备前,确定PCIE链路是否异常;
确定所述PCIE链路异常时,切换至预先设定的备用接口链路访问所述PCIE设备。
2.根据权利要求1所述的方法,其特征在于,所述切换至预先设定的备用接口链路访问所述PCIE设备之前,所述方法还包括:
对所述PCIE设备的内存空间进行输入输出的地址映射。
3.根据权利要求1所述的方法,其特征在于,所述确定PCIE链路是否异常,包括:
通过片上系统SoC的配置空间读取PCIE芯片的标识信息和/或配置信息,如果读取的标识信息和/或配置信息与预先设定的设备与厂商寄存器中的标识信息和/或配置信息一致,则读取的标识信息和/或配置信息正确,确定所述PCIE链路正常,如果读取的标识信息和/或配置信息与预先设定的设备与厂商寄存器中的标识信息和/或配置信息不一致,则读取的标识信息和/或配置信息不正确,判断所述PCIE链路异常。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述备用接口包括以下至少之一:
串行外设接口SPI接口;
集成电路总线IIC接口;
与所述内核空间访问的PCIE设备的接口相互独立的其他PCIE。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
确定所述PCIE链路正常时,通过所述PCIE链路访问所述PCIE设备。
6.一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的实现保护倒换的方法。
7.一种终端,包括:存储器、处理器和PCIE设备,所述处理器可以通过PCIE链路或预先设定的备用接口链路访问所述PCIE设备,所述存储器中保存有计算机程序;其中,
处理器被配置为执行存储器中的计算机程序;
所述计算机程序被所述处理器执行时实现如权利要求1-5中任一项所述的实现保护倒换的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211371573.6A CN115658578A (zh) | 2022-11-03 | 2022-11-03 | 一种实现保护倒换的方法、计算机存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211371573.6A CN115658578A (zh) | 2022-11-03 | 2022-11-03 | 一种实现保护倒换的方法、计算机存储介质及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658578A true CN115658578A (zh) | 2023-01-31 |
Family
ID=84996260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211371573.6A Pending CN115658578A (zh) | 2022-11-03 | 2022-11-03 | 一种实现保护倒换的方法、计算机存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658578A (zh) |
-
2022
- 2022-11-03 CN CN202211371573.6A patent/CN115658578A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4813442B2 (ja) | システム起動処理のための良好な状態のプロセッサグループ及び関連するファームフェアを決定するシステム及び方法 | |
US11175977B2 (en) | Method and system to detect failure in PCIe endpoint devices | |
EP3770765B1 (en) | Error recovery method and apparatus | |
WO2021244535A1 (zh) | 车辆软件故障检测方法、装置、设备及存储介质 | |
CN105183575A (zh) | 处理器故障的诊断方法、装置及系统 | |
US8713230B2 (en) | Method for adjusting link speed and computer system using the same | |
CN115756984A (zh) | 内存测试方法、装置、设备及存储介质 | |
CN109117299B (zh) | 服务器的侦错装置及其侦错方法 | |
CN111858116B (zh) | 一种信息记录方法、装置、设备及可读存储介质 | |
CN109885420B (zh) | 一种PCIe链路故障的分析方法、BMC及存储介质 | |
CN115658578A (zh) | 一种实现保护倒换的方法、计算机存储介质及终端 | |
CN115756935A (zh) | 嵌入式软件系统的异常故障定位方法、装置及设备 | |
JP2005149501A (ja) | Dmaを使用して拡張カードでメモリをテストするためのシステムおよび方法 | |
US7617417B2 (en) | Method for reading input/output port data | |
US8090991B2 (en) | Information processing apparatus, method, and computer program product for self-diagnosis for utilizing multiple diagnostic devices, each having exclusive access to a resource | |
CN113535494B (zh) | 一种设备调试的方法及电子设备 | |
CN114780283B (zh) | 一种故障处理的方法及装置 | |
WO2024016864A1 (zh) | 处理器、获取信息的方法、单板及网络设备 | |
CN118250730A (zh) | 无线通信测试仪表的控制方法、装置及电子设备 | |
CN117687833A (zh) | 测试数据安全的方法、装置及存储介质 | |
CN117194118A (zh) | 用于处理单元系统的数据访问方法及数据访问装置 | |
JPS5847465Y2 (ja) | エラ−検出保持装置 | |
CN117711475A (zh) | 存储单元的故障检测电路及方法、功能芯片 | |
CN115878039A (zh) | 一种pmem的故障检测方法及装置 | |
CN113535246A (zh) | 一种硬盘热插拔方法、装置、终端设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |