我正在编写一个外部库(一个组件控制器),用于mbed 5,并计划在mbed存储库中使用它。我想编写测试来确认我的代码工作正常,但它们只是常规的普通单元测试,不需要在嵌入式控制器上运行。我正在查看Catch作为我的框架,它为测试套件提供了main
。
当我使用mbed
CLI或Eclipse CDT(使用导出的项目)构建项目时,包含了哪些.cpp
文件以及哪些.o
文件链接到嵌入图像?图像是否仅包含通过包含从main.cpp
文件中提取的代码,还是编译并链接所有可见的.cpp
文件(可能包括我的测试用例)?如果是后者,是否有一种干净的方式来排除它们不会与内置的utest功能发生冲突?
答案 0 :(得分:1)
包含所有.cpp
个文件,但也有一些例外情况。 FEATURE_
和TARGET_
文件夹很特殊,只有在您的主板具有某个功能(或属于特定目标)时才会添加。我认为TESTS
也有一些特别之处。
您可以通过mbed compile -v
查看输入编译器/链接器的确切命令,或者如果需要整齐列表,可以通过mbed export -i make_gcc_arm
导出到makefile,它将列出所有文件。< / p>
如果您想了解有关内部细节的更多信息,或者想要围绕这些细节编写脚本,所有逻辑都在Python模块中实现,您可以在自己的Python脚本中使用它来获取标题/符号/定义/的列表等等。例如,请参阅vscode/__init.py__
。
注意:如果您要排除某个文件或文件夹,可以通过.mbedignore完成。