这可能看起来很奇怪,但我需要将相同的库链接到我的代码中两次。
一些背景知识:我正在使用引导加载程序和应用程序编写一些固件。这两段代码都需要使用comms库(spi)和一些其他系统库来运行。如果使用这些库运行,我无法在引导加载程序中替换这些库。因此,我想将lib包括两次,一次用于引导加载程序,一次用于应用程序。
以前我通过制作两个程序并将HEX文件拼接为构建过程的一部分来完成此操作。这次我想制作一个包含应用程序和引导程序的elf(两者都有调试符号)。然后我可以通过在后期构建步骤中将其剥离来生成启动加载映像。这允许我构建一个完整的图像并使用链接器来避免冲突等而无需创建我自己的工具,这意味着我可以轻松调试引导加载程序和应用程序中的错误,但唯一的绊脚石会多次使用lib
我认为解决方案可能是制作两个独立的静态库,即bootloader.a和application.a,两者都已包含其他lib,但这看起来很混乱。有谁知道更好的解决方案?