当前位置:  开发笔记 > 人工智能 > 正文

嵌入式系统中的malloc

如何解决《嵌入式系统中的malloc》经验,为你挑选了1个好方法。

我正在使用嵌入式系统.该应用程序在AT91SAMxxxx和cortex m3 lpc17xxx上运行.我正在研究动态内存分配,因为它会极大地改变应用程序的面貌(并给我更多的权力).

我认为我唯一真正的途径是为堆设置一个内存区域,并设计一个最适合(双关)我的目的的定制malloc.

在查看不同的内存分配算法时,你不能偶然发现Doug Lea的malloc.我认为这已经被用在我的嵌入式系统中,在那里没有操作系统和量身定制的版本,比如已经提供了sbrk()函数来实现这一点.我试图找到很好的例子来实现这个目标,或者在我开始编写自己的概念之前尝试一个概念验证.

是否可以在我的系统中使用dlmalloc?

如果有,任何人都可以指向相关资源吗?(找不到很多能帮到我的人)

是不是更好地去编写我自己的malloc来满足我的需求?

并且道歉我到目前为止的大多数研究都是设计一个不使用道格的malloc,这是一个不同的挑战.猜猜我试图找出更深入地研究这条路线浪费时间.

编辑:

故事的寓意:在我的案例中看dlmalloc毫无意义.



1> Magisch..:

对于您的情况,您自己的实施mallocdlmalloc绝对可能,但不可取.

在非常低级别的嵌入式系统,裸机MCU等,使用malloc是没有意义的.

您将运行您的应用程序,只有您的应用程序,您知道您拥有和可以使用多少内存,并且您完全能够定制您的程序以满足这些需求.使用malloc可以节省内存,但这在这里毫无意义.如果您的内存使用率最高的程序没有超过设备上的可用内存,并且您的程序是唯一运行的程序,则没有理由使用malloc,并且没有理由让任何内存不被使用.

tl; dr它可能但非常无意义.

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有