0

这似乎是一个奇怪的想法,但我需要将同一个库链接到我的代码中两次。

一点背景知识:我正在编写一些带有引导加载程序和应用程序的固件。这两段代码都需要使用 comms 库 (spi) 和其他一些系统库才能运行。如果引导加载程序使用这些库运行,我无法替换这些库。因此,我想包含 lib 两次,一次用于引导加载程序,一次用于应用程序。

以前,我通过制作两个程序并将 HEX 文件拼接为构建过程的一部分来完成此操作。这次我想制作一个包含应用程序和引导加载程序的精灵(两者都有调试符号)。然后我可以通过在构建后步骤中将其剥离来生成引导加载映像。这使我可以构建完整的映像并使用链接器来避免冲突等,而无需制作自己的工具,这意味着我可以轻松调试引导加载程序和应用程序中的错误,但唯一的绊脚石是多次使用 lib

我认为一个解决方案可能是制作两个单独的静态库,即 bootloader.a 和 application.a 两者都已经包含另一个库,但这似乎很混乱。有谁知道更好的解决方案?

4

0 回答 0