simulink之嵌入式C代码生成

描述

‍‍‍总觉得单纯写ISO 26262显得太单调,于是小编拉上好盆友印小怪开启了simulink 之旅。希望能跟更多的朋友一起交流学习,共同进步。趁着周末的大好时光,一起来学习吧!‍

‍从工作到现在已经五年多的时间了,在工作中发现了一个代码神器,有请神器闪亮登场,那就是我们的Simulink。 刚开始用代码生成功能的时候真是一把鼻涕一把泪呀,捣鼓了一周才弄了个一知半解,网上详细介绍代码生成的文章又不多,所以我简单整理了一下代码生成的知识,算是个抛砖引玉,希望有C基础或者想学代码编程的人得到些许知识,若是有错误的地方还请大家批评指正。 刚刚开始学代码生成的时候,看着Simulink生成的代码简直就是在看天文,基本上没有什么可读性,后来了解了配置规则后才发现Simulink真是太强大了。当然也不是真想读C代码,只是让代码看起来更像我们手写的C代码一样。从现在应用现状来看,用的最多的地方是在汽车ECU控制器上,偷偷的告诉你,做嵌入式的程序员们都可以用哦! 为了不增加文章的繁琐性,基本的Simulink操作我就不再赘述,所以看下面文章得有一定的Simulink的基础。 下面进入正题,欣赏代码生成的魅力,先举个最简单的例子,看看Simulink生成的代码什么样。 首先创建一个Test.slx的文件,里面放上如下所示的一个模型并进行个简单的设置如下图:‍

Simulink

至于为什么配置等后续文章会详细介绍,请耐心等待。点击代码生成按钮后就生成了报告。下面来简单看一下生成代码的效果,其中最关键的是Test.c和Test.h文件,这个是咱们最想要的代码了,如下图所示:  

Simulink

从Test.c文件中找到咱们想要实现y=x*3的这个应用内容:

Simulink

Simulink

沃德天,这上面又是结构体,又改名字的,不是我想要的呀,想一下要是咱们用C代码去实现这个函数该怎么实现,如下所示:

Simulink

是不是C代码看起来简单明了。现在咱们就一步步配置规则让自动生成的代码和下面手写的C代码一致。 第一步,将函数名字配置成想要的名字,如GetGain3,如下图步骤:

Simulink

点击代码生成,得到如下:

Simulink

是不是和咱们平常写的代码一致了。所以生成的代码,一定程度上是可以比拟用C写的哦! 当然会C的人说了,我简单一句话搞定了,为什么用你的模型去生成代码。其实模型有这样几个好处:

一个是测试方面的比如MIL、SIL、PIL测试方面保证代码的质量;

第二个是其生成的代码会符合规范,如MISRA-C 2012等;

第三点就是可读性,图形化的界面比一行行的字母的可读性要好,当设计比较复杂的系统时,模型的优势就逐渐的显现出来了。

责任编辑:YYX

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分