|
почему может сботь контроллер прерываний VIC? |
|
|
|
Jan 21 2009, 10:25
|

Частый гость
 
Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491

|
пишу проект под LPC2478 + FreeRTOS, столкнулся со следующей проблемой - при использовании аппаратных прерываний (VIC) при каких-то условиях происходит их полное отключение. то есть, в отладчике видно, что все нужные регистры VIC сконфигурированы, биты прерываний установлены, VicAddress показывает куда надо - но прерывания не происходят, то есть процессор тупо стоит в пустом цикле. Отследить все как следует не удается, проблемы начались, вроде бы, когда я задействовал прерывания модуля USB, но четкой связи не вижу, развязка с операционкой сделана вроде бы так же, как во всех остальных модулях. Может быть, есть какая-то стандартная ошибка, которую делают все новички, или особенность этого ядра? До этого работал с STR710, там ничего подобного не наблюдалось
|
|
|
|
|
 |
Ответов
|
Jan 21 2009, 11:28
|

Частый гость
 
Группа: Свой
Сообщений: 152
Регистрация: 11-10-05
Из: Воронеж
Пользователь №: 9 491

|
Цитата(Сергей Борщ @ Jan 21 2009, 14:20)  Это случайно происходит не после того, как вы остановившись отладчиком в теле обработчика жмете на "сброс"? В таком случае сбрасывается только ядро, а VIC так и остается с необслуженным прерыванием и запрещенными прерываниями с приоритетом равным и ниже текущего. Для ИАРа надо в .mac-файл отладчика в execUserReset() дописать запись 0 в VICVectAddr. спасибо за совет. вообще, использование отладчика это отдельная песня  как правило, после ресета программа вообще не стартует, процессор зависает и не отзывается на jtag. хотя у меня при старте выполняется в том числе и сброс VIC. а иногда возникает ощущение, что проблемы с прерываниями вообще провоцируются использованием отладчика, то есть, после пары-тройки остановов начинаются... кстати, так и должно быть, что под отладчиком программа выполняется раза в 4 медленнее и на ЖК-индикаторе странный такой дребезг?
|
|
|
|
|
Jan 21 2009, 11:36
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(sergik_vrn @ Jan 21 2009, 13:28)  кстати, так и должно быть, что под отладчиком программа выполняется раза в 4 медленнее и на ЖК-индикаторе странный такой дребезг? Дребезга быть не должно. Медленно выполняетеся, если отладчик не подерживает софтовые точки останова, а все аппаратные вы заняли и даете команду run to cursor - тогда он начинает выполнять программу покомандно. Но там замедление не в 4 раза, а сильно больше. Какой отладчик, какая среда? Цитата(sergik_vrn @ Jan 21 2009, 13:28)  хотя у меня при старте выполняется в том числе и сброс VIC. А не открыто ли у вас в отладчике при этом окно регистров VIC? Чтение VICVectAddr отладчиком для отображения приводит к тем же последствиям, что и чтение его программой - к блокировке прерываний с более низким приоритетом. Цитата(aaarrr @ Jan 21 2009, 13:29)  Тогда уж лучше не один "0" Согласен. Лишние записи не повредят.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
Сообщений в этой теме
sergik_vrn почему может сботь контроллер прерываний VIC? Jan 21 2009, 10:25 GetSmart Телепатически трудно угадать что Вы как новичёк за... Jan 21 2009, 10:29 sergik_vrn Цитата(GetSmart @ Jan 21 2009, 13:29) Тел... Jan 21 2009, 10:38  aaarrr Цитата(sergik_vrn @ Jan 21 2009, 13:38) с... Jan 21 2009, 10:45   sergik_vrn Цитата(aaarrr @ Jan 21 2009, 13:45) Возьм... Jan 21 2009, 10:46 aaarrr Проверьте, всегда ли VIC сбрасывается записью в VI... Jan 21 2009, 10:31 GetSmart Сбрасывать нужно когда между этой командой и выход... Jan 21 2009, 10:49 sergik_vrn Цитата(GetSmart @ Jan 21 2009, 13:49) Сбр... Jan 21 2009, 10:56  aaarrr Цитата(sergik_vrn @ Jan 21 2009, 13:56) а... Jan 21 2009, 11:11   sergik_vrn Цитата(Сергей Борщ @ Jan 21 2009, 14:36) ... Jan 21 2009, 11:59    Сергей Борщ Цитата(sergik_vrn @ Jan 21 2009, 13:59) а... Jan 21 2009, 12:26     sergik_vrn Цитата(Сергей Борщ @ Jan 21 2009, 15:26) ... Jan 21 2009, 13:41 aaarrr Цитата(Сергей Борщ @ Jan 21 2009, 14:20) ... Jan 21 2009, 11:29
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|