rtt关闭动态内存

2019-11-18 21:21 [复制链接] 8 145

最近阅读的时候注意到有些安全要求高的电子设备(比如航空航天军工之类)是不能用动态内存的,会增加风险。那rtthread怎么彻底关闭动态内存呢?
+ g# O, H) Z% x  D9 l
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-11-18 21:25:01 | 显示全部楼层
我记得我之前试过一次关闭using heap,不过编译报错了
使用道具 举报 回复
发表于 2019-11-18 21:55:38 | 显示全部楼层
AMBavionics 发表于 2019-11-18 21:25
' F0 k0 C/ R$ z: s) q4 e; d我记得我之前试过一次关闭using heap,不过编译报错了
( N, u, \% C8 b! |3 A+ S! h
你好,建议将你的配置过程与编译日志贴出来。
使用道具 举报 回复
发表于 2019-11-19 08:58:04 | 显示全部楼层
eric007 发表于 2019-11-18 21:55
8 N6 q8 c+ o2 |: H3 `6 d1 |你好,建议将你的配置过程与编译日志贴出来。

- X' B6 J8 @9 H& I  R大部分是这种错误,貌似很多驱动里边都是用动态内存 QQ截图20191119090055.png 9 W  {0 w0 [+ [" B0 {: S" L, c4 k0 u

* Y3 n$ T; ^% K/ f7 ^
使用道具 举报 回复
发表于 2019-11-20 22:14:49 | 显示全部楼层
AMBavionics 发表于 2019-11-19 08:58" X$ f- Q7 c6 |/ o
大部分是这种错误,貌似很多驱动里边都是用动态内存
; x! @: Y+ M/ U; C/ B6 N
你关闭了堆功能,却又使用动态分配内存,岂不自相矛盾。这报错不是很正常吗
使用道具 举报 回复
发表于 2019-11-26 14:31:19 | 显示全部楼层
eric007 发表于 2019-11-20 22:142 i8 N$ ]* m+ J1 ]8 Y2 P
你关闭了堆功能,却又使用动态分配内存,岂不自相矛盾。这报错不是很正常吗 ...

% x% [$ X# b" p' w那必须要挨个把用malloc函数的地方改掉吗?
使用道具 举报 回复
发表于 2019-11-26 16:58:05 | 显示全部楼层
驱动这里应该有条件编译的代码,当关闭动态分配时,使用静态分配的变量。
使用道具 举报 回复
发表于 2019-11-26 18:54:13 | 显示全部楼层
qz_rtt 发表于 2019-11-26 16:58
1 f' `) I) `1 ~( O6 {$ @3 }8 [$ |驱动这里应该有条件编译的代码,当关闭动态分配时,使用静态分配的变量。 ...
/ e# Y7 Q+ ^6 y9 Z
我看很多驱动里边没有这样的条件编译
使用道具 举报 回复
发表于 2019-11-26 19:32:52 | 显示全部楼层
关闭动态内存没那么容易的。关闭动态内存后,基本上是一个nano的版本,可以有shell,可以有多任务。但到上次组件,显然就不完全是这样了,这些组件所对应需要的驱动也不能屏蔽掉动态内存。
6 l# U& r; c) h) J* _. O4 L4 ~
" ?) M) j' z. C9 Q% q* N既然已经是到关闭动态内存的情况了,那么面向的场景一定是极为苛刻了,这个时候需要一个个去卡代码,也是必须的。
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表