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

 
 
> SAM7S64, работа после аппаратного сброса
Karl
сообщение Mar 28 2007, 10:48
Сообщение #1


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

Группа: Свой
Сообщений: 179
Регистрация: 4-02-05
Пользователь №: 2 429



Контроллер SAM7S64. После подачи питания работает нормально. После аппаратного сброса исчезают прерывания. При этом все, что с прерываниями не связано, работает в штатном режиме. При отладке через МТ-линк прерывания тоже не работали. Но я думал, что это связано с работой в режиме отладки... Что посоветуете?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Mar 28 2007, 12:40
Сообщение #2


Гуру
******

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



Цитата(Karl @ Mar 28 2007, 09:48) *
Что посоветуете?
Вставить после инициализации контроллера прерываний
Код
    AT91C_BASE_AIC->AIC_EOICR = 0;                    // Reset AIC logic


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Karl
сообщение Mar 28 2007, 14:03
Сообщение #3


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

Группа: Свой
Сообщений: 179
Регистрация: 4-02-05
Пользователь №: 2 429



Цитата(Сергей Борщ @ Mar 28 2007, 15:40) *
Вставить после инициализации контроллера прерываний
Код
    AT91C_BASE_AIC->AIC_EOICR = 0;                    // Reset AIC logic


Эта строчка присутствует - не помогает sad.gif Может с инициализацией контроллера прерываний что-то не то? У меня нет выделенной отдельным модулем инициализации контроллера прерываний. При инициализации периферии, требующей работы мс прерываниями, настраиваю контроллер прерываний. Например, при инициализации SPI:
AT91F_AIC_ConfigureIt ( AT91C_BASE_AIC, AT91C_ID_SPI, 2,AT91C_AIC_SRCTYPE_INT_POSITIVE_EDGE, SPI_c_irq_handler);

AT91F_AIC_EnableIt (AT91C_BASE_AIC, AT91C_ID_SPI);

Примерно таким же образом включены прерывания от таймера реального времени.
Что-то еще для иниуиализации требуется?


А сам вывод RESET надо как-то конфигурировать?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 28 2007, 15:53
Сообщение #4


Гуру
******

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



Цитата(Karl @ Mar 28 2007, 13:03) *
А сам вывод RESET надо как-то конфигурировать?
Вообще-то да.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Karl
сообщение Mar 29 2007, 07:18
Сообщение #5


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

Группа: Свой
Сообщений: 179
Регистрация: 4-02-05
Пользователь №: 2 429



С выводом RESET разобрался - он был сконфигурирован правильно. Но после ресета контроллер работает по-прежнему некорректно. Что еше может быть? И еще про JTAG: если стереть флэшь контроллера, то после этого Jtag работает с прерываниями нормально. Если же начать отладку поверх записанной программы - прерывания при отладке не работают.
Go to the top of the page
 
+Quote Post



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

 


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


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