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

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

Info

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
Application number
CN201911032042.2A
Other languages
English (en)
Other versions
CN110750405A (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)
  • 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中,在配置文件协议解析失败时,在系统中写入特殊标识,系统进入到重新启动流程,并且打印消息提示用户。
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 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 泉州维盾电气有限公司 一种单主机无线设备串联组网数据通信的系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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