Я пробовал в течение последних нескольких дней, чтобы заставить GoogleTest работать, чтобы я мог выполнять модульное тестирование на нашем ARM-микроконтроллере в IAR с помощью симулятора, и я сдался. Как вы сказали, у меня возникали проблемы, такие как потоки и библиотеки, которые недоступны в инструментальной цепочке IAR.
Вместо этого мы решили двигаться вперед, используя другую структуру, с которой у нас был успех с CppUTest. Он также предлагает насмешливую структуру, которую мы смогли использовать. Существует также возможность использовать CppUTest для использования флеш-фреймворка GoogleMock (которого я еще не пробовал).
Мы продемонстрировали, что мы можем использовать CppUTest с использованием GCC и IAR, что позволяет нам использовать возможности GCOV, предоставляемые GCC, но затем переключиться на компилятор IAR, чтобы проверить, что код будет скомпилирован для нашей цели.
Отличная ссылка, которую я нашел, была книга: Test Driven Development for Embedded C by James W. Grenning. Он использует как CppUTest, так и Unity для своих примеров модульной проверки.
Там может быть много других фреймворков, которые будут работать, и мы остановились на CppUTest, так как в книге есть примеры, и он делает все, что нам нужно.
Я знаю, что это не тот ответ, который вы искали, но я надеюсь, что это поможет!