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

 
 
> В какой моде запускать main?, Вот в чем вопрос.
DpInRock
сообщение Apr 17 2009, 00:51
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Почему-то я не смог обеспечить вложенные прерывания, если запускаю процессор
в SVC mode. __nested подвешивает тогда прерывания намертво. И никаких тебе приоритетных прерываний.

Таким образом только USER or System.

А без вложенных прерываний - жизнь не мила. Символы RS232 приемника теряются.

Но где-то мелькало сообщение, что WinCE запускает программы юзера в SVC mode. (Товарищ, который об этом писал из пользовательской программы менял таблицу распределения виртуальной памяти и вообще, делал все, что хотел.)

Возможно, если вход-выход из IRQ писать отдельно и читать руками вектор прерывания, то может и можно что-то сделать? И стоит ли?
А то уж очень не хочется ломать прямую загрузку вектора из АИК. Типа, одна команда, практически.

И чем так плоха System mode?


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DpInRock
сообщение Apr 17 2009, 11:44
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Было бы нагло начинать писать программу с PDC для DBGU. Тем более, из средств отладки - только 4 светодиода на плате.
(Но попробую. По крайней мере приемник. У звука сделал большой буфер, чтобы пореже дергал (раз в 16 мс). А он больше 100 микросекунд иногда забирает. )

Просто чукче некогда было учить матчасть. А примеров от Атмела с использованием пряиого чтения из АИС не нашел. Все норовят свой обработчик вставить и руками АИС читать. А __nested меняет IRQ на SYS. А у меня по жизни майн был в SVC. Почему? Supervisor как слово красивше. А обработчики сишные так и оставались в IRQ до конца. А все примеры норовят этот IRQ поменять на что-то другое. Видимо, стек экономят. Других причин не увидилось. А мне стека не жалко.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
singlskv
сообщение Apr 17 2009, 15:25
Сообщение #3


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(DpInRock @ Apr 17 2009, 15:44) *
Было бы нагло начинать писать программу с PDC для DBGU. Тем более, из средств отладки - только 4 светодиода на плате.
(Но попробую. По крайней мере приемник. У звука сделал большой буфер, чтобы пореже дергал (раз в 16 мс). А он больше 100 микросекунд иногда забирает. )

А DBGU именно для отладки используется ?
Конечно нужно использовать PDC, правда у DBGU нет очень удобного для этого флага TIMEOUT.
Но в принципе, если речь об отладке, то прерывания DBGU вобще не нужны,
достаточно задать буфер приличной длины и опрашивать чего там напередавалось в каком-нить
переодическом прерывании(если есть) в системе.
ИМХО, это совсем не случай для вложенности прерываний...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 17 2009, 15:35
Сообщение #4


Гуру
******

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



Цитата(singlskv @ Apr 17 2009, 19:25) *
Конечно нужно использовать PDC, правда у DBGU нет очень удобного для этого флага TIMEOUT.

Да, Атмелы пожмотились почему-то на такую ерунду sad.gif
Go to the top of the page
 
+Quote Post
singlskv
сообщение Apr 17 2009, 20:00
Сообщение #5


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(aaarrr @ Apr 17 2009, 19:35) *
Да, Атмелы пожмотились почему-то на такую ерунду sad.gif
ага, у мня в проекте где много интерфейсов(то есть почти все какие есть в SAM7А3) из-за этого отдельные линии квитирования

Если автор топика не против,то задам свой вопрос почти по теме..
помница Вы упоминали о ~2 случаях использования вложенных прерываний на АРМ
очень просто интересно, я несколько раз порывался написать свои хитрые обработчики с
возможностью вложенных прерываний и так их и не написал тк каждый раз был
придуман алгоритм который будет лучше без всяких вложенных прерываний,
ну и на обработчиках IRQ я тоже не хило при этом экономлю...
Вот чисто для себя решил что IRQ только "последовательно"(но короткие обработчики),
а если нужно чего-нить супербыстрое то FIQ и 1 источник...

Вот и хотелось бы услышать о Ваших случаях когда вложенные прерывания понадобились...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 17 2009, 20:38
Сообщение #6


Гуру
******

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



Цитата(singlskv @ Apr 18 2009, 00:00) *
Вот и хотелось бы услышать о Ваших случаях когда вложенные прерывания понадобились...

Например, в LED экране на SAM7X:
- 3 прерывания (2 таймера и SPI) обеспечивают развертку, очень короткие, имеют высший приоритет (т.к. тайминги жесткие, развертку ломать нельзя).
- прерывание от EMAC'а имеет приоритет на единицу ниже: поток здоровый (~80Мбит/с в обе стороны), реагировать нужно быстро.
- перывание от UART'а.
- прерывание от PIT.

Еще в проекте измерительного стенда примерно со столь же тяжелым раскладом.
Короче, вложенные прерывания оказываются востребованы тогда, когда нужно разрулить большое число источников с низкой латентностью. В большинстве же случаев действительно достаточно обычных IRQ или IRQ+FIQ.

