0

我创建了make文件

    obj-m += hello.o

all:
    make -C /home/developer/Desktop/xukr-20120201-omap3/linux-2.6.37-tn M=/home/developer/Desktop/module_test  modules

clean:
    make -C /home/developer/Desktop/xukr-20120201-omap3/linux-2.6.37-tn M=/home/developer/Desktop/module_test clean

然后,我找到了一个简单的hello程序

#define __KERNEL__         /* We're part of the kernel */
#define MODULE             /* Not a permanent part, though. */

/* Standard headers for LKMs */
#include <linux/modversions.h> 
#include <linux/module.h>  

#include <linux/tty.h>      /* console_print() interface */

/* Initialize the LKM */
int init_module()
{
  console_print("Hello, world - this is the kernel speaking\n");
  /* More normal is printk(), but there's less that can go wrong with 
     console_print(), so let's start simple.
  */

  /* If we return a non zero value, it means that 
   * init_module failed and the LKM can't be loaded 
   */
  return 0;
}


/* Cleanup - undo whatever init_module did */
void cleanup_module()
{
  console_print("Short is the life of an LKM\n");
}

我试图用这个在命令行上编译

make ARCH=arm CROSS_COMPILE=angstrom-linux-gnueabi-

我得到这个错误

/bin/sh: angstrom-linux-gnueabi-gcc: not found

这有什么问题?我真的很陌生。

提前致谢,

4

1 回答 1

0

您可以使用remake来调试和理解您的Makefile. 调用它,因为remake -x -d它会给你大量的调试输出,同时表现得像GNU make

$(MAKE)正如我评论的那样,不要忘记make在你的Makefile.

关于错误:angstrom-linux-gnueabi-gcc: not found您需要在系统上安装适当的交叉编译器(和交叉链接器)工具链(或者可能适当地设置您的PATH环境变量,以便找到它)。

所有这些都不能解决你的问题,但会帮助你理解它

于 2012-03-02T08:52:23.690 回答