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

 
 
> Несколько программ в одной прошивке, Как проще сделать?
Непомнящий Евген...
сообщение Aug 3 2007, 04:47
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



ИАР 4.30 + Atmega128

У меня есть устройство которое выполняет несколько несвязанных между собой функций. Хотелось бы разместить эту функциональность в разных программах. При включении устройства запускается основная программа, пользователь может войти в меню и выбрать там другую программу. При этом устройство перезагрузится и она начнет выполняться.

Как это можно реализовать?

Я представляю примерно так: при загрузке устройства запускается программа-загрузчик, которая в зависимости от какого-то байта в епроме дальше передает управление по разным адресам. Т.е. я могу сделать в иаре несколько проектов с разными стартовыми адресами, а потом руками "склеить" hex-файлы?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Непомнящий Евген...
сообщение Aug 9 2007, 07:32
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(_Sam_ @ Aug 8 2007, 16:52) *
А зачем вам глобальные объекты, которые использутся только в одной функции? Сделайте их локальными.


А кто говорит, что они только в одной функции? Устройство имеет основную задачу, на которую нацелены все его перерывания, память и т.д. Кроме того, его можно переключить в другую задачу (обычно сравнительно маленькую - типа преобразования интерфейсов или загрузки\выгрузки инфы). При этом основная задача прекращает исполняться.

Цитата(alexander55 @ Aug 8 2007, 17:31) *
Наипростейший вариант реализации (на мой взгляд).
1. Или из EEPROM или чтение входных портов конфигурации.
2. Инициализация в зависимости от п.1 (switch).
3. В фоне и во всех прерывания тоже switch.
Единственный не очень ясный момент - переход в другой режим. Вероятно, после этого надо начинать от печки сразу.


Да собственно так оно счас и сделано. Просто меня "посетила" мысль - реализовать для каждой независимой задачки отдельную "программу" - отдельно компилируемую, отлаживаемую и т.д. + некий загрузчик, который при старте передает управление. Но судя по всему, геморрой который при этом появляется того не стоит.
Так что тема наверное закрыта. Спасибо всем за посты.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Непомнящий Евгений   Несколько программ в одной прошивке   Aug 3 2007, 04:47
- - tag   Цитата(Непомнящий Евгений @ Aug 3 2007, 08...   Aug 3 2007, 06:51
|- - Непомнящий Евгений   Цитата(tag @ Aug 3 2007, 10:51) ...вопрос...   Aug 3 2007, 15:35
|- - KRS   Цитата(Непомнящий Евгений @ Aug 3 2007, 19...   Aug 3 2007, 20:01
- - KRS   Цитата(Непомнящий Евгений @ Aug 3 2007, 08...   Aug 3 2007, 09:46
- - haker_fox   Цитата(Непомнящий Евгений @ Aug 3 2007, 12...   Aug 4 2007, 05:30
|- - Непомнящий Евгений   Цитата(haker_fox @ Aug 4 2007, 09:30) Мож...   Aug 4 2007, 07:52
- - rezident   ИМХО для такой организации лучше подходит выполнен...   Aug 4 2007, 10:31
|- - IgorKossak   Цитата(rezident @ Aug 4 2007, 13:31) ИМХО...   Aug 4 2007, 16:44
- - Серёга_1   Извиняюсь если что не так понял. Мне кажется испол...   Aug 8 2007, 12:06
- - _Sam_   ЦитатаНо меня смущает то, что при этом переходе на...   Aug 8 2007, 12:52
- - alexander55   Цитата(Непомнящий Евгений @ Aug 3 2007, 08...   Aug 8 2007, 13:31
|- - alexander55   Цитата(Непомнящий Евгений @ Aug 9 2007, 11...   Aug 9 2007, 09:54
- - _Sam_   ЦитатаА кто говорит, что они только в одной функци...   Aug 9 2007, 10:16
- - MALLOY2   Не знаю зачем такое нужно ? да и еще на меге , вы...   Aug 9 2007, 17:07
- - Redaer   Здравствуйте Дабы не засорять конференцию похо...   Aug 15 2007, 14:38
|- - Сергей Борщ   Цитата(Redaer @ Aug 15 2007, 17:38) Можно...   Aug 15 2007, 16:24
- - Redaer   Большое спасибо за развернутые ответы Че-то я не ...   Aug 16 2007, 07:11


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:29
Рейтинг@Mail.ru


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