编译警告 - ARM交叉编译器

时间:2013-10-03 18:12:47

标签: makefile arm embedded-linux kernel-module linux-toolchain

我一直在尝试交叉编译可加载的内核模块,我一直在收到警告信息,希望得到帮助。

以下是警告信息

make[1]: Entering directory `/home/userid/rowboat-android/kernel'
   Building modules, stage 2.
   MODPOST 1 modules
WARNING: "omap_device_build" [/home/userid/myfiles/lcdc_load_device.ko] undefined!
WARNING: "omap_hwmod_lookup" [/home/userid/myfiles/lcdc_load_device.ko] undefined!
make[1]: Leaving directory `/home/userid/rowboat-android/kernel'

下面是Makefile

obj-m :=lcdc_load_device.o
lcdc_load_device-m := ../rowboat-android/kernel/arch/arm/plat-omap/omap_device.o
lcdc_load_device-m += ../rowboat-android/kernel/arch/arm/mach-omap2/omap_hwmod.o

ccflags-m := -I$(src)/../rowboat-android/kernel/arch/arm/plat-omap/include/plat/

KDIR := /home/userid/rowboat-android/kernel/
PWD := $(shell pwd)

default:
   $(MAKE) ARCH=arm CROSS_COMPILE=/home/userid/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- -C $(KDIR) SUBDIRS=$(PWD) modules

clean:
   $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean

我怀疑makefile正在找到“omap_device_build”“omap_hwmod_lookup”函数的头文件。

感谢您的帮助,谢谢您的进步。

1 个答案:

答案 0 :(得分:0)

感谢 mbratch 无艺术噪音的评论

要解决警告,需要导出符号。对于上述问题

EXPORT_SYMBOL(omap_device_build) in omap_device.c 
EXPORT_SYMBOL(omap_hwmod_lookup) in omap_hwmod.c

并编译内核。然后针对编译的内核编译可加载的内核模块。执行以下操作以验证符号是否已导出

grep omap_device_build /proc/kallsyms
or
grep omap_device_build Module.symvers

有关详细信息,请参阅以下链接

欢迎评论

谢谢