Linux kernel 如何为ARM构建zaptel?

Linux kernel 如何为ARM构建zaptel?,linux-kernel,arm,linux-device-driver,Linux Kernel,Arm,Linux Device Driver,我正在为Arm交叉编译zaptel驱动程序 我正在跟踪这个项目,为blackfin arch构建zaptel驱动程序。在构建uClinux、oslec和补丁以构建额外的模块wcfxs、sport_interface、bfsi而不是原来的模块之后,这个命令发挥了神奇的作用 make -C /home/working/BAPS/uClinux-dist/linux-2.6.x/ SUBDIRS=/home/working/BAPS/zaptel-1.4.3/ modules V=1 ARCH=bla

我正在为Arm交叉编译zaptel驱动程序 我正在跟踪这个项目,为blackfin arch构建zaptel驱动程序。在构建uClinux、oslec和补丁以构建额外的模块wcfxs、sport_interface、bfsi而不是原来的模块之后,这个命令发挥了神奇的作用

make -C /home/working/BAPS/uClinux-dist/linux-2.6.x/ SUBDIRS=/home/working/BAPS/zaptel-1.4.3/ modules V=1 ARCH=blackfin CROSS_COMPILE=bfin-uclinux- EXTRA_CFLAGS="-DCONFIG_4FX_SPI_INTERFACE"
构建过程成功运行,bfsi.ko、sport_interface.ko、wcfxs.ko、zaptel.ko生成并对我的astfin板有用,在上一个过程中也是oslec.ko

bfsi.ko:            ELF 32-bit LSB relocatable, Analog Devices Blackfin, version 1 (SYSV), not stripped
sport_interface.ko: ELF 32-bit LSB relocatable, Analog Devices Blackfin, version 1 (SYSV), not stripped
wcfxs.ko:           ELF 32-bit LSB relocatable, Analog Devices Blackfin, version 1 (SYSV), not stripped
zaptel.ko:          ELF 32-bit LSB relocatable, Analog Devices Blackfin, version 1 (SYSV), not stripped
所以我想用我的臂板做同样的事情,特别是我的小猎犬骨黑色。 首先,我完全建成了奥斯陆,然后是奥斯陆。我知道oslec也是一个内核模块,但我很容易构建它

make -C [my bbb kernel] ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- EXTRA_CFLAGS="-I/home/working/AAPS/oslec/kernel -I/home/working/AAPS/oslec/spandsp-0.0.3/src/spandsp" SUBDIRS=/home/working/AAPS/oslec/kernel modules
我有oslec.ko,看起来还可以

kernel/oslec.ko: ELF 32-bit LSB relocatable, ARM, version 1 (SYSV), not stripped
但我被困在了最后一步——建造zaptel 这是我的make命令

make-C/home/working/AAPS/dl/buildroot-bbb/output/build/linux-3.8.13/\ SUBDIRS=/home/working/AAPS/zaptel-1.4.3/modules V=1 ARCH=arm\ CROSS_COMPILE=armlinux gnueabihf-KBUILD\u NOPEDANTIC=1\ EXTRA_CFLAGS=-DCONFIG_4FX_SPORT_INTERFACE-I/home/working/AAPS/zaptel-1.4.3/staging/usr/include 出现错误:

include/linux/wait.h:159:47: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
 #define wake_up_interruptible(x) __wake_up(x, TASK_INTERRUPTIBLE, 1, NULL)
我发现常量TASK_interruptable是在$my_bbb_kernel/include/linux/sched.h和$blackfin_uclinux_kernel/linux-2.6.x/include/linux/sched.h中定义的,但其中一个适用于blackfin的uclinux,另一个不适用于我的bbb内核。我不知道它们是如何包含的,因为我不太熟悉linux内核模块的开发。 因此,如果有人对此有任何想法,请给我一些指示或解释。 顺致敬意, 来当