реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> FreeRTOS Heap_x.c
FormatCft
сообщение Oct 7 2008, 07:08
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 331
Регистрация: 22-07-08
Из: Р О С С И Я
Пользователь №: 39 145



Доброго времени суток!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Есть ли у кого своя реализация Heap_x.c? А то, что то не хочется использовать реализации которые есть (то без чистки памяти, то без объединения свободных блоков).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2. Еще вопрос по heap_3.c. Этот хип использует стандартный Си-шный хип или просто есть возможность его использовать?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 7 2008, 07:36
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(FormatCft @ Oct 7 2008, 09:08) *
Есть ли у кого своя реализация Heap_x.c?

Делал свою реализацию именно по причине реализации объединения свободных блоков, алгоритма поиска наиболее подходящего, получения списка как занятых, так и свободных, добавления маркера владельца блока, организации поддержки вложеных менеджеров и сегментированного Heap. К делу не относится, но еще были объединены блоки памяти под TCB и Stack.
Цитата
Еще вопрос по heap_3.c. Этот хип использует стандартный Си-шный хип или просто есть возможность его использовать?

Если посмотрите, то это просто обертка. Проблема в том, "стандартного Сишного" в природе не существует - только некие "коты в мешке" с непонятной функциональностью. Нет смысла использовать.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
FormatCft
сообщение Oct 7 2008, 07:54
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 331
Регистрация: 22-07-08
Из: Р О С С И Я
Пользователь №: 39 145



Цитата(zltigo @ Oct 7 2008, 13:36) *
Делал свою реализацию именно по причине реализации объединения свободных блоков, алгоритма поиска наиболее подходящего, получения списка как занятых, так и свободных, добавления маркера владельца блока, организации поддержки вложеных менеджеров и сегментированного Heap.

Ого! Значительные навороты! ! !
Можно у Вас попросить поделиться результатами Ваших трудов? Был бы очень благодарен!
Или хотябы подсказать в каком направлении двигаться.

Цитата(zltigo @ Oct 7 2008, 13:36) *
К делу не относится, но еще были объединены блоки памяти под TCB и Stack.

Мне кажется, что относится smile.gif Т.е. это что-то типа не запутывать себя и не следить за каждой из областей, а сразу за двумя?

Цитата(zltigo @ Oct 7 2008, 13:36) *
Если посмотрите, то это просто обертка. Проблема в том, "стандартного Сишного" в природе не существует - только некие "коты в мешке" с непонятной функциональностью. Нет смысла использовать.

Понял. Т.е. есть смысл найти открытый нормально написанный или попыхтеть "немножко" и написать своё smile.gif
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Oct 7 2008, 07:55
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



В этом плане можно воспользоваться TLSF: Memory Allocator for Real-Time - http://rtportal.upv.es/rtmalloc/node/8. Испанская разработка. Компактная и быстрая.
Go to the top of the page
 
+Quote Post
FormatCft
сообщение Oct 7 2008, 08:08
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 331
Регистрация: 22-07-08
Из: Р О С С И Я
Пользователь №: 39 145



Цитата(sergeeff @ Oct 7 2008, 13:55) *
В этом плане можно воспользоваться TLSF: Memory Allocator for Real-Time - http://rtportal.upv.es/rtmalloc/node/8. Испанская разработка. Компактная и быстрая.

Спасибо за ссылку! ! !
Т.е. вы её как я понял используйте? Если используйте, то нет ли каких-нибудь багов или малопреятных мелочей? smile.gif Version 2.4.3 тестили?

Сообщение отредактировал FormatCft - Oct 7 2008, 08:09
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 7 2008, 08:26
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(FormatCft @ Oct 7 2008, 09:54) *
Можно у Вас попросить поделиться результатами Ваших трудов? Был бы очень благодарен!

Я подумаю. Основная проблема не в "секретности" а некоторой заточенности под несколько отличающееся от стандартного окружение и желательную чистку и комментирование перед раздачей smile.gif
Цитата
Мне кажется, что относится smile.gif Т.е. это что-то типа не запутывать себя и не следить за каждой из областей, а сразу за двумя?

Нет, прежде всего прямое сокращение TCB на указатель и косвенное на один MCB.
Цитата
Понял. Т.е. есть смысл найти открытый нормально написанный или попыхтеть "немножко" и написать своё smile.gif

Да, так.


