- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564669 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174624
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
# [' A a- H8 Z) j# ^
建模规范
) x$ R& w1 C/ x2 R* M4 E' v2 j建模其实很自由的一项编码方式,不要太多的语法知识,简单接触过后就可以搭建功能复杂的模型生成代码供工程使用了。但是不按照一定的规范建模,结果很可能搭出来的模型可读性差、执行效率低、代码臃肿。而建模规范去一条一条的学习,枯燥不说效率也很低下。比较好的方式可以直接借助于tool来建模使之搭建的更有水平,同时学习建模规范。 {* Y$ M: P' `( F j
使用的工具就是model advisor中的 MAAB检查,
) ~$ c- T3 c0 i: U' t7 T* v! \ G9 F8 g+ a; D, S4 n9 N9 y
![]()
7 K6 x& y* b* |0 [* Y界面如下:。
% q& E: ^3 b: e: n- @ 6 f* \0 E; l$ P" Z& d! d" B# y
这里需要注意的是,warning项可以不修改,但必须作出说明。我比较关注的规则是Check for mixing basic blocks and subsystems,这个和架构有很大关系,对可读性有很大影响,主要的要求就是模型要有层次性,不同层级之间不允许值传递。其它具体的规则就不赘言了,我相信经过几次检查后会对建模习惯产生很大的影响的。 9 D* }0 X, P" S# f5 J+ [$ ]
补充另外一项检查Code Generation Advisor: # V+ y- W* s8 A/ ^/ B3 n* T
, U' f: K) W2 v- b: {8 a
。
3 G* z- a- J3 }' C. j5 _通过该检查可以进行如下优化
3 Z* u9 h, p# m+ l8 z, XExecution efficiency # c. v8 u# B; N4 p2 V
ROM efficiency
! p3 C/ h" R; ^RAM efficiency 6 c5 e# Z+ S0 a: W, {7 ^/ U% L
Traceability 8 l3 r7 u' T$ L
Safety precaution
& Z! P8 `1 o& V" n+ F% t5 @Debugging 4 F& m6 p" n, `5 z
MISRA-C:2004 guidelines
6 { c/ Y" X7 P( g9 {) I; b- ePolyspace $ i9 f4 j/ x6 S: V+ O* O
界面如下图 - s% E$ K$ x6 ?) ^: P$ U
1 m' [2 Q; Q! t+ i& M. A q% j5 }
。
6 x* {% s5 v) Z2 _- R9 r这里需要说明的是有些优化是相冲突的,比如说既想保持高的执行效率,又想占用较少的空间,这往往是很难实现的。
" ~+ p( ~: N d' kNote
6 H4 ], [6 u) x) ~# ^/ d前面有提到过模型设置的问题,我相信通过几次advisor的检查,我们对设置的理解会更深刻一些,可以设置的更加符合我们的意图。4 L1 R* P+ X& _6 Q
--------------------- , H6 h- r/ S! m$ h
作者:modolllee
6 P3 Z8 p0 g( B5 x来源:CSDN
, j8 N" M6 @; b4 S# y( t6 R
7 e- b5 k+ Z; _' f J7 Q8 _ c0 S V/ A1 }( B' p$ x% h' S' D
4 s, ]/ b: S [
|
zan
|