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

 
 
> Две таблицы векторов в одном софте, xmega
xelax
сообщение Apr 20 2011, 08:58
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035



Привет всем!

Тут некоторых коллег посетила нездоровая идея иметь два вектора прерывания на одну периферию (NVM eeprom и flash).
Одна таблица в application другая в bootloader секции. И всё это должно жить в одной программе. В возможности иметь две таблице векторов прерывания для xmegа я не вижу никаких технических препятствий, то как это реализовать в одном софте средствами компилятора и линкера пока не понимаю. Не могу же я иметь две функции
Код
ISR(NVM_EE_vect)


Пока не вижу другого способа кроме как для application секции формировать таблицу посредством макросов ISR, а для bootloader формировать её в рукопашную, размещая jmp на обработчики по фиксированным адресам из bootloader и добавляя в функции обработки рукописные прологи и эпилоги.

Но уж очень этот вариант на камасутру похож. Может кто-то знает более красивые варианты решения?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
CDT
сообщение Jun 28 2011, 08:17
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 303
Регистрация: 3-03-05
Пользователь №: 3 044



Цитата(xelax @ Apr 20 2011, 12:58) *
Тут некоторых коллег посетила нездоровая идея иметь два вектора прерывания на одну периферию .......

Как - то не врубаюсь: по одному событию бросаться выполнять два куска кода одновременно или по какому-то переключателю выбирать, в какую таблицу векторов прыгать?

Если первое - то все равно это будет делаться по очереди или в вперемешку, с неким интервалом, что организовывается в обработчике, доступном через имеющуюся таблицу векторов.

Если второе - зачем две таблицы векторов, если переключатель можно проверить в обработчике, доступном через имеющуюся таблицу векторов и пойти выполнять, то, что заказано.


--------------------
Опыт - чудесная вещь: легко использовать, можно продать, трудно пропить.
Go to the top of the page
 
+Quote Post



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

 


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


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