[发明专利]一种基于原型设计的嵌入式代码提前验证方法有效
申请号: | 201811627999.7 | 申请日: | 2018-12-28 |
公开(公告)号: | CN109857640B | 公开(公告)日: | 2022-05-24 |
发明(设计)人: | 蔡陈生;郑梦兴;李利亮;刘川 | 申请(专利权)人: | 上海航天控制技术研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/41 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 任林冲 |
地址: | 201109 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 原型 设计 嵌入式 代码 提前 验证 方法 | ||
本发明涉及一种基于原型设计的嵌入式代码提前验证方法,步骤包括:(1)配置编译单元,(2)管理单元智能分析与录入,(3)智能筛选出最优容量本地环境,(4)生成测试驱动脚本,(5)编译生成可执行文件,(6)在SFUNCTION中嵌入可执行文件,与原型设计结果进行比对判断,结果一致则表示功能性设计正确,否则表征功能性设计错误。本发明丰富了嵌入式软件功能性验证的手段,降低了嵌入式软件功能性验证对硬件的依赖性,使得嵌入式软件验证工作可以提前至方案阶段,通过约束性接口设计以及智能化筛选出最优容量编译环境,提升了软件测试效率。
技术领域
本发明涉及一种基于原型设计的嵌入式代码提前验证方法,属于卫星姿轨控软件应用层嵌入式软件的功能性验证技术领域。
背景技术
卫星型号姿轨控分系统方案设计过程中,卫星的控制律通常由方案设计师在MATLAB软件环境下,运用其SIMULINK工具搭建控制律模块和动力学模型,进行仿真验证工作,在满足相应的控制指标后,再根据其中的控制律模块需求制定编写相应的软件任务书。星载软件设计师根据软件任务书进行软件需求分析及设计工作,运用相关高级语言(通常为Ada、C语言等)编写出相应的嵌入式软件代码,进而进行相应的测试工作。目前软件测试包括单元组装测试、确认测试以及系统联试,其中单元组装测试一般只对软件本身的语句覆盖性、分支覆盖性等相关指标进行检测;确认测试和系统联试,对软件代码的功能性进行系统的测试验证。
在软件需求分析阶段,由于软件人员和系统方案设计人员在沟通时或理解上容易出现偏差,从而导致软件实现和软件任务书不一致。这类错误往往带来功能性错误,需要在软件确认测试或系统联试阶段,即需要等到实时仿真或半物理仿真试验中才能被发现,此时,往往需要投入更多的精力去查找问题,随之带来的更改工作也相应增加。
发明内容
本发明所要解决的技术问题:
为克服现有技术不足,本发明提供一种基于原型设计的嵌入式代码提前验证方法,在原型环境中对软件的功能性进行验证,以快速定位软件功能性设计缺陷,提高姿轨控分系统星载软件的研制效率。
本发明的技术解决方案:
一种基于原型设计的嵌入式代码提前验证方法,测试工具包括管理单元、智能筛选单元和API接口设计单元,具体步骤如下:
(1)配置编译单元:在WINDOWS下配置安装与嵌入式代码语言及其工程化编译一致的编译器,获得该编译器在系统下的动态链接库文件,并在 MATLAB下进行链接库脚本配置,实现在MATLAB中进行交叉编译调用;
(2)管理单元智能分析与录入:通过管理单元对待验证模块进行分析,自动识别形参、全局变量的输入输出属性,实现用户测试脚本设置数据的录入;
(3)智能筛选出最优容量本地环境:智能筛选单元遍历待验证模块的引用关系,并筛选与该待验证模块相关的文件,形成引用树状列表及最优容量编译本地环境;
(4)生成测试驱动脚本:API接口设计单元预定义测试驱动脚本模板,并结合管理单元录入的信息,并自动引用树状列表,形成最终的测试驱动脚本;
(5)编译生成可执行文件:在MATLAB下,对步骤(3)和步骤(4)的测试驱动脚本进行编译,生成交叉编译可执行文件;
(6)在SFUNCTION中嵌入可执行文件:在MATLAB原型设计数据包中,增加S-FUNCTION自定义函数,调用步骤(5)中的交叉编译可执行文件,与原型设计结果进行比对判断,结果一致则表示功能性设计正确,否则表征功能性设计错误。
步骤(2)中用户测试脚本设置数据的录入包括用户录入输入、输出及示波器端口的属性信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海航天控制技术研究所,未经上海航天控制技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811627999.7/2.html,转载请声明来源钻瓜专利网。