mbed OS 5 项目中链接了哪些文件

What files are linked in an mbed OS 5 project?

本文关键字:文件 链接 OS 项目 mbed      更新时间:2023-10-16

我正在编写一个用于mbed 5的外部库(组件控制器),并计划使其在mbed存储库中可用。我想编写测试来确认我的代码是否正常工作,但它们只是常规的普通单元测试,不需要在嵌入式控制器上运行。我正在将 Catch 视为我的框架,它为测试套件提供了main

当我使用 mbed CLI 或 Eclipse CDT(使用导出的项目)构建项目时,将包含哪些.cpp文件,以及哪些.o文件链接到嵌入映像中?图像是否仅包含通过包含从我的main.cpp文件中提取的代码,或者它是否编译并链接所有可见的.cpp文件(可能包括我的测试用例)?如果是后者,是否有一种干净的方法来排除它们,而不会与内置的 utest 功能发生冲突?

包含所有.cpp文件,但也有一些例外。 FEATURE_TARGET_文件夹是特殊的,并且仅在您的板具有特定功能(或属于特定目标的一部分)时才添加。我认为TESTS也有一些特别之处。

您可以看到通过mbed compile -v输入编译器/链接器的确切命令,或者如果您想要一个整洁的列表,请通过 mbed export -i make_gcc_arm 导出到 makefile,这将列出所有文件。

如果你想了解更多关于内部细节的信息,或者想围绕这些细节编写脚本,所有逻辑都在 Python 模块中实现,你可以在自己的 Python 脚本中使用它来获取将包含的标头/符号/定义/等列表。例如,请参阅 vscode/__init.py__

注意:如果要排除某个文件或文件夹,可以通过.mbedignore进行。