P.S. Пользуясь случаем, хочу послать луч ненависти инженерам фирмы Атмел за фиксированный размер приемного буфера EMAC в 128 байт.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Apr 17 2009, 21:00
Сообщение #7


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(aaarrr @ Apr 18 2009, 00:38) *
Например, в LED экране на SAM7X:
- 3 прерывания (2 таймера и SPI) обеспечивают развертку, очень короткие, имеют высший приоритет (т.к. тайминги жесткие, развертку ломать нельзя).
- прерывание от EMAC'а имеет приоритет на единицу ниже: поток здоровый (~80Мбит/с в обе стороны), реагировать нужно быстро.
- перывание от UART'а.
- прерывание от PIT.
рулить разверткой - понятно, там это главная реалтайм задачка...
Цитата
Еще в проекте измерительного стенда примерно со столь же тяжелым раскладом.
Измерительтный стенд говорите....
Влияние "цифрового" джиттера на измерение частоты ?
Цитата
Короче, вложенные прерывания оказываются востребованы тогда, когда нужно разрулить большое число источников с низкой латентностью. В большинстве же случаев действительно достаточно обычных IRQ или IRQ+FIQ.

Мы это стараемся разруливать с помощью дополнительных процов...переферийных...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 17 2009, 21:12
Сообщение #8


Гуру
******

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



Цитата(singlskv @ Apr 18 2009, 01:00) *
рулить разверткой - понятно, там это главная реалтайм задачка...

На самом деле, одна из самых мелких по сложности и занимаемым ресурсам. Но да, реалтайм и все тут.

Цитата(singlskv @ Apr 18 2009, 01:00) *
Измерительтный стенд говорите....
Влияние "цифрового" джиттера на измерение частоты ?

Нет, просто монстрическая система из-за большого числа источников данных.

Цитата(singlskv @ Apr 18 2009, 01:00) *
Мы это стараемся разруливать с помощью дополнительных процов...переферийных...

