CN110750405A - 一种基于硬件板卡识别的软件兼容性方法 - Google Patents

一种基于硬件板卡识别的软件兼容性方法 Download PDF

Info

Publication number
CN110750405A
CN110750405A CN201911032042.2A CN201911032042A CN110750405A CN 110750405 A CN110750405 A CN 110750405A CN 201911032042 A CN201911032042 A CN 201911032042A CN 110750405 A CN110750405 A CN 110750405A
Authority
CN
China
Prior art keywords
byte
file
board card
identification
board
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.)
Granted
Application number
CN201911032042.2A
Other languages
English (en)
Other versions
CN110750405B (zh
Inventor
王雨龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN201911032042.2A priority Critical patent/CN110750405B/zh
Publication of CN110750405A publication Critical patent/CN110750405A/zh
Application granted granted Critical
Publication of CN110750405B publication Critical patent/CN110750405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2247Verification or detection of system hardware configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明属于计算机软件设计领域,公开了一种基于硬件板卡识别的软件兼容性方法,克服传统上采用宏定义方法而需要管理多版本软件的不足,硬件板卡的存储器中存放一个具有软件保护的协议文件,在硬件板卡启动后加载协议文件并对其进行解析,将解析出来的硬件版本标识号传入到系统中。对于硬件差异不大的软件,本发明方法可以使软件统一化,基于硬件变化不大的软件可以统一为一个软件进行管理,节约了软件管理的成本。

Description

一种基于硬件板卡识别的软件兼容性方法
技术领域
本发明属于计算机软件设计领域,涉及一种基于硬件板卡识别的软件兼容性方法。
背景技术
在实际的工程应用中,同一类相似功能性的板卡结构上都有兼容性设计,但是对于不同的硬件,即使同一类功能的不同芯片也会导致软件版本的不同,因此经常需要花费大量的时间维护功能相似性很高的软件版本。传统上一般采用宏定义的方法区别不同的版本,这种方法可以实现软件在不同硬件上的匹配,但是对于不同的硬件,每次需要先进行宏切换,然后再进行编译。每个板卡最后烧录和管理的软件是不同的软件,给软件版本的管理带来了巨大的困难。
发明内容
(一)要解决的技术问题
本发明要解决的问题是:不同硬件下,软件版本兼容性差、软件版本管理困难,本发明提出一种基于硬件板卡识别的软件兼容性方法,来增强软件的兼容性,提高软件版本的可管理性。
(二)技术方案
为了解决上述技术问题,本发明提供一种基于硬件板卡识别的软件兼容性方法,其包括以下步骤:
步骤1:设计硬件板卡的配置文件并定义配置文件的协议;
步骤2:将配置文件存放在板卡的TFFS存储卡中,板卡启动后首先从TFFS存储卡中加载文件;
步骤3:按照配置文件的协议内容对配置文件协议解析;
步骤4:将解析出来的功能码即板卡型号传递到板卡系统中,系统根据板卡型号进行控制参数的赋值,根据解析出来的控制参数进行控制操作。
其中,所述步骤1中,配置文件包括文件头、标识码、功能码、功能码取反,和校验位。
其中,所述步骤1中,配置文件内容采用十六进制格式。
其中,所述步骤1中,文件头为0x55、0xAA;标识码LABEL_CODE标识软件的类型;功能码区写入板卡类型;功能码取反为板卡类型字节按位取反;和校验位从文件头开始加到板卡类型取反,进位不计;文件类型存储为.dat类型。
其中,所述步骤1中,标识码LABEL_CODE中,驱动类软件0xF1表示1553B总线驱动,0xF2表示CAN总线驱动,0xF3表示串口驱动,0xF4表示429总线驱动;功能码区,0代表0型号板卡,1代表1型号板卡。
其中,所述步骤2中,采用C标准函数fopen将文件打开,返回值为文件指针fp,用fread以及文件指针fp将文件内容读出来存放到6个字节的数字readbuf[6]中。
其中,所述步骤3中,配置文件协议解析的过程为:首先判断第一个字节是否为0x55,第二个字节是否为0xAA,如果文件头错误,控制台打印提示解析错误;从第1个字节加到第5个字节,进位舍弃,和readbuf数组中第6个字节进行比较,如果不等,则控制台打印提示校验错误;第3个字节为标识码,和程序中的标识码比较,如果不等,则控制台打印提示标识码错误;第4个字节取反后和第5个字节比较,如果不等,则提示功能码错误。
其中,所述步骤4中,解析出来的功能码中,在约定的字节位置设有板卡标识,通过变量的形式传递到板卡系统。
其中,所述步骤2中,在配置文件加载失败时,在系统中写入特殊标识,系统进入到重新启动流程,并且打印消息提示用户。
其中,所述步骤3中,在配置文件协议解析失败时,在系统中写入特殊标识,系统进入到重新启动流程,并且打印消息提示用户。
(三)有益效果
上述技术方案所提供的基于硬件板卡识别的软件兼容性方法,可以实现基于硬件板卡识别的兼容性软件设计,该方法已经经过了算法验证,并进行了仿真实验检验。结果表明,该方法可以提高软件的兼容性,提高软件版本的可管理性。
附图说明
图1为基于硬件板卡识别的软件兼容性方法主流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
结合图1,为了解决软件版本的兼容性问题,本发明提出一种基于硬件板卡识别的软件兼容性方法,实现软件兼容性设计,其过程如下:
步骤1:设计硬件板卡的配置文件并定义配置文件的协议。
配置文件内容采用十六进制格式,配置文件包括文件头、标识码、功能码、功能码取反,和校验位。
文件头为0x55、0xAA;标识码LABEL_CODE一般具体标识软件的类型,如驱动类软件0xF1表示1553B总线驱动,0xF2表示CAN总线驱动,0xF3表示串口驱动,0xF4表示429总线驱动;功能码区一般写入板卡类型,0代表0型号板卡,1代表1型号板卡以此类推;功能码取反为板卡类型字节按位取反;和校验位从文件头开始加到板卡类型取反,进位不计。文件类型存储为.dat类型。
步骤2:将配置文件存放在板卡的TFFS存储卡中,板卡启动后首先从TFFS中加载文件。
采用C标准函数fopen将文件打开,返回值为文件指针fp,用fread以及文件指针fp将文件内容读出来存放到6个字节的数字readbuf[6]中。
步骤3:按照配置文件的协议内容对配置文件协议解析。
首先判断第一个字节是否为0x55,第二个字节是否为0xAA,如果文件头错误,控制台打印提示解析错误。从第1个字节加到第5个字节,进位舍弃,和readbuf数组中第6个字节进行比较。如果不等控制台打印提示校验错误。第3个字节为标识码,和程序中的标识码比较,如果不等控制台打印提示标识码错误,第4个字节取反后和第5个字节比较,如果不等提示功能码错误。
步骤4:将解析出来的功能码即板卡型号传递到板卡系统中,系统根据板卡型号进行控制参数的赋值,根据解析出来的控制参数进行控制操作。
解析出来的功能码中,在约定的字节位置设有板卡标识,通过变量的形式传递到板卡系统。
步骤2和步骤3中,存在出现异常情况的可能,异常情况包括配置文件加载失败、配置文件协议解析失败,在配置文件加载失败或者配置文件协议解析失败的情况下,在系统中写入特殊标识,系统进入到重新启动流程,并且打印消息提示用户。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种基于硬件板卡识别的软件兼容性方法,其特征在于,包括以下步骤:
步骤1:设计硬件板卡的配置文件并定义配置文件的协议;
步骤2:将配置文件存放在板卡的TFFS存储卡中,板卡启动后首先从TFFS存储卡中加载文件;
步骤3:按照配置文件的协议内容对配置文件协议解析;
步骤4:将解析出来的功能码即板卡型号传递到板卡系统中,系统根据板卡型号进行控制参数的赋值,根据解析出来的控制参数进行控制操作。
2.如权利要求1所述的基于硬件板卡识别的软件兼容性方法,其特征在于,所述步骤1中,配置文件包括文件头、标识码、功能码、功能码取反,和校验位。
3.如权利要求2所述的基于硬件板卡识别的软件兼容性方法,其特征在于,所述步骤1中,配置文件内容采用十六进制格式。
4.如权利要求3所述的基于硬件板卡识别的软件兼容性方法,其特征在于,所述步骤1中,文件头为0x55、0xAA;标识码LABEL_CODE标识软件的类型;功能码区写入板卡类型;功能码取反为板卡类型字节按位取反;和校验位从文件头开始加到板卡类型取反,进位不计;文件类型存储为.dat类型。
5.如权利要求4所述的基于硬件板卡识别的软件兼容性方法,其特征在于,所述步骤1中,标识码LABEL_CODE中,驱动类软件0xF1表示1553B总线驱动,0xF2表示CAN总线驱动,0xF3表示串口驱动,0xF4表示429总线驱动;功能码区,0代表0型号板卡,1代表1型号板卡。
6.如权利要求5所述的基于硬件板卡识别的软件兼容性方法,其特征在于,所述步骤2中,采用C标准函数fopen将文件打开,返回值为文件指针fp,用fread以及文件指针fp将文件内容读出来存放到6个字节的数字readbuf[6]中。
7.如权利要求6所述的基于硬件板卡识别的软件兼容性方法,其特征在于,所述步骤3中,配置文件协议解析的过程为:首先判断第一个字节是否为0x55,第二个字节是否为0xAA,如果文件头错误,控制台打印提示解析错误;从第1个字节加到第5个字节,进位舍弃,和readbuf数组中第6个字节进行比较,如果不等,则控制台打印提示校验错误;第3个字节为标识码,和程序中的标识码比较,如果不等,则控制台打印提示标识码错误;第4个字节取反后和第5个字节比较,如果不等,则提示功能码错误。
8.如权利要求7所述的基于硬件板卡识别的软件兼容性方法,其特征在于,所述步骤4中,解析出来的功能码中,在约定的字节位置设有板卡标识,通过变量的形式传递到板卡系统。
9.如权利要求6所述的基于硬件板卡识别的软件兼容性方法,其特征在于,所述步骤2中,在配置文件加载失败时,在系统中写入特殊标识,系统进入到重新启动流程,并且打印消息提示用户。
10.如权利要求7所述的基于硬件板卡识别的软件兼容性方法,其特征在于,所述步骤3中,在配置文件协议解析失败时,在系统中写入特殊标识,系统进入到重新启动流程,并且打印消息提示用户。
CN201911032042.2A 2019-10-28 2019-10-28 一种基于硬件板卡识别的软件兼容性方法 Active CN110750405B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911032042.2A CN110750405B (zh) 2019-10-28 2019-10-28 一种基于硬件板卡识别的软件兼容性方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911032042.2A CN110750405B (zh) 2019-10-28 2019-10-28 一种基于硬件板卡识别的软件兼容性方法

Publications (2)

Publication Number Publication Date
CN110750405A true CN110750405A (zh) 2020-02-04
CN110750405B CN110750405B (zh) 2023-06-30

Family

ID=69280479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911032042.2A Active CN110750405B (zh) 2019-10-28 2019-10-28 一种基于硬件板卡识别的软件兼容性方法

Country Status (1)

Country Link
CN (1) CN110750405B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111641419A (zh) * 2020-04-29 2020-09-08 厦门紫光展锐科技有限公司 终端的射频功率放大器的版本识别方法、控制方法及系统
CN113608775A (zh) * 2021-06-18 2021-11-05 天津津航计算技术研究所 一种基于内存直接读写的流程配置方法
CN116795452A (zh) * 2023-07-20 2023-09-22 龙芯中科(北京)信息技术有限公司 驱动程序兼容性的确定方法、装置及设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671744B1 (en) * 1999-07-05 2003-12-30 Fujitsu Limited Access control method for drive units, and a drive unit using the method
CN1959635A (zh) * 2005-11-04 2007-05-09 中兴通讯股份有限公司 一种软件版本更新的方法
CN102164363A (zh) * 2011-04-14 2011-08-24 新邮通信设备有限公司 一种实现基站版本更新的方法和一种基站
CN103533027A (zh) * 2013-09-22 2014-01-22 瑞斯康达科技发展股份有限公司 一种分布式设备及软件版本兼容性维护的方法、系统
CN103617401A (zh) * 2013-11-25 2014-03-05 北京深思数盾科技有限公司 一种数据文件保护方法及装置
CN105528212A (zh) * 2015-12-05 2016-04-27 中国航空工业集团公司洛阳电光设备研究所 检测仪接口板卡驱动接口的通用化处理方法
CN107491399A (zh) * 2017-08-30 2017-12-19 四川航天系统工程研究所 硬件底层快速配置的上位机软件架构设计方法
CN108874441A (zh) * 2018-06-20 2018-11-23 上海思源弘瑞自动化有限公司 一种板卡配置方法、装置、服务器和存储介质
CN109981388A (zh) * 2017-12-28 2019-07-05 北京京东尚科信息技术有限公司 一种监控设备的方法和装置
CN110267220A (zh) * 2019-04-30 2019-09-20 泉州维盾电气有限公司 一种单主机无线设备串联组网数据通信的系统及方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671744B1 (en) * 1999-07-05 2003-12-30 Fujitsu Limited Access control method for drive units, and a drive unit using the method
CN1959635A (zh) * 2005-11-04 2007-05-09 中兴通讯股份有限公司 一种软件版本更新的方法
CN102164363A (zh) * 2011-04-14 2011-08-24 新邮通信设备有限公司 一种实现基站版本更新的方法和一种基站
CN103533027A (zh) * 2013-09-22 2014-01-22 瑞斯康达科技发展股份有限公司 一种分布式设备及软件版本兼容性维护的方法、系统
CN103617401A (zh) * 2013-11-25 2014-03-05 北京深思数盾科技有限公司 一种数据文件保护方法及装置
CN105528212A (zh) * 2015-12-05 2016-04-27 中国航空工业集团公司洛阳电光设备研究所 检测仪接口板卡驱动接口的通用化处理方法
CN107491399A (zh) * 2017-08-30 2017-12-19 四川航天系统工程研究所 硬件底层快速配置的上位机软件架构设计方法
CN109981388A (zh) * 2017-12-28 2019-07-05 北京京东尚科信息技术有限公司 一种监控设备的方法和装置
CN108874441A (zh) * 2018-06-20 2018-11-23 上海思源弘瑞自动化有限公司 一种板卡配置方法、装置、服务器和存储介质
CN110267220A (zh) * 2019-04-30 2019-09-20 泉州维盾电气有限公司 一种单主机无线设备串联组网数据通信的系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
钮彬: "基于Modbus工控协议的漏洞发掘设计研究", 《能源与环保》, no. 12 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111641419A (zh) * 2020-04-29 2020-09-08 厦门紫光展锐科技有限公司 终端的射频功率放大器的版本识别方法、控制方法及系统
CN111641419B (zh) * 2020-04-29 2022-02-11 厦门紫光展锐科技有限公司 终端的射频功率放大器的版本识别方法、控制方法及系统
CN113608775A (zh) * 2021-06-18 2021-11-05 天津津航计算技术研究所 一种基于内存直接读写的流程配置方法
CN113608775B (zh) * 2021-06-18 2023-10-13 天津津航计算技术研究所 一种基于内存直接读写的流程配置方法
CN116795452A (zh) * 2023-07-20 2023-09-22 龙芯中科(北京)信息技术有限公司 驱动程序兼容性的确定方法、装置及设备
CN116795452B (zh) * 2023-07-20 2024-04-02 龙芯中科(北京)信息技术有限公司 驱动程序兼容性的确定方法、装置及设备

Also Published As

Publication number Publication date
CN110750405B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
CN110750405A (zh) 一种基于硬件板卡识别的软件兼容性方法
CN107025362B (zh) 一种校验原理图和pcb生产数据一致性的方法
EP1738256B1 (en) Method and apparatus for reliably updating a stored version of content
US20080155519A1 (en) Code translator
CN111967017B (zh) 生成依赖关系的方法、装置、终端设备及存储介质
US20040221275A1 (en) Apparatus and method for modifying a kernel module to run on multiple kernel versions
CN110837393A (zh) 一种固件差分升级包的制作方法及装置、可读存储介质
CN113590227B (zh) 一种嵌入式系统下的二进制烧写格式的加载方法及系统
CN102663067B (zh) 一种基于Linux操作系统终端的文件打开方法
CN112732321B (zh) 一种固件修改方法、装置、计算机可读存储介质和设备
CN113110832A (zh) 一种智能高效代码生成方法、装置及存储介质
WO2010143686A1 (ja) 自動車用制御システム及び電子制御ユニット
CN113918308A (zh) 接口调用方法、系统、可读存储介质及计算机设备
CN116841906A (zh) 智能合约的检测方法、装置及电子设备
CN108228439B (zh) 一种程序与日志解耦的方法
CN111444208A (zh) 一种数据更新方法及相关设备
CN111176882A (zh) 特定数据处理方法、装置、计算机设备及存储介质
CN113536316B (zh) 组件依赖信息的检测方法及装置
CN112732644B (zh) 应用程序的资源索引处理方法、计算机设备和存储介质
CN114116459A (zh) 软件兼容性验证方法及计算机可读存储介质
CN112799697A (zh) 一种基于标准框架的配置文件版本迁移方法
CN113791833A (zh) 一种软件版本动态适配不同车型硬件配置方法与系统
CN113722733A (zh) 一种基于Java注解实现的数据访问权限控制方法
CN113126997B (zh) 一套前端代码生成多个运行容器的编译方法
CN117492803B (zh) 一种智能门锁pcba软件升级方法及系统

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
GR01 Patent grant
GR01 Patent grant