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

 
 
> new и delete в IAR (ARM)
0x435641
сообщение Mar 19 2013, 05:24
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 26-07-12
Пользователь №: 72 908



столкнулся со странными вылетаниями программы в swi_handler и data_handler
в проекте активно используется динамическая память, Ethernet, USB
долгими мучительными копаниями удалось найти причину - параллельное выполнение сабжевых операторов, которые используются как в основном цикле, так и в прерываниях

на данный момент решил вопрос отключением прерываний, если new и delete вызываются вне прерывания

в нете не нашел инфы по спицифике использования этих операторов в IAR

если кто-то обладает знаниями - просьба поделиться
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Непомнящий Евген...
сообщение Mar 19 2013, 06:56
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Насчет iar - не знаю, gcc - newlib под bare metal содержит нереентерабельные malloc/free (на которых основаны new/delete)

У тебя вероятно то же самое.

Как вариант, можешь переопределить глобальные new и delete (как обычные, так и для массивов) и лочить прерывания перед вызовом malloc/free.

Возможно, в iar есть готовые заглушки, переопределив которые можно добиться реентерабельности
Go to the top of the page
 
+Quote Post
0x435641
сообщение Mar 19 2013, 07:15
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 26-07-12
Пользователь №: 72 908



Цитата(Непомнящий Евгений @ Mar 19 2013, 13:56) *
Насчет iar - не знаю, gcc - newlib под bare metal содержит нереентерабельные malloc/free (на которых основаны new/delete)

У тебя вероятно то же самое.

Как вариант, можешь переопределить глобальные new и delete (как обычные, так и для массивов) и лочить прерывания перед вызовом malloc/free.

Возможно, в iar есть готовые заглушки, переопределив которые можно добиться реентерабельности


это вероятные догадки... хотелось бы документального подтверждения
Go to the top of the page
 
+Quote Post



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

 


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


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