Программирование ARM: решение проблем, FAQ IAR EW ARM: почему не работает malloc Fri, March 29 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

IAR EW ARM: почему не работает malloc Печать
Добавил(а) microsin   

Если не задать размер области памяти для кучи (heap), то будет считаться, что в проекте вся память под данные (переменные, массивы) выделяется статически. При этом динамическое выделение блоков памяти с помощью malloc работать не будет (malloc всегда будет возвращать NULL).

Чтобы исправить ситуацию, нужно задать размер кучи. Это делается через свойства проекта. Заходим в меню Project -> Options... -> Linker -> закладка Config -> в Linker configuration file ставим галочку "Override default", указываем имя конфигурационного файла для линкера, жмем кнопку Edit..., на закладке Vector Table параметр .ntvec start указываем 0, на закладке Stack/Heap Sizes указываем нужные параметры стеков и размер HEAP.

 

Добавить комментарий


Защитный код
Обновить

Top of Page