CN110750405A - 一种基于硬件板卡识别的软件兼容性方法 - Google Patents
一种基于硬件板卡识别的软件兼容性方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2247—Verification or detection of system hardware configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total 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中,在配置文件协议解析失败时,在系统中写入特殊标识,系统进入到重新启动流程,并且打印消息提示用户。
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)
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)
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 | 泉州维盾电气有限公司 | 一种单主机无线设备串联组网数据通信的系统及方法 |
-
2019
- 2019-10-28 CN CN201911032042.2A patent/CN110750405B/zh active Active
Patent Citations (10)
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)
Title |
---|
钮彬: "基于Modbus工控协议的漏洞发掘设计研究", 《能源与环保》, no. 12 * |
Cited By (6)
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 |