микроконтроллеров? Насколько это вообще удобно и стоит ли в эту сторону вообще копать? Возникла навязчивая идея для системного тестирования разворачивать контейнеры в докере с симуляторами микроконтроллеров. В дальнейшем внедрить CI/CD с помощью этого окружения хотя бы в рамках тестирования
Из Arrival кто-то пилил юнит(или интеграционные, не помню)-тесты на qemu для микроконтроллерного кода. На хабре статья была, но наскидку не нагуглил
Они ещё на экспоненте вебинар вели, что они и в матлабе тестируются
Бессмысленно. Тот код, который не завязан на периферию, можно тестировать прямо на ПК как обычно. Тот код, который завязан на периферию, надо тестировать с периферией. Либо придётся делать эмуляторы внешних блоков, что есть безумие - никто из производителей вам HDL-файлы не отдаст.
Ну там от периферии функции типа sendbyte read adc которые по факту кормятся тестовыми данными, мало вероятно что кто-то тестирует вытсалвение флага idle в уарте
Прямо на ПК например вычисление с fpu может отличаться. x87 думаю отличается от fpu stm-ок. Поддержка стандарта ieee-754-2008 может быть в разной степени. У интелов например есть выключение денормализованных чисел или они могут вычисляться в 80-бит long-double, а потом округляться и битсовместимость вы не получите.
Не, ну понятное дело, что то, что поверх API, отлаживается и так.
Это уже какая-то экзотика.
Ну для этого есть всякое pil в том же матлаб
Я встречал статью про какие-то вычисления, у которых точность в дабле на х86 отличалась от арма из-за того, что х86 считал в 80 битах с последующим переводом в дабл, точность получалась выше
Плюс те же нюансы при запуске одинакового кода на cpu и на видяхе, например.
Обсуждают сегодня