Easyelectronics.ru

Электроника для всех
Текущее время: 29 сен 2020, 03:32

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Куча. Можно ли обойтись без?
СообщениеДобавлено: 21 апр 2016, 18:47 
Только пришел

Зарегистрирован: 10 ноя 2014, 01:43
Сообщения: 5
Здравствуйте! Я пишу код на С под stm32. В STM32F427ZITx_FLASH.ld файле увидел выделение RAM памяти под кучу. Если я не использую динамическое выделение памяти могу ли я выделить под кучу 0 байт. Или она используется для чего-то кроме этого?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Куча. Можно ли обойтись без?
СообщениеДобавлено: 21 апр 2016, 18:50 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6957
Код:
Heap_Size       EQU     0x10;0x00000200 ; кому-то сдался этот HEAP?????


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Куча. Можно ли обойтись без?
СообщениеДобавлено: 21 апр 2016, 18:54 
Только пришел

Зарегистрирован: 10 ноя 2014, 01:43
Сообщения: 5
u37 писал(а):
Код:
кому-то сдался этот HEAP?????

Т.е. можно не использовать?
/* Generate a link error if heap and stack don't fit into RAM */
_Min_Heap_Size = 0x200; /* required amount of heap */

заменить на
_Min_Heap_Size = 0x00;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Куча. Можно ли обойтись без?
СообщениеДобавлено: 21 апр 2016, 18:59 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6957
Это стандартная строка из всех моих проектов STM32F0/1. Кучу не использую.
файл startup_stm32f***.s
Нулевой размер кучи рекомендовано не ставить, причину не помню.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Куча. Можно ли обойтись без?
СообщениеДобавлено: 21 апр 2016, 19:04 
Заглядывает иногда

Зарегистрирован: 20 июн 2012, 12:56
Сообщения: 61
без динам. выделения памяти во всех проектах стоит 0, проблем из-за этого не замечено.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Куча. Можно ли обойтись без?
СообщениеДобавлено: 21 апр 2016, 19:25 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3995
если не используются никакие библиотеки, можно без кучи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Куча. Можно ли обойтись без?
СообщениеДобавлено: 22 апр 2016, 14:40 
Только пришел

Зарегистрирован: 10 ноя 2014, 01:43
Сообщения: 5
Ink писал(а):
если не используются никакие библиотеки, можно без кучи.


Ink, вы имеете ввиду библиотеки которые динамически выделяют память?
ПС, использую STM32Cube_FW_F4_V1.8.0, но это не в счёт, так?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Куча. Можно ли обойтись без?
СообщениеДобавлено: 22 апр 2016, 14:54 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3995
SergeyVslnko писал(а):
вы имеете ввиду библиотеки которые динамически выделяют память?
да. только как знать, какие выделяют, а какие нет? только либо их изучать, либо не использовать вообще.
SergeyVslnko писал(а):
использую STM32Cube_FW_F4_V1.8.0, но это не в счёт, так?
не знаю...

я думаю, если из проекта вообще выкинуть всё связанное с кучей (секцию, идентификаторы, определяющие размер), то если кто-то захочет её заюзать - проект просто не соберется. если собрался без ошибок - никто кучу не хочет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Куча. Можно ли обойтись без?
СообщениеДобавлено: 26 апр 2016, 10:08 
Старожил
Аватара пользователя

Зарегистрирован: 24 июл 2012, 13:54
Сообщения: 856
А смысл уменьшать кучу, если куча формируется по остаточному принципу?

P.S. Вообще меня всегда удивлял отказ от использования heap. Это даёт профит, когда вы можете полностью просчитать потребную память под все структуры. Но по достижению определённой сложности это становится невозможным.

Для малых программ потери на кучу не критичны. Для больших же экономит память. Лучше кучи может быть, наверное, только slab-подобное выделение памяти.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB