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

 
 
> Работа с кучей
athlon64
сообщение Mar 12 2012, 10:26
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 156
Регистрация: 10-03-10
Из: Уфа
Пользователь №: 55 882



Процессор AT91sam7x512, IAR 6.30
В проекте использую динамическую память. Пробовал использовать библиотечные функции (malloc, free) и менеджер памяти BGET.
Суть проблемы в том, что контроллер периодически (~раз в час уходит в Abort Handler). Адрес в регистре LR указывает на инструкции, выполняющие строку
Код
b->bh.bsize += bn->bh.bsize;
библиотеки BGET (процедура brel).
По состоянию переменных также понятно, что затык происходит при попытке освободить память (указатель, передающийся процедуре brel корректный, по нему лежат данные верного куска памяти).
Куда копать?


--------------------
Руслан
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
microsin
сообщение Mar 21 2012, 03:52
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 27-11-08
Пользователь №: 41 999



Читаю пост и за голову хватаюсь. Калёки/малёки в обработчике прерывания? Запрет прерываний? До чего только не додумается воспаленный разум программиста... RabidRabbit хороший совет дал - кольцевой буфер спасёт великого комбинатора.

Работа с кольцевым буфером.
Go to the top of the page
 
+Quote Post
athlon64
сообщение Mar 21 2012, 08:24
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 156
Регистрация: 10-03-10
Из: Уфа
Пользователь №: 55 882



Цитата(microsin @ Mar 21 2012, 09:52) *
Читаю пост и за голову хватаюсь. Калёки/малёки в обработчике прерывания? Запрет прерываний? До чего только не додумается воспаленный разум программиста... RabidRabbit хороший совет дал - кольцевой буфер спасёт великого комбинатора.

Работа с кольцевым буфером.

К сожалению простым кольцевым буфером в данном проекте не обойтись, куча используется ещё кучей процедур.
ARM в режиме SYSTEM, asm вставки вроде дали положительный эффект, точно будет известно после тестирования.


--------------------
Руслан
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 26th June 2025 - 06:49
Рейтинг@Mail.ru


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