Связывание требований к интерфейсу модуля во время выполнения или во время компиляции / компоновки, что лучше? - PullRequest
1 голос
/ 24 февраля 2009

У меня есть вопрос или лучший способ подключения интерфейса во время выполнения или во время компиляции / компоновки. Для моих встроенных проектов драйверы устройств и устройства ввода-вывода имеют интерфейсы, которые должны быть связаны (т.е. склеены) с соответствующими им интерфейсными зависимостями. Например, для драйвера аналогового устройства требуется интерфейс с драйвером дискретного вывода, чтобы установить линии MUX и Enable, и интерфейс для этого выглядит следующим образом:

unsigned char (*SetDiscOutput)(unsigned short signalID, unsigned char state);

В настоящее время я использую таблицу конфигурации, которая связывает требования к интерфейсу модуля с соответствующей зависимостью интерфейса, а затем во время выполнения конфигурация среды перебирает этот список и назначает зависимости. Другой метод, который я до сих пор придумал, заключается в использовании файла конфигурации оборудования, который будет связывать интерфейсы модуля с соответствующими им интерфейсами зависимостей, которые будут назначаться во время компиляции / компоновки.

Что было бы лучшим подходом (за / против) друг к другу и, что более важно, есть более элегантный способ связывания этих интерфейсных зависимостей.

Mark

1 Ответ

1 голос
/ 24 февраля 2009

Мне нравится смешивать их с семафорами. Но это действительно зависит от того, собираетесь ли вы использовать ОС и есть ли смысл иметь ее доступной для изменения. Я сохранил его в программном обеспечении, чтобы разные версии встроенного оборудования могли выполнять один и тот же код, только с разными настройками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...