Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Множественность проектов в одном workspace
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Dog Pawlowa
Активно использую возможность включения нескольких проектов в одно рабочее пространство с условной компиляцией внутри общих файлов, включение разных файлов.
Типичные случаи - это пульт и исполняющее устройство (разное железо, но тот же интерфейс, тот же принцип машины состояний), близкие проекты на одном и том же железе.
В общем результаты безусловно положительные, поскольку код не дублируется, гораздо проще сопровождать, хотя есть и досадные ошибки из-за общего текста исходника. Это еще можно списать на невнимательность, но вот недавно собрал проектик для тестирования платы, и не очень доволен.
Специально не пишу о деталях - с деталями нет проблем (где нужно, добавляю условную компиляцию и проч), но меня больше интересует ""философия", в каком направлении идти.
Если может поделиться подходами, буду благодарен.
rezident
А HAL у вас выделенный? И какого объема проекты? Вообще есть некоторая разница в написании программы для "мигалки светодиода" и для коммуникационного устройства. Для первого не грешно и с нуля переписать программу. Т.к. нет предела совершенству laughing.gif ... и экономии ради дополнительной прибыли wink.gif
Dog Pawlowa
Цитата(rezident @ Feb 13 2010, 22:12) *
А HAL у вас выделенный? И какого объема проекты? Вообще есть некоторая разница в написании программы для "мигалки светодиода" и для коммуникационного устройства. Для первого не грешно и с нуля переписать программу. Т.к. нет предела совершенству laughing.gif ... и экономии ради дополнительной прибыли wink.gif


Проекты объема 40-60 кБ кода, интерфейс пользователя в виде автомата с сотней состояний, в каждом проекте до десятка индивидуальных состояний, остальные - общие. Обычный измерительно-управляющий прибор с несколькими кнопками и дисплеем.

HAL... сложный вопрос, он уникально - универсальный smile.gif Все порты, АЦП и прочие функции описаны для каждого проекта, доступ приводится к универсальным функциям ногодрыганья или сравнения значений АЦП или входов портов.

Прибыль только в экономии времени на создание нового проекта и сопровождение старого. Инженеры прибыли не приносят smile.gif

Наверное, ответ только в самодисциплине и строгом отношении к своему творению, где нужно, добавлять параметры в функции, разделить где-то глобальные переменные. Если все развалится на независимые проекты, я погрязну.
Непомнящий Евгений
У меня из одного "проекта" генерится штук 70 разных вариантов прошивок. Полет нормальный. Если бы у меня было 70 практически однотипных проектов, я бы повесился smile.gif

Единственное - я собираю scons-ом, скрипт по номеру компиляции тянет из csv-таблички определения дефайнов.

Стараюсь использовать дефайны только локально, в некоторых файлах; если они слишком "расползаются" по тексту программы, текст становится малочитаемым.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.