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

 
 
> TC0 vs UDP. ARM7S, Не хотят работать одновременно.
KAlex
сообщение Mar 30 2008, 11:24
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Что за хрень? Почему, если работает таймер, может сбоить UDP.
За одну минуту шлю в PC гдето около 30 000 пакетов по 64 байта(или меньше, неважно).
Таймер выдает прерывания - 50 герц. Как показала статистика, в среднем, в течение двух-трех минут проц вылетает в undefvec, swivec, dabtvec и тд. короче RAMEND?!?!?!
Приоритет у UDP выше.
Объясните.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SpiritDance
сообщение Mar 31 2008, 08:27
Сообщение #2


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Скоре всего причина в обработчиках прерываний. Сами переферийные модули здесь не причем.


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
KAlex
сообщение Mar 31 2008, 09:02
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Цитата(SpiritDance @ Mar 31 2008, 11:27) *
Скоре всего причина в обработчиках прерываний. Сами переферийные модули здесь не причем.

Оставил только
Код
void timer0_irq_handler(void){
  dummy = AT91C_BASE_TC0 -> TC_SR;
  dummy = dummy;
  AT91C_BASE_AIC -> AIC_EOICR = AT91C_ID_TC0;
}

Не помогает.


Цитата(aaarrr @ Mar 31 2008, 11:34) *
Ошибки в UDP модуле отрабатываются (прием с левой длиной и т.п.)?

Все учтено.

Цитата(aaarrr @ Mar 31 2008, 11:34) *
Стеков точно хватает?

Стек обработчика прерываний?
А вот это интересно.

Цитата(aaarrr @ Mar 31 2008, 11:34) *
Стеков точно хватает?

Скорее всего вот ОНО.
Если обрабатывается прерывание с высшем приоритетом, а в этот момент приходит более восьми запросов на прерывание от другого(одного и того же) источника. Что будет? В даташите как то скупо написано.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 31 2008, 09:50
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(KAlex @ Mar 31 2008, 13:02) *
Если обрабатывается прерывание с высшем приоритетом, а в этот момент приходит более восьми запросов на прерывание от другого(одного и того же) источника. Что будет? В даташите как то скупо написано.

Ничего не будет: запросы с низшим приоритетом на время обработки маскируются.

У Вас Interrupt Nesting используется? Если да, то все ли корректно в коде обработчика прерывания TC?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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