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

 
 
> Динамическое выделение памяти во внешней RAM))
Taran87
сообщение Apr 30 2012, 11:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 12-05-09
Пользователь №: 48 986



Всем Форумчаном добрый день. Есть АРМ контроллер LPC2478 и внешняя DRAM 32 мбайт памяти, работаю в среде IAR. Столкнулся с проблемой выделением памяти под данные во внешней RAM стандартными C функциями malloc() и т.п.? Конечно в IARе существует возможность работы только с внешней RAM, но отказываться от внутренней не хочется. Существуют ли возможности совмещать два диапазона адресации (тоесть когда необходимо один диапазон адресного пространство, затем другой)) ?.. За ранее благодарен.. smile3046.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
borman11
сообщение May 1 2012, 17:16
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 16-03-06
Из: Москва
Пользователь №: 15 298



Я использую самописный менеджер памяти. Статей по его реализации в инете полно. К тому же, его можно заточить под тип задач, которые используются в данном проекте. Можно гибко сконфигурировать используемую память. Можно добавить модуль статистики использования памяти: максимальное/текущее использование памяти, фрагментация, ... Это очень удобно при отладке.
Go to the top of the page
 
+Quote Post
jcxz
сообщение May 2 2012, 02:59
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



По-моему: для устройств, работающих годами не выключаясь и не перегружаясь, кучу, в обычном понимании слова (хоть самописную хоть стандартную) лучше не использовать.
Из-за фрагментации.
Ну разве что в очень простых программах.
Если нужно динамическое выделение памяти, то лучше использовать "кучу" на основе блоков фиксированного размера.
При необходимости можно огранизовать несколько таких куч с разными размерами блоков.
Это позволит избежать фрагментации. Но конечно не спасёт от утечек памяти, вследствие багов в ПО.
Go to the top of the page
 
+Quote Post



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

 


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


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