|
FreeRTOS Heap_x.c |
|
|
|
 |
Ответов
|
Jul 17 2013, 06:29
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 14-07-08
Пользователь №: 38 916

|
Вот это и было одной из причин использовать собственный аллокатор. На моей плате хеапы из дистрибутива FReeRTOS увеличивали размер кучи после просмотра двух-трех страниц lwipa и чтения пары килобайт из конфигурационных файлов. Оказалось что они почти не следят за освободившимися блоками, не умеют их объединять. Системный malloc приводил к таким же результатам - ему требовался большой стек.
|
|
|
|
|
Dec 4 2014, 13:13
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 23-01-12
Пользователь №: 69 823

|
Добрый день, коллеги! Хочется более точно понять как и откуда выделяется память во FreeRTOS и особенности функционирования отдельных выделяльщиков. Проект в IARe, в конфигурации линковщика есть параметр "heap". Так ли я понимаю, что при использовании heap_1.c, heap_2.c, heap_4.c для оси выделяется динамическая память размером "configTOTAL_HEAP_SIZE".
Вопрос 1. Откуда она выделяется? Т.е. "configTOTAL_HEAP_SIZE" это часть "heap" или "configTOTAL_HEAP_SIZE" - это память, забираемая плюсом к "heap"? Т.е. сколько мне остается на переменные проекта :-)
Вопрос 2. Для heap_3.c размер кучи - это "heap" линковщика?
Вопрос 3. В последних версиях FreeRTOS heap_4.c (heap_5.c) имеет все равно проблемы с фрагментацией?
Вопрос 4. Если память выделяется динамически на этапе старта - инита оси, стеков и пр., а в дальнейшем изменения задач, мутексов и динамически выделяемых данных не предвидится, то есть ли смысл париться альтернативным кодом аллокаторов?
|
|
|
|
Сообщений в этой теме
FormatCft FreeRTOS Heap_x.c Oct 7 2008, 07:08 zltigo Цитата(FormatCft @ Oct 7 2008, 09:08) Ест... Oct 7 2008, 07:36 FormatCft Цитата(zltigo @ Oct 7 2008, 13:36) Делал ... Oct 7 2008, 07:54  zltigo Цитата(FormatCft @ Oct 7 2008, 09:54) Мож... Oct 7 2008, 08:26   FormatCft Цитата(zltigo @ Oct 7 2008, 14:26) Я поду... Oct 7 2008, 08:38    zltigo Цитата(FormatCft @ Oct 7 2008, 10:38) Т.е... Oct 7 2008, 10:31     FormatCft Цитата(zltigo @ Oct 7 2008, 16:31) Подход... Oct 7 2008, 13:45 sergeeff В этом плане можно воспользоваться TLSF: Memory Al... Oct 7 2008, 07:55 FormatCft Цитата(sergeeff @ Oct 7 2008, 13:55) В эт... Oct 7 2008, 08:08  sergeeff Цитата(FormatCft @ Oct 7 2008, 12:08) Спа... Oct 7 2008, 10:18   FormatCft Цитата(sergeeff @ Oct 7 2008, 16:18) Тест... Oct 17 2008, 19:14 Terminator Запустил в своём проекте heap_3
arm-elf-gcc + newl... Oct 7 2008, 10:58 sergeeff To zltigo:
А в чем уважаемый гуру вы усмотрели ... Oct 7 2008, 15:31 zltigo Цитата(sergeeff @ Oct 7 2008, 17:31) А в ... Oct 7 2008, 15:46  sergeeff Цитата(zltigo @ Oct 7 2008, 19:46) Ничего... Oct 7 2008, 16:46   zltigo Цитата(sergeeff @ Oct 7 2008, 18:46) И из... Oct 17 2008, 21:29 FormatCft опсотв )) Oct 7 2008, 16:12 zltigo Оптимально-простой в соответствии с ранее изложенн... Oct 18 2008, 19:47 FormatCft Спасибо! ! ! Щас будем прикручивать Oct 18 2008, 20:04 Terminator Прикрутил к FreeRTOS TLSF
~3kB RAM уходит на табли... Nov 12 2008, 04:26 zltigo Сергей Борщ нашел потенциально суровый баг при осв... Apr 17 2010, 13:06 Alex B._ Первый выделенный блок не освобождается. Наверное ... Apr 22 2010, 11:05  zltigo Цитата(Alex B._ @ Apr 22 2010, 13:20) Пер... Apr 22 2010, 11:10   Alex B._ Цитата(zltigo @ Apr 22 2010, 15:25) Типа ... Apr 22 2010, 11:16 Dron_Gus Спасибо за исходники. Пошел подтачивать под ansi. Apr 21 2010, 07:41 wave48 Исходники аллокатора от zltigo оказались очень пол... Jul 15 2013, 07:06 esaulenka Раз уж подняли тему.
Модулей диагностики (хотя б п... Jul 16 2013, 19:38  Непомнящий Евгений Цитата(MiG-3 @ Dec 4 2014, 17:13) Та... Dec 8 2014, 13:11   MiG-3 Спасибо за ответ!
Цитата(Непомнящий Евгений ... Dec 10 2014, 10:29    Непомнящий Евгений Цитата(MiG-3 @ Dec 10 2014, 13:29) Д... Dec 15 2014, 09:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|