硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2714|回复: 3
收起左侧

[FreeRTOS] 关于内存分配

[复制链接]

38

主题

82

回帖

196

积分

初级会员

积分
196
发表于 2020-3-10 09:53:12 | 显示全部楼层 |阅读模式
一般来说,uint8_t *p = mem_alloc(n bytes) 是动态内存分配的一般形式,但是之前有同事发现uCos用的时候是一块块内存来分配的(例如一块为1024bytes),而我使用最新的CMSIS的OS接口(套在FreeRTOS上的),里面的内存分配也是一块块来的。
我就奇怪,内存分配虽说是要连续,但也没说要一块块为单位来分配吧?都是需要多少byte就分配多少呀。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2020-3-10 09:57:57 | 显示全部楼层
用CMSIS-RTOS V2封装层,支持三种内存分配方式,有要多少申请多少,有内存块方式的。

使用固定大小的优势是安全可靠,malloc方式的碎片化是无法避免的,很难通过安全认证。超高等级的系统,别说这种内存块,就是中断都很少用。一般就1-2个中断,甚至不用,做到系统完全可预测。
回复

使用道具 举报

38

主题

82

回帖

196

积分

初级会员

积分
196
 楼主| 发表于 2020-3-12 12:39:39 | 显示全部楼层
eric2013 发表于 2020-3-10 09:57
用CMSIS-RTOS V2封装层,支持三种内存分配方式,有要多少申请多少,有内存块方式的。

使用固定大小的优 ...

硬汉建不建议使用CMSIS V2这套接口呢?感觉是有点没必要,我又不换os

这种超高安全等级的系统很少使用中断,那不就很低效?一般是汽车上的应用么
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2020-3-12 14:09:29 | 显示全部楼层
yip_1991 发表于 2020-3-12 12:39
硬汉建不建议使用CMSIS V2这套接口呢?感觉是有点没必要,我又不换os

这种超高安全等级的系统很少使用 ...

CMSIS V1已经被ARM淘汰掉了。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-6 00:01 , Processed in 0.184333 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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