- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563306 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174215
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
3 i( {) a& h1 G! A) i建模规范$ q- h; H" t4 v$ J3 B7 z
建模其实很自由的一项编码方式,不要太多的语法知识,简单接触过后就可以搭建功能复杂的模型生成代码供工程使用了。但是不按照一定的规范建模,结果很可能搭出来的模型可读性差、执行效率低、代码臃肿。而建模规范去一条一条的学习,枯燥不说效率也很低下。比较好的方式可以直接借助于tool来建模使之搭建的更有水平,同时学习建模规范。 3 j7 F2 u& {; _# n. C3 w: D5 S
使用的工具就是model advisor中的 MAAB检查, / b! Z3 z0 e, N; z3 e
! |0 C) ^& c+ H3 R0 r4 o; \
& D6 V* D$ J" V$ z" d0 B- k5 i
界面如下:。
9 w" ^5 h3 d9 d# j# m# `* } . b( L7 v( S, ?
这里需要注意的是,warning项可以不修改,但必须作出说明。我比较关注的规则是Check for mixing basic blocks and subsystems,这个和架构有很大关系,对可读性有很大影响,主要的要求就是模型要有层次性,不同层级之间不允许值传递。其它具体的规则就不赘言了,我相信经过几次检查后会对建模习惯产生很大的影响的。 . K" _6 N ^- ? H
补充另外一项检查Code Generation Advisor: 5 Y1 n2 e$ p) C) V, C, G
# i( K* M K/ ^9 O" s! ~* b, y
。
5 J- q; q$ _( a; N, y# p+ n1 T# f8 M通过该检查可以进行如下优化
; j/ T7 S3 h& }* y% @Execution efficiency ( n7 Q! r& I3 p, h# c! o' ~6 k* J
ROM efficiency
. I+ P$ U$ @/ J- ?' m2 L! z, URAM efficiency & x& M( t% w$ e0 j1 z' N
Traceability 6 W; F8 y& b6 c( m9 B; F
Safety precaution 4 m" e( P0 J* c+ c0 Z1 x: }
Debugging 6 _( H% ^1 P; A7 l# G( o
MISRA-C:2004 guidelines " P1 D2 p- ]0 L$ i0 H" F, Z" }
Polyspace
7 \. a! s; [. s2 E; v7 Z界面如下图 ' J. J- \+ d" S6 T+ K
# C- E/ F2 `" } [6 f7 H 。
$ @8 Y- q- L0 q8 O3 B这里需要说明的是有些优化是相冲突的,比如说既想保持高的执行效率,又想占用较少的空间,这往往是很难实现的。 % ~, p5 N! ?7 y; ~ ^' i+ f3 C* J
Note
% X/ [- V c1 w) J5 @" ?, m前面有提到过模型设置的问题,我相信通过几次advisor的检查,我们对设置的理解会更深刻一些,可以设置的更加符合我们的意图。
; e# e2 {: `2 {---------------------
0 b. k$ g0 p- I t# l \. O) J1 A作者:modolllee
5 O( G- f0 L4 G2 |% p. _来源:CSDN
9 g& [, Y/ e, y' \0 F3 v6 D
" z$ ^3 g, y/ r; O6 [$ A
/ e# N( c# ?' K- R, X* O# E; Z1 o2 I/ f+ p) B5 k
|
zan
|