我想从u-boot程序集代码中调用arm tf(arm可信固件(中定义的C函数。u-boot的汇编代码是arch/arm/lib/gic_64.S。它的构建过程并不像我想要的那样成功,所以我在这里用一个简单的例子问它。
在u-boot构建树中,有一个目录arch/arm/lib
。我添加了一个目录arch/arm/lib/testd
,并将testf.c
放在那里。testf.c只是打印一个字符串。在arch/arm/lib/Makefile
中,我添加了
libs-y += arch/arm/lib/testd
在arch/arm/lib/testd/Makefile
中,我添加了
obj-y += testf.o
当我在u-boot根目录中执行make
时,我发现arch/arm/lib/testd下没有任何内容。但如果我执行make arch/arm/lib/testd/testf.o
,则该文件已生成。我看到了这个问题,但无济于事。事实上,如果它成功的话,我想我应该看到spl/arch/arm/lib/testd/{内置.o,testf.o}(因为我正在构建u-boot-spl(
如果有人能告诉我该怎么做,我将不胜感激。谢谢!
如果我只在arch/arm/lib/Makefile中添加
obj-y += testd/
然后通过执行make
,我看到生成了arch/arm/lib/testd/testf.o和spl/arch/arm/lib/testd/{buildin.o,testf.o}
关键部分是testd/
而不是testd
。