一种加密模型的代码生成及集成编译方法技术

技术编号:27934279 阅读:43 留言:0更新日期:2021-04-02 14:13
本发明专利技术公开了一种加密模型的代码生成及集成编译方法,属于模型开发领域。本发明专利技术包括:1)在MATLAB环境中建立算法模型,在所述算法模型中配制自动生成代码的相关选项;2)对所述算法模型进行设置,将所述算法模型导出为扩展名为.slxp的加密模型;3)编写生成所述加密模型对应的make文件的脚本文件;4)编写在MATLAB环境下自动调用嵌入式编译器的脚本文件;5)编写MATLAB环境下可运行的m文件,将步骤3)和步骤4)的脚本文件放在该m文件中运行,实现加密模型的一键模型生成代码及集成编译。本发明专利技术基于MATLAB环境中模型的设计开发流程,在合作开发过程中对模型保护的同时,能够生成嵌入式代码;既满足技术保密,又方便模型的流通。

【技术实现步骤摘要】
一种加密模型的代码生成及集成编译方法
本专利技术属于模型开发领域,尤其是一种加密模型的代码生成及集成编译方法。
技术介绍
目前,基于MATLAB/Simulink模型的设计开发流程已在汽车电子领域得到广泛应用与认可。基于MATLAB/Simulink模型的设计开发流程的代码由模型生成,模型与需求挂接,在仿真中一经验证即可直接生成嵌入式代码。而在实际的项目应用中,随着项目越来越大,分工越来越细,合作开发已成为常态,互相之间的技术保密工作也经常出现,一方做的模型或代码不能给另一方看到,但又要求对方能够运行并生成嵌入式代码。合作开发过程中对模型/代码的保护方式有几种,例如将模型转化成S-Function交付给另一方使用,但是该方法不能生成嵌入式代码,或是将模型生成的代码编译成目标代码(.obj),但需要分别用Windows下的编译器和嵌入式编译器做两次编译,对方才能在Simulink环境下仿真使用以及做嵌入式部署。
技术实现思路
本专利技术的目的在于克服MATLAB/Simulink模型的设计开发流程合作方的模型在保密的同时对方不能运行并生成嵌入式代码的缺点,提供一种加密模型的代码生成及集成编译方法。为达到上述目的,本专利技术采用以下技术方案予以实现:一种加密模型的代码生成及集成编译方法,包括以下步骤:1)在MATLAB环境中建立算法模型,在所述算法模型中配制自动生成代码的相关选项;2)对所述算法模型进行设置,将所述算法模型导出为扩展名为.slxp的加密模型;r>3)编写生成所述加密模型对应的make文件的脚本文件;4)编写在MATLAB环境下自动调用嵌入式编译器的脚本文件;5)编写MATLAB环境下可运行的m文件,将步骤3)和步骤4)的脚本文件放在所述m文件中运行,实现加密模型的一键模型生成代码及集成编译。进一步的,步骤2)中的具体操作为:将所述算法模块封装为原子单元,将原子单元子转换为参考模型,将所述参考模型设置为ProtectedModel,待加密的算法模块输出到工作路径下,成为扩展名为.slxp的加密模型。进一步的,步骤2)中加密模型为只读、只仿真或只用于生成代码;进一步的,生成的代码为可读或不可读。进一步的,步骤5)中通过编写在Matlab环境可运行的m文件实现加密模型的一键模型生成代码及集成编译。进一步的,在m文件中编写模型相关初始化命令及数据运行命令,编写加载模型命令与模型生成代码命令,编写copy命令将生成的代码组织在相应的文件夹中;之后在m文件中调用步骤3)中的命令行程序,最终在m文件中调用步骤4)中的命令行程序,完成整个项目可执行文件的输出。与现有技术相比,本专利技术具有以下有益效果:本专利技术的加密模型的代码生成及集成编译方法,基于MATLAB环境中模型的设计开发流程,在合作开发过程中对模型保护的同时,能够生成嵌入式代码;既满足技术保密,又方便模型的流通。附图说明图1为本专利技术的流程图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。下面结合附图对本专利技术做进一步详细描述:参见图1,图1为本专利技术的流程图,本专利技术的加密模型的代码生成及集成编译方法,包括以下步骤:1)制定基于模型的自动代码生成配置模板,该模板设置了模型生成代码时需要用到的tlc模板文件,以及模型生成代码的变量命名规则、模块生成代码规则等参数;2)对模型中需要加密模块进行设置。本专利技术使用模型加密的方法,选择模型文件File—ExportModel—ProtectedModel,将模型导出为扩展名为.slxp的加密模型。加密可以选择不同的级别,加密后的模型可以让对方只读、只仿真或只用于生成代码,生成的代码也可选择可读或不可读,且所有操作都可通过密码的形式控制,实现起来比较方便;3)通过编写脚本文件,根据加密模块的不同,自动生成相应的make文件;避免了因不同开发人员开发的不同模型,造成的模型命名不同,继而生成的加密模型和代码命名方式不同,造成每次在Matlab环境下调用编译器使用的make文件都需要重新编写;4)编写脚本文件,实现在Matlab环境下直接调用嵌入式编译器,完成整个项目的编译,获得可执行的二进制文件;5)将编写为Matlab环境下可运行的m文件,实现加密模型的一键模型生成代码及集成编译。实施例1)根据项目需求,在Matlab/Simulink环境下建立相应的算法模型,在模型中ModelConfigurationParameters选项下,对模型自动生成代码相关配置项进行设置,其中CodeGeneration配置项中,选择ert.tlc作为系统目标文件,并且选择仅生成代码;2)根据项目组成员工作分配的不同,对需要加密的算法模块进行如下设置:首先将算法模块封装为原子单元,再将原子单元子转换为参考模型,将参考模型设置为ProtectedModel,至此,需要加密的模块将输出到工作路径下,成为扩展名为.slxp的加密模型;3)在m文件中编写相关指令,拷贝整个工程模型生成的代码以及加密模块生成的代码至规定的文件夹内;4)编写命令行执行程序,实现自动生成make文件,具体方式是:遍历生成代码文件夹内的所有c文件和h文件,提取文件名至缓存文件,再将文件名分别写入make文件模板中相应的位置,完成当前项目make文件的更新;5)编写命令行执行程序,实现Matlab环境下调用编译器,完成整个项目的代码编译;6)编写在Matlab环境可运行的m文件,该文件可一键运行,完成带加密模块的模型自动生成代码并集成编译,具体方式为:首先在m文件中编写模型相关初始化命令及数据运行命令,然后编写加载模型命令与模型生成代码命令,再编写copy等命令将生成的代码组织在相应的文件夹中,之后在m文件中调用步骤3)中的命令行程序,最终在m文件中调用步骤4)中的命令行程序,完成整个项目可执行文件的输出。以上内容仅为说明本专利技术的技术思想,不能以此本文档来自技高网...

