Размер кучи равен нулю, потому что ничего не было добавлено в кучу.Это видно по тому, что количество областей памяти (mm_nregions) также равно нулю.
Области памяти добавляются в кучу с помощью mm_addregion () в mm_initialize ();Там гарантированно будет вызван хотя бы один раз, чтобы добавить хотя бы одну область памяти.Если количество областей памяти равно нулю, эта функция по какой-то причине не сработала.
Единственный способ, с помощью которого функция может потерпеть неудачу - это передать неверные параметры.Передача параметров основана на той реализации, которую обеспечивает реализация up_allocateheap (), которую вы используете.
Итак, вам нужно взглянуть на up_allocateheap (), чтобы понять, что передается.Возможно, поставьте точку останова mm_addregion (), чтобы увидеть, чем именно он недоволен.