CN112181392B - 自动判读硬件接口生成数字外部设备代码的方法和*** - Google Patents
自动判读硬件接口生成数字外部设备代码的方法和*** Download PDFInfo
- Publication number
- CN112181392B CN112181392B CN202011121631.0A CN202011121631A CN112181392B CN 112181392 B CN112181392 B CN 112181392B CN 202011121631 A CN202011121631 A CN 202011121631A CN 112181392 B CN112181392 B CN 112181392B
- Authority
- CN
- China
- Prior art keywords
- external equipment
- address
- tested piece
- data
- configuration file
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种自动判读硬件接口生成数字外部设备代码的方法和***,该方法包括:根据被测件与外部设备对应的交互地址信息,确定配置文件;根据配置文件中不同类型的外部设备特征以及汇编码中交互地址的上下文,分析被测件与外部设备交互地址的方向;根据交互地址的方向,识别出不同类型外部设备对应的接口模式;根据不同类型外部设备对应的接口模式,自动生成平台中相应的读写调回函数模板;针对交互地址方向上被测件的读/写数据,分别生成固定格式的输入/输出数据表格。从而可以在被测件数字外部设备测试环境的基础上,减少平台开发过程人工参与度,缩短测试周期,减少测试平台开发引入的程序错误,提高了测试准确性、稳定性。
Description
技术领域
本发明涉及单片机技术领域,具体地,涉及自动判读硬件接口生成数字外部设备代码的方法和***。
背景技术
随着8051单片机在航空航天控制领域的广泛应用,需要测评的嵌入式软件数量也逐年增多。特别是重大科研或者重要型号项目的物理环境,经常难以为测试工作提供足够的测试使用时间。对于测试中故障注入、异常测试可能引起物理环境破坏的情况,也无法在硬件环境中执行相关测试,软件测试的覆盖率不能保证。面对只有软件源代码,没有实测环境以及极端测试情况无法执行的测评任务时,如何提供有效测试环境成为测评单位的难题。
目前,已有对8051单片机指令模拟仿真自研的全数字测试平台(以下简称“平台”),能够提供基于8051的虚拟运行环境。使用Keil C51(美国Keil软件公司开发的支持C语言、汇编的软件仿真调试集成环境)加载待测试软件源代码生成可运行的工程。平台模拟被测试软件的全部外部设备:中断、AD采集、1553B收发数据、IO、CAN、Rs422串口、P0-P3寄存器。具体地,其平台开发过程如图2所示,主要包括:1)依据被测试软件文档及源代码,统计被测件全部外部设备的输入、输出地址、中断及对应的物理含义;2)在平台工程中对全部外部设备的输入输出地址,按照被测件软件逻辑进行读写监控;3)对每种外部设备单独开发回调函数,模拟被测件外部设备的执行逻辑。4)开发数据输入界面,以提供给被测件需要采集的数据。开发数据输出界面,完成被测件上传数据的解析与显示,供测试人员查看测试结果。
然而,上述测试方法需要测评人员对被测件代码有深刻了解,对各种类型的外部设备需要分析出相应的输入输出地址及软件处理逻辑。当针对不同被测件的不同外部设备时,需要人工重新开发对应的处理逻辑代码。整个平台开发过程人工参与度高,极大地延长了测试周期、增加测试难度,影响测试准确性。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种自动判读硬件接口生成数字外部设备代码的方法和***。
第一方面,本发明提供一种自动判读硬件接口生成数字外部设备代码的方法,包括:
步骤1:根据被测件与外部设备对应的交互地址信息,确定配置文件;
步骤2:根据所述配置文件中不同类型的外部设备特征以及汇编码中交互地址的上下文,分析被测件与外部设备交互地址的方向;
步骤3:根据所述配置文件中不同类型的外部设备特征以及被测件与外部设备交互地址的方向,识别出不同类型外部设备对应的接口模式;
步骤4:根据所述不同类型外部设备对应的接口模式,自动生成平台中相应的读写回调函数模板;
步骤5:根据所述配置文件和所述读写回调函数模板,针对交互地址方向上被测件的读/写数据,分别生成固定格式的输入/输出数据表格。
可选地,所述步骤1中的外部设备包括:数模采集设备、1553b总线的远程终端和子地址、串口设备、输入/输出设备、中断设备、P0-P3口;所述交互地址信息包括:被测件与外部设备交互地址的类别,以及每个交互地址对应的物理含义。
可选地,所述步骤2包括:
根据汇编码中读写地址、读写寄存器的指令,结合所述配置文件中不同类型的外部设备特征以及汇编码中交互地址的上下文,分析出被测件与外部设备交互地址的方向。
可选地,所述步骤4中读写回调函数模板用于执行以下步骤:
确定被测件读取数据的第一目标地址信息,并根据所述第一目标地址信息,从配置文件中获取目标数据提供给所述被测件;和/或
确定被测件写入数据的第二目标地址信息,根据配置文件中对应的外部设备特征,将接收到的被测件上传数据写入第二目标地址,并调用对应的处理函数对所述上传数据进行解析。
可选地,所述方法还包括:
在显示界面上直接调用输入/输出数据表格;其中,输入/输出数据表格形式包括Excel表格。
第二方面,本发明提供一种自动判读硬件接口生成数字外部设备代码的***,存储器、处理器,通信总线以及存储在所述存储器上的计算机程序,
所述通信总线用于实现处理器与存储器间的通信连接;
所述处理器用于执行所述计算机程序,以实现如第一方面中任一项所述的自动判读硬件接口生成数字外部设备代码的方法。
第三方面,本发明提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的自动判读硬件接口生成数字外部设备代码的方法。
与现有技术相比,本发明具有如下的有益效果:
本发明提供的自动判读硬件接口生成数字外部设备代码的方法和***,可以在保证基于自研全数字平台开发被测件数字外部设备测试环境的基础上,减少平台开发过程人工参与度,缩短测试周期,减少测试平台开发引入的程序错误,提高了测试准确性、稳定性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例提供的自动判读硬件接口生成数字外部设备代码的方法的流程示意图;
图2为现有技术中硬件接口生成数字外部设备代码的方法的流程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
图1为本发明实施例提供的自动判读硬件接口生成数字外部设备代码的方法的流程示意图,如图1所示,本发明可以包括:
步骤1:根据被测件与外部设备对应的交互地址信息,确定配置文件。
示例性的,在步骤1中,外部设备包括:数模采集设备、1553b总线的远程终端和子地址、串口设备、输入/输出设备、中断设备、P0-P3口;交互地址信息包括:被测件与外部设备交互地址的类别,以及每个交互地址对应的物理含义。
步骤2:根据配置文件中不同类型的外部设备特征以及汇编码中交互地址的上下文,分析被测件与外部设备交互地址的方向。
示例性的,在步骤2中,可以根据汇编码中读写地址、读写寄存器的指令,结合配置文件中不同类型的外部设备特征以及汇编码中交互地址的上下文,分析出被测件与外部设备交互地址的方向。
本实施例中,假设汇编码上下文:“MOV DPTR,#8FFFH、MOVX A,@DPTR”可得知将地址0x8FFF放入DPTR(Data Pointer数据指针),再从DPTR指向的地址读出1字节数据,赋值给寄存器A。判断出地址0X8FFF方向为被测件从外部设备读取数据。通过汇编码“MOVX@DPTR,B”可得外部设备向到DPTR指向的地址写入1字节数据,即被测件从该地址读数据。
具体地,汇编码中被测件向地址写数据操作:“MOVX@DPTR,A”,即向外部设备输出数据。被测件从地址读数操作:“MOVX@DPTR,A”,即被测件从外部设备获取数据。这两条指令可用来识别I/O外部设备,AD,1553b外部设备。
具体地,汇编码中对寄存器的操作:“SETB P1.4”、“CLR P1.5”完成向寄存器P1写操作。这条指令可用来识别P0-P3口外事;
具体地,汇编码中对串口的操作“MOV R3,SBUF”实现从串口0x99读取串口数据。“MOV SBUF,A”实现被测件通过串口向外部设备输出数据。这两条指令可用识别串口外部设备。
具体地,“ORG 03H”“LJMP INT0”可用来识别被测件使用了何种外部中断。
本实施例中,调用平台监控地址函数,自动完成对输入/出地址的监控。当被测件向地址写数据时,会触发平台的写地址回调函数,用来接收被测件输出的数据。当被测件从地址读数据时,会触发平台的读地址的回调函数,用来反馈该外部设备模拟的数据。
步骤3:根据配置文件中不同类型的外部设备特征以及被测件与外部设备交互地址的方向,识别出不同类型外部设备对应的接口模式。
示例性的,首先根据步骤1中配置文件,读取到与AD采集相关的三个地址。被测件向地址1写入通道号,用来选择从哪路AD采集数据。平台会接收通道号,决定将哪路模拟AD数据作为当前被测件采集的通道数据。被测件从地址2读高字节、从地址3读低字节,平台将模拟的AD数据反馈给被测件。其次,根据步骤1中配置文件,读取被测件使用了哪个特殊寄存器P0-P3,被测件写寄存器,平台接收到写的数据;被测件从寄存器读数据,平台将模拟数据赋给被测件。根据步骤1中配置文件,读取被测件是否使用串口。平台模拟被测件从串口收发数据的过程。根据步骤1中配置文件,读取被测件使用了哪些1553b子地址,以及读写子地址方向。平台接收被测件从子地址接收遥测数据。被测件从子地址读取数据时,平台将1553b模拟数据赋给被测件。最后,根据步骤1中配置文件,读取被测件使用了哪些I/O地址。使用步骤2中汇编码的指令判断出地址读写方向。
步骤4:根据不同类型外部设备对应的接口模式,自动生成平台中相应的读写回调函数模板。
示例性的,在步骤4中,读写回调函数模板用于执行以下步骤:
确定被测件读取数据的第一目标地址信息,并根据第一目标地址信息,从配置文件中获取目标数据提供给被测件;和/或
确定被测件写入数据的第二目标地址信息,根据配置文件中对应的外部设备特征,将接收到的被测件上传数据写入第二目标地址,并调用对应的处理函数对上传数据进行解析。
本实施例中,当被测件需要从某个地址读数据,平台会根据配置文件提供相应的数据,供被测件读取。当被测件需要向某个地址写数据,平台会根据配置文件中对应外部设备的特征,接收被测件上传的一组数据,调用对应的处理函数完成被测件上传数据的解析。
步骤5:根据配置文件和读写回调函数模板,针对交互地址方向上被测件的读/写数据,分别生成固定格式的输入/输出数据表格。
示例性的,上述方法还可以包括:在显示界面上直接调用输入/输出数据表格;其中,输入/输出数据表格形式包括Excel表格。
本实施例中,对被测件全部外部设备分别生成具有固定格式的输入/出表格,可供平台后续开发使用。平台开发输入/出界面可直接调用已生成的输入/出表格,且对表格中数据收发处理已在步骤4中自动生成。后续开发完成后,平台可提供基于8051单片机的虚拟运行环境,实现被测件与外部设备交互数据的仿真。
本实施例,通过分析配置文件中被测件与外部设备交互接口,结合汇编码中交互地址的上下文,依据不同外部设备对接口地址操作的独有特征点,完成自动判读硬件接口,自动生成对应外部设备的回调函数模板。由于可以自动生成对应外部设备的回调函数模板,解决了背景技术中描述人工参与度过高的技术问题,不需要测评人员对被测件代码有深刻了解,对各种类型的外部设备需要分析出相应的输入输出地址及软件处理逻辑。应用本实施例中的方法可以在保证基于自研全数字平台开发被测件数字外部设备测试环境的基础上,减少平台开发过程人工参与度,缩短测试周期,减少测试平台开发引入的程序错误,提高了测试准确性、稳定性。
需要说明的是,本发明提供的自动判读硬件接口生成数字外部设备代码的方法中的步骤,可以利用所述自动判读硬件接口生成数字外部设备代码的***中对应的模块、装置、单元等予以实现,本领域技术人员可以参照所述***的技术方案实现所述方法的步骤流程,即,所述***中的实施例可理解为实现所述方法的优选例,在此不予赘述。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的***及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (4)
1.一种自动判读硬件接口生成数字外部设备代码的方法,其特征在于,包括:
步骤1:根据被测件与外部设备对应的交互地址信息,确定配置文件;所述步骤1中的外部设备包括:数模采集设备、1553b总线的远程终端和子地址、串口设备、输入/输出设备、中断设备、P0-P3口;所述交互地址信息包括:被测件与外部设备交互地址的类别,以及每个交互地址对应的物理含义;
步骤2:根据所述配置文件中不同类型的外部设备特征以及汇编码中交互地址的上下文,分析被测件与外部设备交互地址的方向;所述步骤2包括:
根据汇编码中读写地址、读写寄存器的指令,结合所述配置文件中不同类型的外部设备特征以及汇编码中交互地址的上下文,分析出被测件与外部设备交互地址的方向;
步骤3:根据所述配置文件中不同类型的外部设备特征以及被测件与外部设备交互地址的方向,识别出不同类型外部设备对应的接口模式;
步骤4:根据所述不同类型外部设备对应的接口模式,自动生成平台中相应的读写回调函数模板;所述步骤4中读写回调函数模板用于执行以下步骤:
确定被测件读取数据的第一目标地址信息,并根据所述第一目标地址信息,从配置文件中获取目标数据提供给所述被测件;和/或
确定被测件写入数据的第二目标地址信息,根据配置文件中对应的外部设备特征,将接收到的被测件上传数据写入第二目标地址,并调用对应的处理函数对所述上传数据进行解析;
步骤5:根据所述配置文件和所述读写回调函数模板,针对交互地址方向上被测件的读/写数据,分别生成固定格式的输入/输出数据表格。
2.根据权利要求1所述的自动判读硬件接口生成数字外部设备代码的方法,其特征在于,所述方法还包括:
在显示界面上直接调用输入/输出数据表格;其中,输入/输出数据表格形式包括Excel表格。
3.一种自动判读硬件接口生成数字外部设备代码的***,其特征在于,存储器、处理器,通信总线以及存储在所述存储器上的计算机程序,
所述通信总线用于实现处理器与存储器间的通信连接;
所述处理器用于执行所述计算机程序,以实现如权利要求1或2中任一项所述的自动判读硬件接口生成数字外部设备代码的方法。
4.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1或2中任一项所述的自动判读硬件接口生成数字外部设备代码的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011121631.0A CN112181392B (zh) | 2020-10-19 | 2020-10-19 | 自动判读硬件接口生成数字外部设备代码的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011121631.0A CN112181392B (zh) | 2020-10-19 | 2020-10-19 | 自动判读硬件接口生成数字外部设备代码的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181392A CN112181392A (zh) | 2021-01-05 |
CN112181392B true CN112181392B (zh) | 2023-06-20 |
Family
ID=73921965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011121631.0A Active CN112181392B (zh) | 2020-10-19 | 2020-10-19 | 自动判读硬件接口生成数字外部设备代码的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181392B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157511B (zh) * | 2021-04-27 | 2024-06-11 | 深圳创维-Rgb电子有限公司 | 外设检测方法、装置及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894039A (zh) * | 2010-08-12 | 2010-11-24 | 北京大学 | 一种嵌入式设备驱动程序辅助生成方法及*** |
CN103024001A (zh) * | 2012-11-30 | 2013-04-03 | 中兴通讯股份有限公司 | 一种业务调度方法与装置及融合设备 |
CN104567668A (zh) * | 2013-10-09 | 2015-04-29 | 赫克斯冈技术中心 | 用于空间测量的扫描装置 |
CN111597115A (zh) * | 2020-05-19 | 2020-08-28 | 上海航天计算机技术研究所 | 一种嵌入式操作***自动化闭环测试***及测试方法 |
CN111651144A (zh) * | 2020-06-05 | 2020-09-11 | 上海航天计算机技术研究所 | 一种基于实时操作***的星载驱动框架设计方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110099525A1 (en) * | 2009-10-28 | 2011-04-28 | Marek Krysiuk | Method and apparatus for generating a data enriched visual component |
US10839011B2 (en) * | 2018-04-18 | 2020-11-17 | International Business Machines Corporation | Application programing interface document generator |
-
2020
- 2020-10-19 CN CN202011121631.0A patent/CN112181392B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894039A (zh) * | 2010-08-12 | 2010-11-24 | 北京大学 | 一种嵌入式设备驱动程序辅助生成方法及*** |
CN103024001A (zh) * | 2012-11-30 | 2013-04-03 | 中兴通讯股份有限公司 | 一种业务调度方法与装置及融合设备 |
CN104567668A (zh) * | 2013-10-09 | 2015-04-29 | 赫克斯冈技术中心 | 用于空间测量的扫描装置 |
CN111597115A (zh) * | 2020-05-19 | 2020-08-28 | 上海航天计算机技术研究所 | 一种嵌入式操作***自动化闭环测试***及测试方法 |
CN111651144A (zh) * | 2020-06-05 | 2020-09-11 | 上海航天计算机技术研究所 | 一种基于实时操作***的星载驱动框架设计方法 |
Non-Patent Citations (4)
Title |
---|
COSIX64设备驱动程序开发技术综述;商临峰 等;《计算机工程与应用》;121-124 * |
Unified 3-D Interactive Human-Centered System for Online Experimentation: Current Deployment and Future Perspectives;Zhongcheng Lei 等;《IEEE Transactions on Industrial Informatics》;4777-4787 * |
基于CAN总线的星载软件测试***设计;云颖 等;《上海航天》;65-68 * |
基于WinDriver的USB驱动程序开发;杨新友;邹岚;钟建军;;电脑知识与技术(第11期);231-232 * |
Also Published As
Publication number | Publication date |
---|---|
CN112181392A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6223144B1 (en) | Method and apparatus for evaluating software programs for semiconductor circuits | |
US12001317B2 (en) | Waveform based reconstruction for emulation | |
CN107807881B (zh) | 代码覆盖率的测试方法、装置和计算机设备 | |
JP2022537620A (ja) | 人工知能チップ検証 | |
US11302412B2 (en) | Systems and methods for simulated device testing using a memory-based communication protocol | |
IE60444B1 (en) | A software verification apparatus | |
CN104750603A (zh) | 一种多核dsp软件仿真器及其物理层软件测试方法 | |
US8402446B2 (en) | Associating probes with test cases | |
US5115502A (en) | Method and apparatus for determining internal status of a processor using simulation guided by acquired data | |
CN112181392B (zh) | 自动判读硬件接口生成数字外部设备代码的方法和*** | |
US10915426B2 (en) | Intercepting and recording calls to a module in real-time | |
CN117076337B (zh) | 一种数据传输方法、装置、电子设备及可读存储介质 | |
US7577557B2 (en) | Simulator and simulation method for behaviors of processors | |
CN109902001B (zh) | 对未初始化变量的检测方法及终端设备 | |
CN108646106B (zh) | 具有单粒子翻转故障注入功能的微型icap控制器 | |
CN114280459A (zh) | 面向集成电路的测试方法、装置 | |
RU2729210C1 (ru) | Комплекс тестирования программного обеспечения электронных устройств | |
CN111950219B (zh) | 用于实现模拟器的方法、装置、设备以及介质 | |
RU2817186C1 (ru) | Система подтверждения тестов и тестирования встроенного программного обеспечения электронных устройств | |
CN113886229A (zh) | 一种基于Qt的通用化飞行器控制数字仿真平台及方法 | |
JP2001318805A (ja) | 組み込みシステムのテスト方法及びテストシステム | |
US20210173989A1 (en) | Simulation signal viewing method and system for digital product | |
CN207946806U (zh) | 一种调试器和调试装置 | |
JPS60163142A (ja) | 複雑なデジタルデバイスのモデリング動作方法 | |
CN117271248A (zh) | Io接口测试方法、装置及uvm验证环境 |
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 |