|
FreeRTOS Heap_x.c |
|
|
|
Oct 7 2008, 07:36
|

Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
Oct 7 2008, 07:54
|

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

|
Цитата(zltigo @ Oct 7 2008, 13:36)  Делал свою реализацию именно по причине реализации объединения свободных блоков, алгоритма поиска наиболее подходящего, получения списка как занятых, так и свободных, добавления маркера владельца блока, организации поддержки вложеных менеджеров и сегментированного Heap. Ого! Значительные навороты! ! ! Можно у Вас попросить поделиться результатами Ваших трудов? Был бы очень благодарен! Или хотябы подсказать в каком направлении двигаться. Цитата(zltigo @ Oct 7 2008, 13:36)  К делу не относится, но еще были объединены блоки памяти под TCB и Stack. Мне кажется, что относится  Т.е. это что-то типа не запутывать себя и не следить за каждой из областей, а сразу за двумя? Цитата(zltigo @ Oct 7 2008, 13:36)  Если посмотрите, то это просто обертка. Проблема в том, "стандартного Сишного" в природе не существует - только некие "коты в мешке" с непонятной функциональностью. Нет смысла использовать. Понял. Т.е. есть смысл найти открытый нормально написанный или попыхтеть "немножко" и написать своё
|
|
|
|
|
Oct 7 2008, 08:08
|

Местный
  
Группа: Свой
Сообщений: 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. Испанская разработка. Компактная и быстрая. Спасибо за ссылку! ! ! Т.е. вы её как я понял используйте? Если используйте, то нет ли каких-нибудь багов или малопреятных мелочей?  Version 2.4.3 тестили?
Сообщение отредактировал FormatCft - Oct 7 2008, 08:09
|
|
|
|
|
Oct 7 2008, 08:26
|

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

|
Цитата(FormatCft @ Oct 7 2008, 09:54)  Можно у Вас попросить поделиться результатами Ваших трудов? Был бы очень благодарен! Я подумаю. Основная проблема не в "секретности" а некоторой заточенности под несколько отличающееся от стандартного окружение и желательную чистку и комментирование перед раздачей  Цитата Мне кажется, что относится  Т.е. это что-то типа не запутывать себя и не следить за каждой из областей, а сразу за двумя? Нет, прежде всего прямое сокращение TCB на указатель и косвенное на один MCB. Цитата Понял. Т.е. есть смысл найти открытый нормально написанный или попыхтеть "немножко" и написать своё  Да, так. Цитата(sergeeff @ Oct 7 2008, 09:55)  Компактная и быстрая. Ну несколько монументальна  . Но в качестве объекта для изучения безусловно годится.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Oct 7 2008, 08:38
|

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

|
Цитата(zltigo @ Oct 7 2008, 14:26)  Я подумаю. Основная проблема не в "секретности" а некоторой заточенности под несколько отличающееся от стандартного окружение и желательную чистку и комментирование перед раздачей  Спасибо! Буду с нетерпением ждать  Цитата(zltigo @ Oct 7 2008, 14:26)  Нет, прежде всего прямое сокращение TCB на указатель и косвенное на один MCB. Ясно. Небольшая экономия места. Цитата(zltigo @ Oct 7 2008, 14:26)  Ну несколько монументальна  . Но в качестве объекта для изучения безусловно годится. Т.е. я так понял, что для МК-го применения не подходит из-за того, что слишком много времени кушает?
|
|
|
|
|
Oct 7 2008, 10:31
|

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

|
Цитата(FormatCft @ Oct 7 2008, 10:38)  Т.е. я так понял, что для МК-го применения не подходит из-за того, что слишком много времени кушает? Подходит. Время дело второе. Просто излишества есть, типа сервисных наворотов, realloc(),....
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Oct 7 2008, 13:45
|

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

|
Цитата(zltigo @ Oct 7 2008, 16:31)  Подходит. Время дело второе. Просто излишества есть, типа сервисных наворотов, realloc(),.... Понял. Сейчас только жду вашей версии!  Цитата(Terminator @ Oct 7 2008, 16:58)  Запустил в своём проекте heap_3 arm-elf-gcc + newlib небольшие правки syscalls.c, вообщем получилось как костыль. Пока работает. Спасибо! Костыли мне еще рано )) Я думаю, что буду использовать что-то из 2х предложенных вариантов (скорее всего вариант ЗлтИго)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|