[发明专利]利用Simulink定制单片机的底层驱动进行代码生成的方法在审
申请号: | 201810144868.7 | 申请日: | 2018-02-12 |
公开(公告)号: | CN108415699A | 公开(公告)日: | 2018-08-17 |
发明(设计)人: | 陈修波;张君鸿;李卓阳 | 申请(专利权)人: | 北京智行鸿远汽车有限公司 |
主分类号: | G06F8/35 | 分类号: | G06F8/35 |
代理公司: | 北京纽乐康知识产权代理事务所(普通合伙) 11210 | 代理人: | 陈兴强 |
地址: | 102200 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码生成 底层驱动 汽车电子控制单元 单片机 控制程序 控制策略开发 建立模块 精力集中 开发模式 开发效率 驱动程序 自带 封装 编译 兼容 全程 开发 | ||
1.一种利用Simulink定制单片机的底层驱动进行代码生成的方法,其特征在于,包括:
S1 编写模块S-Function;
S2 对上述模块S-Function进行编译;
S3 建立模块S-Function与mexw32文件之间的联系;
S4 对模块S-Function进行封装;
S5 编写模块S-Function的tlc文件。
2.根据权利要求1所述的利用Simulink定制单片机的底层驱动进行代码生成的方法,其特征在于,该方法进一步包括:S6 将每个模块封装好后保存为MPC5644A_Lib库后,编写slblocks.m脚本文件。
3.根据权利要求1所述的利用Simulink定制单片机的底层驱动进行代码生成的方法,其特征在于,S1具体包括:编写该单片机功能模块的S-Function,所述的S-Function包含了该功能模块中的输入或输出数量,宽度,数据类型,采样时间以及其他信息,所述的S-Function保存在一个特定的文件夹中,其扩展名为“c”。
4.根据权利要求1或3所述的利用Simulink定制单片机的底层驱动进行代码生成的方法,其特征在于,S2具体包括:利用Matlab的Lcc编译器对模块S-Function进行编译,Matlab工作路径与S1中的文件夹路径保持一致。
5.根据权利要求1所述的利用Simulink定制单片机的底层驱动进行代码生成的方法,其特征在于,S3具体包括:将S-Function模块添加到Simulink模型中,建立模块S-Function与mexw32文件之间的联系。
6.根据权利要求1所述的利用Simulink定制单片机的底层驱动进行代码生成的方法,其特征在于,S4具体包括:对模块进行封装,定制个性化的图标和对话框;在Icon&Ports选项卡中输入显示命令,用来个性化定制模块界面的显示内容;在Parameters选项卡中添加模块参数,给每个参数取一个提示名;在Documentation选项卡中填写关于该模块的说明信息及帮助信息,以便使用户能更快了解该模块及其用。
7.根据权利要求1所述的利用Simulink定制单片机的底层驱动进行代码生成的方法,其特征在于,S5具体包括:设备驱动模块S-Function封装完毕后,编写设备驱动模块的tlc文件。
8.根据权利要求7所述的利用Simulink定制MPC5644A的底层驱动进行代码生成的方法,其特征在于,所述的tlc 中包含四个函数:BlockTypeSetup、Start、Outputs、Terminate,
其中,BlockTypeSetup函数只在代码生成过程中执行一次,用来执行给定类型的所有模块的一般性操作,用于存放模块中要用到的#include头文件包含操作,宏声明,函数原型的声明;
Start函数中的代码在经过Embeded Coder代码自动生成之后会存放到模型的初始化函数initialize中,用于存放模块的初始化配置;
Outputs函数中的代码在经过Embeded Coder代码自动生成之后会存放到模型的step函数中;
Terminate函数中的代码在经过Embeded Coder代码自动生成之后会存放到模型的terminate 函数中,用于在定制用户自定义的模块tlc文件时,执行保存数据、清空内存及复位目标硬件操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智行鸿远汽车有限公司,未经北京智行鸿远汽车有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810144868.7/1.html,转载请声明来源钻瓜专利网。