c malloc函数回滚

我正在研究具有两个不同易失性存储器(比如RAM0和RAM1)的芯片,它们是运行时变量的默认存储器RAM0。 我已经将堆区域(使用内存描述文件)移动到RAM1区域以便利用该内存。

正如我所说的,运行时变量仍然位于RAM0地址空间中,所以当我调用malloc和free函数时,RAM0上的相关变量会发生一些变化。 顺便说一下,R​​AM1地址空间也被其他代码部分用作临时存储器,所以存储在这个存储器上的值将被其他部分改变。

我的问题是,第一次调用malloc函数后,似乎发生了一些初始化,并且一些值存储在malloc特定的运行时变量和RAM1区域中,即使调用free函数后也不会被重置,但是如果其他代码部分更改了值RAM1 malloc函数在再次调用后将失败,因为malloc函数的指针和运行时值以错误的方式更改。

有没有什么办法可以让malloc机制的整个配置数据(即malloc函数首次调用后的配置数据)以一种看起来没有malloc调用的方式进行重置? 我想在每次调用malloc函数之前重置与malloc函数有关的整个数据。 那可能怎么样?

链接地址: http://www.djcxy.com/p/82531.html

上一篇: c malloc function rollback

下一篇: malloc like function using custom heap