Цитата(Непомнящий Евгений @ Aug 3 2007, 08:47)

ИАР 4.30 + Atmega128
У меня есть устройство которое выполняет несколько несвязанных между собой функций. Хотелось бы разместить эту функциональность в разных программах. При включении устройства запускается основная программа, пользователь может войти в меню и выбрать там другую программу. При этом устройство перезагрузится и она начнет выполняться.
Как это можно реализовать?
Я представляю примерно так: при загрузке устройства запускается программа-загрузчик, которая в зависимости от какого-то байта в епроме дальше передает управление по разным адресам. Т.е. я могу сделать в иаре несколько проектов с разными стартовыми адресами, а потом руками "склеить" hex-файлы?
Наипростейший вариант реализации (на мой взгляд).
1. Или из EEPROM или чтение входных портов конфигурации.
2. Инициализация в зависимости от п.1 (switch).
3. В фоне и во всех прерывания тоже switch.
Единственный не очень ясный момент - переход в другой режим. Вероятно, после этого надо начинать от печки сразу.