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

 
 
> IRQ+FIQ, возможность "одновременного" существования IRQ и FIQ
E_V_S
сообщение Oct 3 2012, 10:43
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 23-07-12
Пользователь №: 72 873



Доброго всем дня.

Поясните пожалуйста, возможно ли что прерывание FIQ возникнет во время обработки IRQ (или наоборот)?
Для каждого прерывания свой режим, и биты в статусных режимах так стоят, что во время IRQ режима - FIQ разрешен, и наоборот, во время FIQ - IRQ разрешен.

Также заметил что SWI только IRQ запрещает... FIQ опять возможен?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SII
сообщение Oct 3 2012, 15:44
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



В мануалах всё чётко прописано. FIQ запрещается автоматически только самим же FIQ, а значит, может произойти при выполнении любого другого обработчика (если программист, конечно, ручками FIQ не запретил).
Go to the top of the page
 
+Quote Post
SyncLair
сообщение Oct 5 2012, 16:53
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 209
Регистрация: 6-01-12
Пользователь №: 69 197



Цитата(SII @ Oct 3 2012, 19:44) *
В мануалах всё чётко прописано. FIQ запрещается автоматически только самим же FIQ, а значит, может произойти при выполнении любого другого обработчика (если программист, конечно, ручками FIQ не запретил).


смотрите файл-скрипт запуска на асме там для каждого режима выставляется флаг I и F у вас какой контроллер?


--------------------
Go to the top of the page
 
+Quote Post
E_V_S
сообщение Oct 8 2012, 08:09
Сообщение #4





Группа: Участник
Сообщений: 12
Регистрация: 23-07-12
Пользователь №: 72 873



Цитата(SyncLair @ Oct 5 2012, 19:53) *
смотрите файл-скрипт запуска на асме там для каждого режима выставляется флаг I и F у вас какой контроллер?


контроллер - ARM926EJ

под отладчиком можно видеть что IRQ и SWI ставят 1 в бит I (т.е. зпрещают IRQ) и если FIQ разрешены, то их бит F=0, а стало быть FIQ может быть...

Наверное биты I и F и дают ответ на мой вопрос. Ежели я внутри IRQ обнулю I, то вложенные прерывания тут как тут sm.gif

Сейчас в IRQ я ручками запрещаю FIQ на время обработчика IRQ (после разрешаю)... Пришлось сделать так, что только одно прерывание существует единовремменно, покуда имеется разделяемый ресурс который используется в основной программе, а также в IRQ и FIQ...


Go to the top of the page
 
+Quote Post
MBR
сообщение Oct 10 2012, 05:23
Сообщение #5


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

Группа: Участник
Сообщений: 107
Регистрация: 26-09-10
Пользователь №: 59 748



Цитата(E_V_S @ Oct 8 2012, 12:09) *
Наверное биты I и F и дают ответ на мой вопрос. Ежели я внутри IRQ обнулю I, то вложенные прерывания тут как тут sm.gif

Собственно я в своей операционке mkernel так и реализовал вложенные прерывания на ARM7. Только нужно не забывать предварительно сохранять r0-r3, r12, lr, spsr. Иначе мы никогда не вернемся в точку возвращения. По ссылке ниже - полные исходники на реализацию вложенных прерываний и FIQ.

https://github.com/alexeyk13/mkernel/tree/master/arch/arm7
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- E_V_S   IRQ+FIQ   Oct 3 2012, 10:43
- - kovigor   Цитата(E_V_S @ Oct 3 2012, 13:43) Пояснит...   Oct 3 2012, 11:29
|- - E_V_S   Цитата(kovigor @ Oct 3 2012, 14:29) Почем...   Oct 3 2012, 11:37
- - chernenko   В этой части ARM7TDMI и ARM926EJ одинаковы?   Oct 3 2012, 11:46
|- - SyncLair   Цитата(E_V_S @ Oct 8 2012, 12:09) контрол...   Oct 8 2012, 11:49
||- - E_V_S   Цитата(SyncLair @ Oct 8 2012, 14:49) Для ...   Oct 8 2012, 13:26
|- - jcxz   Цитата(E_V_S @ Oct 8 2012, 14:09) контрол...   Oct 11 2012, 02:21
|- - SII   Цитата(jcxz @ Oct 11 2012, 06:21) Получае...   Oct 11 2012, 03:13
|- - MBR   Цитата(SII @ Oct 11 2012, 07:13) У себя я...   Oct 11 2012, 05:22
- - theBMV   На то он и FIQ   Oct 5 2012, 08:17
- - SII   Не путайте архитектуру и ядро. ARM7 -- это семейст...   Oct 8 2012, 14:36
- - SII   Да всё это понятно, но, если скорость обработки на...   Oct 11 2012, 06:40
- - MBR   Цитата(SII @ Oct 11 2012, 10:40) Да всё э...   Oct 11 2012, 07:50


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

 


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


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