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

 
 
> Ограничение на объём обработчика прерывания ?
Andy_F
сообщение Apr 11 2007, 11:02
Сообщение #1


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

Группа: Свой
Сообщений: 109
Регистрация: 27-07-06
Из: С.-Петербург
Пользователь №: 19 148



ATmega32, IAR 4.12A и 4.21A (картина идентична). Модель памяти - small, RSTACK и CSTACK довольно большие и на ситуацию не влияют.

Обработчик прерывания по таймеру получился достаточно длинным. При дописывании очередного фрагмента к обработчику, в основной программе начинаются глюки. Исследования показали, что возникновение глюков не связано с тем, что именно дописываешь, работа нарушается при превышении некоего "объёма".

Как диагностировать происходящее, и как исправить ситуацию ?
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_artem_
сообщение Apr 11 2007, 12:56
Сообщение #2


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



В обшем смысле , какого либо лимита на длину обработчика прерываний нет. Ограничения вытекают из специфики задачи частоты прерываний и т.д.
Глюк так же может быть связан с обрашением к памяти которую использует основная программа . В таких случаях делают атомарный доступ типа запретить прерывания, обратиться к памяти, разрешить прерывания а в случае с РТОС и другие механизмы .

К сказанному Сергеем можно добавить второй индикатор который устанавливается в самой программе и дергает другую ножку . Меняя его место в основной программе и смотря двухканальным осциллографом можно локализовать проблемный код .


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 02:08
Рейтинг@Mail.ru


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