ресурсу через регистровый ввод-вывод. Как реализовано - не имеет значения, главное что есть регистровая карта и спецификация.
Предполагаем далее, что этого аппартного модуля ещё нет или по какой-то причине он доступен, или даже пока нету физически плат, на которых всё это дело установлено, но при этом хочется начать написание софта заранее.
Имея спецификацию, создаём программную модель, которая делает вид, что она - та самая железяка.
Далее спокойно отлаживаем прогу без железа, после чего стыкуем уже всё вместе и оно работает (наверное).
В качестве бонуса имеем тестирование спецификации, поскольку по спецификации независимо создаётся две реализации, плюс можно создать тесты, покрывающие спецификацию.
Собственно, вопрос: есть ли в природе какие-то средства такой подмены железа на модель? И если нет, то есть ли в этом потребность?
Qemu
Каждый насколько я знаю городит свое. Как сказали выше Qemu. Но его проблема, я том что минимально работающий qemu это работа систика и gpio. Притом вариант это типо считается рабочим эмулятором. Я делал доклад как юнит тесты на нем для stm32 делать на компе (как раз описаная тобой задача) но это дикий геморрой. Знакомый делал так (и это звучит как более логичный вариант), выделял логику отдельно в слой прошивки и тестировал только ее на компе, параллельно подсовывая эмулятор железки с которой мк общается. Был еще эмулятор в котором имеенно можно железо описывать то-ли с помощью yaml то-ли json. Но если не ошибаюсь он умер, но задумка была очень крутой
ну кстати имея кусок кода, который будет эмулировать поведение вашей железки в рамках тестовых кейсов — можно этот кусок чуть ли не таргете запустить и через отладочный вывод посмотреть как тесты отработают
Я так понимаю всякие Matlab labview не рассматриваются
Обсуждают сегодня