189 похожих чатов

Есть программа во встроенной системе, которая имеет доступ к некоторому

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

Собственно, вопрос: есть ли в природе какие-то средства такой подмены железа на модель? И если нет, то есть ли в этом потребность?

4 ответов

21 просмотр

Qemu

Каждый насколько я знаю городит свое. Как сказали выше Qemu. Но его проблема, я том что минимально работающий qemu это работа систика и gpio. Притом вариант это типо считается рабочим эмулятором. Я делал доклад как юнит тесты на нем для stm32 делать на компе (как раз описаная тобой задача) но это дикий геморрой. Знакомый делал так (и это звучит как более логичный вариант), выделял логику отдельно в слой прошивки и тестировал только ее на компе, параллельно подсовывая эмулятор железки с которой мк общается. Был еще эмулятор в котором имеенно можно железо описывать то-ли с помощью yaml то-ли json. Но если не ошибаюсь он умер, но задумка была очень крутой

ну кстати имея кусок кода, который будет эмулировать поведение вашей железки в рамках тестовых кейсов — можно этот кусок чуть ли не таргете запустить и через отладочный вывод посмотреть как тесты отработают

Я так понимаю всякие Matlab labview не рассматриваются

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта