CN110750405B - 一种基于硬件板卡识别的软件兼容性方法 - Google Patents
一种基于硬件板卡识别的软件兼容性方法 Download PDFInfo
- Publication number
- CN110750405B CN110750405B CN201911032042.2A CN201911032042A CN110750405B CN 110750405 B CN110750405 B CN 110750405B CN 201911032042 A CN201911032042 A CN 201911032042A CN 110750405 B CN110750405 B CN 110750405B
- Authority
- CN
- China
- Prior art keywords
- board card
- file
- byte
- configuration file
- software
- 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.)
- Active
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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (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 (4)
1.一种基于硬件板卡识别的软件兼容性方法,其特征在于,包括以下步骤:
步骤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个字节比较,如果不等,则提示功能码错误。
2.如权利要求1所述的基于硬件板卡识别的软件兼容性方法,其特征在于,所述步骤4中,解析出来的功能码中,在约定的字节位置设有板卡标识,通过变量的形式传递到板卡系统。
3.如权利要求1所述的基于硬件板卡识别的软件兼容性方法,其特征在于,所述步骤2中,在配置文件加载失败时,在系统中写入特殊标识,系统进入到重新启动流程,并且打印消息提示用户。
4.如权利要求1所述的基于硬件板卡识别的软件兼容性方法,其特征在于,所述步骤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 CN110750405A (zh) | 2020-02-04 |
CN110750405B true 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) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111641419B (zh) * | 2020-04-29 | 2022-02-11 | 厦门紫光展锐科技有限公司 | 终端的射频功率放大器的版本识别方法、控制方法及系统 |
CN113608775B (zh) * | 2021-06-18 | 2023-10-13 | 天津津航计算技术研究所 | 一种基于内存直接读写的流程配置方法 |
CN116795452B (zh) * | 2023-07-20 | 2024-04-02 | 龙芯中科(北京)信息技术有限公司 | 驱动程序兼容性的确定方法、装置及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103533027A (zh) * | 2013-09-22 | 2014-01-22 | 瑞斯康达科技发展股份有限公司 | 一种分布式设备及软件版本兼容性维护的方法、系统 |
CN107491399A (zh) * | 2017-08-30 | 2017-12-19 | 四川航天系统工程研究所 | 硬件底层快速配置的上位机软件架构设计方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001022679A (ja) * | 1999-07-05 | 2001-01-26 | Fujitsu Ltd | ドライブ装置に対するアクセス制御方法及び、これを適用するドライブ装置 |
CN100416503C (zh) * | 2005-11-04 | 2008-09-03 | 中兴通讯股份有限公司 | 一种软件版本更新的方法 |
CN102164363B (zh) * | 2011-04-14 | 2014-05-07 | 新邮通信设备有限公司 | 一种实现基站版本更新的方法和一种基站 |
CN103617401B (zh) * | 2013-11-25 | 2017-02-08 | 北京深思数盾科技股份有限公司 | 一种数据文件保护方法及装置 |
CN105528212B (zh) * | 2015-12-05 | 2019-08-09 | 中国航空工业集团公司洛阳电光设备研究所 | 检测仪接口板卡驱动接口的通用化处理方法 |
CN109981388A (zh) * | 2017-12-28 | 2019-07-05 | 北京京东尚科信息技术有限公司 | 一种监控设备的方法和装置 |
CN108874441B (zh) * | 2018-06-20 | 2022-08-09 | 上海思源弘瑞自动化有限公司 | 一种板卡配置方法、装置、服务器和存储介质 |
CN110267220B (zh) * | 2019-04-30 | 2021-11-02 | 泉州维盾电气有限公司 | 一种单主机无线设备串联组网数据通信的系统及方法 |
-
2019
- 2019-10-28 CN CN201911032042.2A patent/CN110750405B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103533027A (zh) * | 2013-09-22 | 2014-01-22 | 瑞斯康达科技发展股份有限公司 | 一种分布式设备及软件版本兼容性维护的方法、系统 |
CN107491399A (zh) * | 2017-08-30 | 2017-12-19 | 四川航天系统工程研究所 | 硬件底层快速配置的上位机软件架构设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110750405A (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110750405B (zh) | 一种基于硬件板卡识别的软件兼容性方法 | |
US7599970B2 (en) | Method and apparatus for updating a stored version of content stored in a storage device | |
JP4878715B2 (ja) | オペレーティングシステムに適合しないアプリケーションにパッチを当てる方法、コンピュータシステム及びコンピュータ可読記録媒体 | |
US8332433B2 (en) | Database synchronization and validation | |
US20070294685A1 (en) | Program upgrade system and method for ota-capable portable device | |
CN111881102A (zh) | 基于aop切面采集审计日志的方法、装置及可读介质 | |
US20080155519A1 (en) | Code translator | |
CN113590227B (zh) | 一种嵌入式系统下的二进制烧写格式的加载方法及系统 | |
CN110837429A (zh) | 一种web端线上代码智能修复方法及装置 | |
US6415436B1 (en) | Mechanism for cross validating emulated states between different emulation technologies in a dynamic compiler | |
US11397817B2 (en) | Binary patch reconciliation and instrumentation system | |
US20060026415A1 (en) | Method of updating a portion BIOS | |
CN113641394A (zh) | 一种多操作系统设备的差分升级方法 | |
US20040181777A1 (en) | Method and device for programming electronic devices using a uniform parameter format | |
CN116841906A (zh) | 智能合约的检测方法、装置及电子设备 | |
CN111880803A (zh) | 一种应用于多平台的软件构建方法及装置 | |
CN111444208A (zh) | 一种数据更新方法及相关设备 | |
CN116431603A (zh) | Plc程序的存储和加载方法、装置和电子设备 | |
CN108228439B (zh) | 一种程序与日志解耦的方法 | |
CN105159810A (zh) | 对计算机系统的bios进行测试的方法及装置 | |
CN114116459A (zh) | 软件兼容性验证方法及计算机可读存储介质 | |
CN112732644B (zh) | 应用程序的资源索引处理方法、计算机设备和存储介质 | |
Mihalj et al. | Code Generator for ADAS Software Testing | |
CN112799697A (zh) | 一种基于标准框架的配置文件版本迁移方法 | |
US20050038786A1 (en) | Self-configuration of database tables |
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 |