Цитата(sergeeff @ Oct 7 2008, 09:55) *
Компактная и быстрая.

Ну несколько монументальна smile.gif. Но в качестве объекта для изучения безусловно годится.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
FormatCft
сообщение Oct 7 2008, 08:38
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 331
Регистрация: 22-07-08
Из: Р О С С И Я
Пользователь №: 39 145



Цитата(zltigo @ Oct 7 2008, 14:26) *
Я подумаю. Основная проблема не в "секретности" а некоторой заточенности под несколько отличающееся от стандартного окружение и желательную чистку и комментирование перед раздачей smile.gif

Спасибо! Буду с нетерпением ждать smile.gif

Цитата(zltigo @ Oct 7 2008, 14:26) *
Нет, прежде всего прямое сокращение TCB на указатель и косвенное на один MCB.

Ясно. Небольшая экономия места.

Цитата(zltigo @ Oct 7 2008, 14:26) *
Ну несколько монументальна smile.gif. Но в качестве объекта для изучения безусловно годится.

Т.е. я так понял, что для МК-го применения не подходит из-за того, что слишком много времени кушает?
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Oct 7 2008, 10:18
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(FormatCft @ Oct 7 2008, 12:08) *
Спасибо за ссылку! ! !
Т.е. вы её как я понял используйте? Если используйте, то нет ли каких-нибудь багов или малопреятных мелочей? smile.gif Version 2.4.3 тестили?


Тестировал 2.4.2. Включил в свой проект и погонял свое устройство день. Все работало, как и с прежним аллокатором BGET (тоже известная вещь), т.е. никаких проблем замечено не было.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 7 2008, 10:31
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(FormatCft @ Oct 7 2008, 10:38) *
Т.е. я так понял, что для МК-го применения не подходит из-за того, что слишком много времени кушает?

Подходит. Время дело второе. Просто излишества есть, типа сервисных наворотов, realloc(),....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Terminator
сообщение Oct 7 2008, 10:58
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 7-12-04
Из: Томск
Пользователь №: 1 382



Запустил в своём проекте heap_3
arm-elf-gcc + newlib небольшие правки syscalls.c, вообщем получилось как костыль. Пока работает.
Go to the top of the page
 
+Quote Post
FormatCft
сообщение Oct 7 2008, 13:45
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 331
Регистрация: 22-07-08
Из: Р О С С И Я
Пользователь №: 39 145



Цитата(zltigo @ Oct 7 2008, 16:31) *
Подходит. Время дело второе. Просто излишества есть, типа сервисных наворотов, realloc(),....

Понял. Сейчас только жду вашей версии! smile.gif

Цитата(Terminator @ Oct 7 2008, 16:58) *
Запустил в своём проекте heap_3
arm-elf-gcc + newlib небольшие правки syscalls.c, вообщем получилось как костыль. Пока работает.

Спасибо! Костыли мне еще рано )) Я думаю, что буду использовать что-то из 2х предложенных вариантов (скорее всего вариант ЗлтИго) smile.gif
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Oct 7 2008, 15:31
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



To zltigo:

А в чем уважаемый гуру вы усмотрели "монументальность" TLSF аллокатора? По моему ничего особо навороченного там нет, а блоки выделяются достаточно шустро, и довольно изящно частично решена задача дефрагментации освобождаемой памяти. Да и с самого начала разрабатывалась для embedded применений.
Я не агент команды, написавшей TLSF, просто интересно уяснить для себя про монументальность.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 7 2008, 15:46
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(sergeeff @ Oct 7 2008, 17:31) *
А в чем уважаемый гуру вы усмотрели "монументальность" TLSF аллокатора? По моему ничего особо навороченного там нет...

Ничего особо, естественно, нет, но некоторые излишества универсальности присутствуют.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
FormatCft
сообщение Oct 7 2008, 16:12
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 331
Регистрация: 22-07-08
Из: Р О С С И Я
Пользователь №: 39 145



опсотв ))

Сообщение отредактировал FormatCft - Oct 7 2008, 16:20
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Oct 7 2008, 16:46
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(zltigo @ Oct 7 2008, 19:46) *
Ничего особо, естественно, нет, но некоторые излишества универсальности присутствуют.


Сразу пришла на ум легендарная фразы Вицина из "Кавказской пленницы" : "И излишества всякие, нехорошие ..."
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 6th July 2025 - 05:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01524 секунд с 7
ELECTRONIX ©2004-2016