malloc在newLib中具有对齐的内存

时间:2015-11-09 20:27:05

标签: embedded malloc newlib

我目前正在使用Atmel主板(SAM4C ARM Cortex-M4)进行项目工作,我注意到当我设置位"陷阱未对齐的单词访问"时,我总是得到一个& #34;未对齐访问使用故障"。

经过一番调查,我意识到malloc返回的内存块是未对齐的。所以,我想知道是否有办法配置malloc所以它会在对齐指针分配内存?我知道memalign可以做到这一点,但由于我已经有太多地方使用malloc,如果我可以继续使用malloc,那会更简单。

我正在使用图书馆" newLib"。

1 个答案:

答案 0 :(得分:2)

ISO规范状态malloc()始终返回一个内存地址,该地址适用于指向符合指定大小的任何对象的指针。实际上,这通常意味着它应该在8字节边界上对齐。

如果不是,那么这是一个不符合要求的实现,应该打屁股。

话虽如此,如果newLib不符合要求,我会真的,真的,真的,感到惊讶。