Цитата(_Sam_ @ Aug 8 2007, 16:52)

А зачем вам глобальные объекты, которые использутся только в одной функции? Сделайте их локальными.
А кто говорит, что они только в одной функции? Устройство имеет основную задачу, на которую нацелены все его перерывания, память и т.д. Кроме того, его можно переключить в другую задачу (обычно сравнительно маленькую - типа преобразования интерфейсов или загрузки\выгрузки инфы). При этом основная задача прекращает исполняться.
Цитата(alexander55 @ Aug 8 2007, 17:31)

Наипростейший вариант реализации (на мой взгляд).
1. Или из EEPROM или чтение входных портов конфигурации.
2. Инициализация в зависимости от п.1 (switch).
3. В фоне и во всех прерывания тоже switch.
Единственный не очень ясный момент - переход в другой режим. Вероятно, после этого надо начинать от печки сразу.
Да собственно так оно счас и сделано. Просто меня "посетила" мысль - реализовать для каждой независимой задачки отдельную "программу" - отдельно компилируемую, отлаживаемую и т.д. + некий загрузчик, который при старте передает управление. Но судя по всему, геморрой который при этом появляется того не стоит.
Так что тема наверное закрыта. Спасибо всем за посты.