【技术保护点】
1.一种加密模型的代码生成及集成编译方法,其特征在于,包括以下步骤:/n1)在MATLAB环境中建立算法模型,在所述算法模型中配制自动生成代码的相关选项;/n2)对所述算法模型进行设置,将所述算法模型导出为扩展名为.slxp的加密模型;/n3)编写生成所述加密模型对应的make文件的脚本文件;/n4)编写在MATLAB环境下自动调用嵌入式编译器的脚本文件;/n5)编写MATLAB环境下可运行的m文件,将步骤3)和步骤4)的脚本文件放在所述m文件中运行,实现加密模型的一键模型生成代码及集成编译。/n

【技术特征摘要】
1.一种加密模型的代码生成及集成编译方法,其特征在于,包括以下步骤:
1)在MATLAB环境中建立算法模型,在所述算法模型中配制自动生成代码的相关选项;
2)对所述算法模型进行设置,将所述算法模型导出为扩展名为.slxp的加密模型;
3)编写生成所述加密模型对应的make文件的脚本文件;
4)编写在MATLAB环境下自动调用嵌入式编译器的脚本文件;
5)编写MATLAB环境下可运行的m文件,将步骤3)和步骤4)的脚本文件放在所述m文件中运行,实现加密模型的一键模型生成代码及集成编译。


2.根据权利要求1所述的加密模型的代码生成及集成编译方法,其特征在于,步骤2)中的具体操作为:
将所述算法模块封装为原子单元,将原子单元子转换为参考模型,将所述参考模型设置为ProtectedModel,待加密的算法模块输出到工作路径下,成为扩展名为.slxp的...

【专利技术属性】
技术研发人员:王婧宇严鉴铂刘义王鹏王昱尹欣欣郝刘丹崔强
申请(专利权)人:西安法士特汽车传动有限公司
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1