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

 
 
> Обработчик FIQ, Подводные камни
GetSmart
сообщение Nov 25 2006, 16:51
Сообщение #1


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Честно признаюсь, первый раз решил в своей проге использовать FIQ. До этого прекрасно обходился только IRQ и чаще всего многовложенными. Сейчас делаю на проце LPC2131 управление светодиодной панелью с 256 градациями и для крутизны программы решил регенерацию посадить на FIQ. Самое прикольное что после этого появилось - обработчик FIQ работает, а основная прога перестала работать. Если запрещаю FIQи, то основная прога работает, а FIQи разумеется нет. Пока при тестировании отключил все вектора исключений кроме FIQ, то есть при переходе на них проц входит в вечный цикл. Основная прога до ужаса простая - инвертирование светодиода раз в секунду и инвертирование видеобуфера из нескольких LONGов.

Кто может определить мою проблему?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GetSmart
сообщение Nov 25 2006, 17:58
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Нет уж. Прорблема не в этом. Тем более что ничего для FIQ в контроллере прерываний и сбрасывать не надо. А флаги прерываний таймера я сбрасываю так же как и для обычного IRQ. Кроме того, прога не всё время находится в FIQ. Регенерация выглядит идеально. Грубо говоря FIQ синхронизируется по таймеру и вызывается через промежутки 10 mks, 20 mks, 40 mks, ... 1280 mks. Всё остальное время процессор непонятно чем занимается.

Щас выяснил что при обращении к памяти 0x40000000 (там видеобуфер) возникает исключение Data Abort. При записи в эту память - сразу, при чтении - иногда. Это при разрешённых FIQ. При запрещённых - никогда не возникает. Установка команды SUBS PC,R14,#8 по адресу обработчика Data Abort никак не помогает. Стек в моём FIQ вообще не используется.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 25 2006, 19:09
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(GetSmart @ Nov 25 2006, 16:58) *
Нет уж. Прорблема не в этом. Тем более что ничего для FIQ в контроллере прерываний и сбрасывать не надо.

И для внешних тоже :-)
Цитата
Всё остальное время процессор непонятно чем занимается.

:-)

Цитата
Установка команды SUBS PC,R14,#8 по адресу обработчика Data Abort никак не помогает.

К делу не относится, но если Вы хотели пропустить ошибочную команду, то не минус 8.

Цитата
Стек в моём FIQ вообще не используется.

Пишем на ASM.... Тогда у Вас еcть очень широкое поле для ошибок и предположений, а словесные описания того, что Вы предполагаете делает программа с много большей степенью вероятности не совпадают с реальностью. Похоже пора публиковать исходник.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- GetSmart   Обработчик FIQ   Nov 25 2006, 16:51
- - zltigo   Цитата(GetSmart @ Nov 25 2006, 15:51) Кто...   Nov 25 2006, 17:43
- - GetSmart   Прикольно то, что даже залетая в Data Abort и крут...   Nov 25 2006, 18:14
|- - klop   Цитата(GetSmart @ Nov 25 2006, 18:14) Еди...   Nov 25 2006, 18:27
- - GetSmart   ОК. Читайте исходник. Ещё предположение, что Data...   Nov 25 2006, 19:23
- - GetSmart   Блин, даже неловко как-то... Похоже я сам в основн...   Nov 25 2006, 19:42
|- - zltigo   Цитата(GetSmart @ Nov 25 2006, 18:42) А е...   Nov 25 2006, 20:23
- - GetSmart   "undefined" после сброса проца? Я-то гов...   Nov 25 2006, 21:41
|- - zltigo   Цитата(GetSmart @ Nov 25 2006, 20:41) Я-т...   Nov 25 2006, 21:51
- - GetSmart   Я тоже это сделал как ОК для управления 5-вольт на...   Nov 25 2006, 23:22
- - GetSmart   Ну надо же какая хитрая ошибка попалась КодIOPIN0...   Nov 25 2006, 23:41
- - brag   Та он такой глючненький, этот LPC2106. Сам долго п...   Dec 2 2006, 22:48
|- - Andy Mozzhevilov   Цитата(brag @ Dec 3 2006, 00:48) Та он та...   Dec 4 2006, 07:51
- - brag   ну то понятно,но все же он может пахать на таких ч...   Dec 4 2006, 09:19
- - etoja   LPC2106 производят с 2003 года. Какие могут в нем ...   Dec 4 2006, 11:01
- - brag   ну мож нам старые кристалы попадаются.я имел дело ...   Dec 4 2006, 20:27
- - GetSmart   Всё-таки я не нашёл ещё явных аппаратных глюков у ...   Dec 4 2006, 20:40


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

 


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


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