Jump to content
    

Конфликт прерываний 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 отложено.

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...