Дополнительный проц - дополнительные деньги. И дополнительный разноплановый геморрой - программ писать в два раза больше, кроме того, нужно еще придумывать интерфейсы взаимодействия.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Apr 17 2009, 21:34
Сообщение #9


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(aaarrr @ Apr 18 2009, 01:12) *
Дополнительный проц - дополнительные деньги. И дополнительный разноплановый геморрой - программ писать в два раза больше, кроме того, нужно еще придумывать интерфейсы взаимодействия.
А вот здесь совсем не соглашусь...
Доп проц конечно деньги, но очень небольшие по сравнению с основным(1-1,5$ +)
если нужен реальный реалтайм то других вариантов практически нет
к примеру, опрос N входов с определением частоты на них
там цифровой джиттер самое важное, сделать его разумным при наличии других интерфейсов невозможно...
Ну вот пример, можно ли на АРМ7 который подключен к ПЦ через USB(961Кбод) и 3 x RS232(115Кбод)
опрашивать 4-8 сигналов частотой 10Кгц ?
А при наличии переферийной меги8 уже можно...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- DpInRock   В какой моде запускать main?   Apr 17 2009, 00:51
- - aaarrr   Цитата(DpInRock @ Apr 17 2009, 04:51) А б...   Apr 17 2009, 01:09
|- - aaarrr   Цитата(DpInRock @ Apr 17 2009, 15:44) А в...   Apr 17 2009, 11:51
||- - aaarrr   Цитата(singlskv @ Apr 18 2009, 01:34) циф...   Apr 17 2009, 21:41
||- - singlskv   Цитата(aaarrr @ Apr 18 2009, 01:41) Так е...   Apr 17 2009, 21:58
||- - aaarrr   Цитата(singlskv @ Apr 18 2009, 01:58) Ну ...   Apr 17 2009, 22:08
||- - singlskv   Цитата(aaarrr @ Apr 18 2009, 02:08) Объяс...   Apr 17 2009, 22:28
||- - aaarrr   Цитата(singlskv @ Apr 18 2009, 02:28) В п...   Apr 17 2009, 22:40
||- - singlskv   Цитата(aaarrr @ Apr 18 2009, 02:40) ИМХО,...   Apr 17 2009, 22:53
||- - aaarrr   Цитата(singlskv @ Apr 18 2009, 02:53) Не ...   Apr 17 2009, 22:59
||- - singlskv   Цитата(aaarrr @ Apr 18 2009, 02:59) Очень...   Apr 17 2009, 23:03
|- - defunct   Цитата(aaarrr @ Apr 17 2009, 23:38) P.S. ...   Apr 18 2009, 00:33
|- - aaarrr   Цитата(defunct @ Apr 18 2009, 04:33) Кака...   Apr 18 2009, 00:41
|- - defunct   Цитата(aaarrr @ Apr 18 2009, 03:41) Больш...   Apr 18 2009, 00:43
- - DpInRock   Вот как раз про "естественно" я еще не д...   Apr 17 2009, 13:08
- - DpInRock   DBGU у меня для всего используется. А это чем-то п...   Apr 17 2009, 22:12
|- - aaarrr   Цитата(DpInRock @ Apr 18 2009, 02:12) DBG...   Apr 17 2009, 22:26
|- - singlskv   Цитата(DpInRock @ Apr 18 2009, 02:12) Вло...   Apr 17 2009, 22:40
|- - aaarrr   Цитата(singlskv @ Apr 18 2009, 02:40) он ...   Apr 17 2009, 22:46
- - aaarrr   Затем, чтобы получить возможность уйти на обработк...   Apr 17 2009, 23:07
|- - singlskv   Цитата(aaarrr @ Apr 18 2009, 03:07) Затем...   Apr 17 2009, 23:13
|- - aaarrr   Цитата(singlskv @ Apr 18 2009, 03:13) Тог...   Apr 17 2009, 23:21
|- - singlskv   Цитата(aaarrr @ Apr 18 2009, 03:21) Так з...   Apr 17 2009, 23:24
- - aaarrr   "Просто FIQ" дает только один источник с...   Apr 17 2009, 23:28
|- - singlskv   Цитата(aaarrr @ Apr 18 2009, 03:28) ...   Apr 17 2009, 23:31
||- - aaarrr   Цитата(singlskv @ Apr 18 2009, 03:31) И И...   Apr 17 2009, 23:36
|- - singlskv   Цитата(aaarrr @ Apr 18 2009, 03:28) ...   Apr 17 2009, 23:38
|- - aaarrr   Цитата(singlskv @ Apr 18 2009, 03:38) Поч...   Apr 17 2009, 23:44
|- - singlskv   Цитата(aaarrr @ Apr 18 2009, 03:44) Еще р...   Apr 17 2009, 23:59
|- - aaarrr   Цитата(singlskv @ Apr 18 2009, 03:59) Тру...   Apr 18 2009, 00:06
|- - singlskv   Цитата(aaarrr @ Apr 18 2009, 04:06) Лишни...   Apr 18 2009, 00:21
|- - aaarrr   Цитата(singlskv @ Apr 18 2009, 04:21) дал...   Apr 18 2009, 00:35
|- - defunct   Цитата(aaarrr @ Apr 18 2009, 03:35) О как...   Apr 18 2009, 00:40
||- - aaarrr   Цитата(defunct @ Apr 18 2009, 04:40) Види...   Apr 18 2009, 00:45
||- - defunct   Цитата(aaarrr @ Apr 18 2009, 03:45) Видит...   Apr 18 2009, 01:01
||- - aaarrr   Цитата(defunct @ Apr 18 2009, 05:01) Ну д...   Apr 18 2009, 01:09
||- - defunct   Цитата(aaarrr @ Apr 18 2009, 04:09) Грех ...   Apr 18 2009, 01:17
||- - aaarrr   Цитата(defunct @ Apr 18 2009, 05:17) Что ...   Apr 18 2009, 01:23
||- - defunct   Цитата(aaarrr @ Apr 18 2009, 04:23) Чтобы...   Apr 18 2009, 01:41
||- - aaarrr   Цитата(defunct @ Apr 18 2009, 05:41) Не с...   Apr 18 2009, 01:57
||- - defunct   Цитата(aaarrr @ Apr 18 2009, 04:57) А TE ...   Apr 18 2009, 02:47
||- - aaarrr   Цитата(defunct @ Apr 18 2009, 06:47) Вот ...   Apr 18 2009, 13:08
|- - singlskv   Цитата(aaarrr @ Apr 18 2009, 04:35) За ид...   Apr 18 2009, 00:45
|- - aaarrr   Цитата(singlskv @ Apr 18 2009, 04:45) Уже...   Apr 18 2009, 00:51
|- - singlskv   Цитата(aaarrr @ Apr 18 2009, 04:51) Попыт...   Apr 18 2009, 01:06
|- - defunct   Цитата(singlskv @ Apr 18 2009, 04:06) я н...   Apr 18 2009, 01:13
|- - aaarrr   Цитата(singlskv @ Apr 18 2009, 05:06) Я ж...   Apr 18 2009, 01:16
|- - singlskv   Цитата(aaarrr @ Apr 18 2009, 05:16) Да, E...   Apr 18 2009, 01:22
- - DpInRock   У меня USB противопоказан. Типа, опторазвязка есть...   Apr 18 2009, 01:01
|- - aaarrr   Цитата(DpInRock @ Apr 18 2009, 05:01) А в...   Apr 18 2009, 01:05
- - DpInRock   И чего столько проблемсвложенностью образовалось? ...   Apr 18 2009, 01:27
|- - singlskv   Цитата(DpInRock @ Apr 18 2009, 05:27) И ч...   Apr 18 2009, 01:32
- - aaarrr   Не-а, не шутка. Почему это так удивляет?   Apr 18 2009, 01:33
- - singlskv   Цитата(aaarrr @ Apr 18 2009, 05:33) Не-а,...   Apr 18 2009, 01:39


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

 


RSS Текстовая версия Сейчас: 28th June 2025 - 03:21
Рейтинг@Mail.ru


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