我正在尝试使用微软的ELL库/编译器,将一个简单的学习算法部署到微控制器上。但我过去在嵌入式开发方面的知识更为扎实。问题如下:
ELL从CNTK机器学习模型生成一个LLVM IR文件和一个C头文件(没有纯C/C++文件)。到目前为止一切顺利。现在我可以使用IR告诉llc为目标平台生成汇编文件或对象文件(在我这里是ARM Cortex M4)。
因此,我得到一个头文件model.h和一个汇编文件model.s或一个对象文件model.o。现在我想在我的嵌入式项目中包含这个带有头文件和预编译模型的模型。我使用的是Bosch XDK进行开发,IDE基本上是Eclipse。那么,有没有办法将预编译模型包含在我的代码中?如果可以,如何操作?以及如何在Eclipse中正确包含它?或者我还需要做进一步的步骤?我也考虑过将对象文件制作成静态库,但对此我没有任何经验,我的尝试至今未能成功。感谢您的帮助。
回答:
如果您从对象文件创建一个静态库,链接器只会提取对象文件并进行链接。这是一个不必要的步骤,您可以直接在链接器命令行中添加对象文件。或者,您可以将.s源文件添加到您的项目中——默认的构建规则应该会将其识别为汇编语言文件,并调用汇编器而不是编译器。