[发明专利]汽车控制器开发软件的在环测试方法有效
申请号: | 201410333438.1 | 申请日: | 2014-07-14 |
公开(公告)号: | CN105279081B | 公开(公告)日: | 2018-02-23 |
发明(设计)人: | 夏洪涛;郑鸿云;王静 | 申请(专利权)人: | 联创汽车电子有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海浦一知识产权代理有限公司31211 | 代理人: | 丁纪铁 |
地址: | 201206 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 汽车 控制器 开发软件 测试 方法 | ||
技术领域
本发明涉及汽车电子领域,特别是涉及一种汽车控制器开发软件的在环测试方法。
背景技术
汽车控制器研发算法建模(浮点模型)完成后,对算法模型进行定标处理得到定点模型,然后利用美国迈斯沃克(MathWorks)公司开发的工业标准建模工具MATLAB软件中的自动代码生成工具(Real Time Workshop,RTW)或德国dSPACE公司的自动代码生成工具TargetLink对定点模型进行自动代码生成,对生成的代码需要进行进一步测试,以验证模型到代码的一致性,确定模型的定标是否准确,采用软件在环(Software-in-loop,SIL)测试是一种有效的方式。
传统汽车控制器开发软件在环测试方法是利用自动代码生成工具RTW或TargetLink对模型生成S-function封装,进后在MATLAB环境下进行仿真测试。传统的汽车控制器开发软件在环测试方法具有以下缺点:
1.方法不够灵活。对使用自动代码生成工具RTW生成的代码和使用TargetLink工具生成的代码,两者不能交互,只能在本工具下使用本工具所生成的代码。
2.自动代码生成工具RTW或TargetLink进行S-function封装的代码并不是产品级的代码,不能很好的反映软件在环测试结果。
3.自动代码生成工具RTW进行软件在环测试有一定局限性,结果不够准确;TargetLink工具进行软件在环测试步骤比较繁琐,使用TargetLink需要购买许可(license),增加了成本。
4.对手工代码无法直接使用工具进行软件在环测试测试。
发明内容
本发明要解决的技术问题是提供一种对定点模型源代码录入形式无限制能直接对产品级代码进行测试的汽车控制器开发软件在环测试方法。所述产品级代码是指能直接应用于产品的源代码。
为解决上述技术问题,本发明的汽车控制器开发软件的在环测试方法,包括以下步骤:
1)取得汽车控制器定点模型源代码,利用工业标准建模工具MATLAB软件对定点模型源代码进行源代码封装形成S-function C文件;
2)在MATLAB环境下利用mex命令对S-function C文件进行编译,生成一个与S-function C文件同名的动态链接库文件;
3)在MATLAB环境下运行S-function模块并将S-function模块名改为所述动态链接库文件名,使S-function模块与动态链接库相关联,更新模型,生成封装源代码的S-function模块;
4)将步骤3)生成封装源代码的S-function模块与原始浮点模型放在同一新建模型中添加测试例,形成测试模型;新建模型是新建的工程;利用MATLAB软件建模的时候首先要打开一个空白的模型,这就相当于一个新建的模型,然后再在这个空白的模型中加入必要的模型以实现某一特定的功能。
5)仿真测试模型得到S-function模块代码运行结果和原始浮点模型运行结果,对上述两种运行结果进行减法运算,再对减法后的结果取绝对值,得到S-function模块代码运行结果相对原始浮点模型运行结果的误差。
本发明的汽车控制器研发在环测试方法对定点模型源代码录入形式无限制(手写或自动生成均可)能直接对产品级代码进行测试的汽车控制器开发软件在环测试方法采用本发明后,只需在MATLAB环境下对测试模型进行仿真,即能得到S-function模块代码运行结果相对原始浮点模型运行结果的误差,得到仿真波形和数据。本发明的在环测试方法避免了依赖第三方工具,节省了成本,操作更加方便,能直接对产品级代码进行测试,结果更具有可信性。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是本发明的流程示意图,以自动生成代码为例。
具体实施方式
本发明提供一种汽车控制器开发软件的在环测试方法,包括以下步骤:
1)取得手动录入或软件自动生成的汽车控制器定点模型源代码,利用工业标准建模工具MATLAB软件对定点模型源代码进行源代码封装形成S-function C文件;以C源代码封装为例,其过程如下:
①利用美国迈斯沃克(MathWorks)公司开发的工业标准建模工具MATLAB软件实现对C源代码的封装。在MATLAB的Simulink模块库下打开S-function模块的C文件模板”Basic C-MEX Template”,并另存为到工作路径下。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联创汽车电子有限公司,未经联创汽车电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410333438.1/2.html,转载请声明来源钻瓜专利网。