Перейти к содержанию
    

Конфликт прерываний UART и SPI BF561

Написал и отладил работу по SPI и UART для BF561 отдельно по каждой периферии. Попробовал вместе - не работает. Работает или одна или вторая периферия в зависимости от порядка инициализации.

В начале отключил ядро А и начал проверять на какой вектор можно посадить прерывание SPI. Для этого написал макросы типа такого:

Quote

#define    SPI_IRQ_ENABLE()  *pSICB_IMASK0 |= SIC_MASK(27)
#define    SPI_IRQ_DISABLE() *pSICB_IMASK0 &= ~SIC_MASK(27); *pILAT |= EVT_IVG14;
#define    SPI_IRQ_CONFIG(x) {register_handler(ik_ivg14, x);  *pILAT |= EVT_IVG14; *pSICB_IAR3 = Peripheral_IVG(27,14);}

Работают вектора EVT_IVG10, 11, 12, 14.  Не работате 15-ый, а 13 у меня под watchdog. Для UART пробовал 8 и 10 вектора.

До этого ПО работало только с прерываниями по PPI и SPORT которые расположены по умолчанию на EVT_IVG8 и EVT_IVG9.

В документации не нашел что регистры SICB_IMASK0 и pSICB_IAR3 доступны только в режиме супервизора.

Неработоспособность проявляется в отсутсвии хотя-бы одного вызова прерывания.

Дополнение

Прочитал документацию, стало понятно, что процессор находится в режиме супервизора. Вызов прерывания 15 рекомендуемым методом перехода на пользовательскую программу. При старте программы IPEND как раз показывает что прерывание 15 отложено.

То есть ничего не мешает программированию любых регистров, а прерывания конфликтуют.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Работали одновременно уарт, спорт х2, ппи х2 по прерываниям лет 15 назад. На двух ядрах. Разбирайтесь... 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...