建模规范
建模规范
建模其实很自由的一项编码方式,不要太多的语法知识,简单接触过后就可以搭建功能复杂的模型生成代码供工程使用了。但是不按照一定的规范建模,结果很可能搭出来的模型可读性差、执行效率低、代码臃肿。而建模规范去一条一条的学习,枯燥不说效率也很低下。比较好的方式可以直接借助于tool来建模使之搭建的更有水平,同时学习建模规范。
使用的工具就是model advisor中的 MAAB检查,
https://img-blog.csdn.net/20170117104732859?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbW9kb2xsbGVl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
界面如下:。
https://img-blog.csdn.net/20170117104846580?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbW9kb2xsbGVl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
这里需要注意的是,warning项可以不修改,但必须作出说明。我比较关注的规则是Check for mixing basic blocks and subsystems,这个和架构有很大关系,对可读性有很大影响,主要的要求就是模型要有层次性,不同层级之间不允许值传递。其它具体的规则就不赘言了,我相信经过几次检查后会对建模习惯产生很大的影响的。
补充另外一项检查Code Generation Advisor:
https://img-blog.csdn.net/20170117105306965?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbW9kb2xsbGVl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast。
通过该检查可以进行如下优化
Execution efficiency
ROM efficiency
RAM efficiency
Traceability
Safety precaution
Debugging
MISRA-C:2004 guidelines
Polyspace
界面如下图
https://img-blog.csdn.net/20170117105514978?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbW9kb2xsbGVl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast。
这里需要说明的是有些优化是相冲突的,比如说既想保持高的执行效率,又想占用较少的空间,这往往是很难实现的。
Note
前面有提到过模型设置的问题,我相信通过几次advisor的检查,我们对设置的理解会更深刻一些,可以设置的更加符合我们的意图。
---------------------
作者:modolllee
来源:CSDN
页:
[1]