malloc和free在FreeRTOS限制使用

使用动态内存管理的时候 FreeRTOS 内核在创建任务、队列、信号量的时候会动态的申请RAM。

标准 C 库中的 malloc()和 free()也可以实现动态内存管理,但是如下原因限制了其使用:

● 在小型的嵌入式系统中效率不高。
● 会占用很多的代码空间。
● 它们不是线程安全的。
● 具有不确定性,每次执行的时间不同。
● 会导致内存碎片。
● 使链接器的配置变得复杂。

上一篇:LeetCode刷题笔记(简单)---有多少小于当前数字的数字(C语言)


下一篇:常见的内存错误及对策