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

 
 
> знатокам связки арм7 и укоса
IV_K
сообщение Nov 24 2006, 15:31
Сообщение #1


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

Группа: Свой
Сообщений: 121
Регистрация: 17-06-05
Пользователь №: 6 087



проц tms470. подозреваю, что на других армах тоже есть вероятность сего глюка..
вобщем эпопея началась с того, что проц иногда падал в исключение причем с разными временными интервалами от 10мин. до часа..
установками бряков на критичные участки кода выяснил, что попадает в прерывание с регистром смещения для вектора = 0, что в принципе быть не должно.. но это еще пол-беды.
при выходе из прерывание падает в тумб!! ну и есс-но попадает в исключение.. весь проект в арм режиме..
вобщем стал ковырять возврат из прерывания.. стек при выходе оказался смещен на 4 байта! непонятно почему..
методом научного тыка проблему конечно устранил..
системный таймер был на fiq, переключил на irq. глюк исчез..
но непонятна причина явления..
шестым чуством чую, то где-то есть наложение fiq на irq, но доказать не могу.. в укосе же в прерываниях в cpsr они ЗАПРЕЩЕНЫ!! или я не прав? у меня в проге нигде внутри прерываний не разрешаются.. переменная IntNesting не превышает 1.. смотрел во всех критичных местах..
один раз было вобще непонятно что.. отладчиком попадаю как раз в то прерывание, после которого падает в тумб.. НО все сработало нормально !! что-то там щелкнуло (виртуально) и выпал в идл таск.. после этого проц простоял несколько часов, пока я ему прогу не перешил.. надоело ждать..

кто что присоветует? не дайте дураком помереть! у меня с tms470 уже личные счеты.. =))

PS стеки задач не переполняются, стеки irq fiq не переполняются.. проверено.. никакие переменные в стеки задач тож не лезут..
Go to the top of the page
 
+Quote Post



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

 


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


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