在AtMega32a上运行C++的Unittest。

问题描述 投票:0回答:1

我做了一个工作流程来对AtMega32a的C代码进行单元测试,我使用了C测试框架 "unity"[1]和AVR模拟器 "simavr"[2]的组合。我使用了C语言测试框架 "unity"[1]和AVR模拟器 "simavr"[2]的组合。写完C代码后,我把它推送到Gitlab服务器上。Gitlab服务器下载并运行一个docker容器,将gccavr、simavr安装到其中,编译C代码,然后在Simavr中运行代码。Simavr将unity的消息从串口管到控制台。当测试完成后,gitlab服务器会给我发一封带有结果的邮件。

[1] http:/www.throwtheswitch.orgunity

[2] https:/github.comuserrorsimavr。

现在我想做同样的事情,但这次是用C++代码。因此,我正在寻找一个C++测试套件,它能够

a) 是用C++写的,或者可以从C++代码中调用。

b) 在AVR上运行

c) 可以把它的信息发送到串口。(所以我也可以在一个真正的AtMega32a连接到我的电脑的串口上运行代码)

你知道有这样的套房吗?

干杯,塞德里克

c++ unit-testing microcontroller
1个回答
0
投票

谷歌最近发布了 豚草,一个用C++进行嵌入式开发的框架,其中包括 单元测试功能.

它是平台无关的,不需要堆分配,所以你只需要实现一个叫做 事件处理程序接口 通过类似串口的东西来报告结果。它还包括 处理程序的例子,你可以重新实现 WriteLine 函数,如果我没记错的话,AVR-GCC并不包含C++标准库,这是个问题,因为猪草需要一些标准库头文件。

现在,如果我没有记错的话,AVR-GCC并不包含C++标准库,这将是一个问题,因为猪草需要一些标准库头。对于这一点,我建议你看看类似这样的东西 ETL,它应该可以实现你所需要的大部分功能。

© www.soinside.com 2019 - 2024. All rights reserved.