Chinaunix首页 | 论坛 | 博客
  • 博客访问: 586319
  • 博文数量: 192
  • 博客积分: 3780
  • 博客等级: 中校
  • 技术积分: 1487
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-26 10:11
文章存档

2012年(6)

2011年(160)

2010年(26)

分类: 嵌入式

2011-05-05 21:31:38

mini2440交叉编译出错问题

今天在想在ubuntu上编译一个helloworld的测试驱动,结果出现如下错误:

derek@derek-virtual-machine:~/mini2440/kernel-2.6.13$ make modules ARCH=arm
make: /usr/local/arm/3.4.1/bin/arm-linux-gcc:命令未找到
  CHK     include/linux/version.h
  CC      scripts/mod/empty.o
/bin/sh: /usr/local/arm/3.4.1/bin/arm-linux-gcc: not found
make[2]: *** [scripts/mod/empty.o] 错误 127
make[1]: *** [scripts/mod] 错误 2
make: *** [scripts] 错误 2

即提示在/usr/local/arm/3.4.1/bin/中找不到交叉编译器,但我在家目录的.bashrc文件中设置了交叉编译器,并导出到PATH环境变量,但为什么会到/usr/local/arm/3.4.1/bin/目录下去查找交叉编译器,结果查看内核源代码目录的Makefile文件发现默认指定了一个交叉编译器,如下:

ARCH            ?= arm
CROSS_COMPILE   ?= /usr/local/arm/3.4.1/bin/arm-linux-

因此,可以通过修改Makefile中的CROSS_COMPILE值为自己定义的,或者通过在编译的时候直接指定,如下:

make modules ARCH=arm CROSS_COMPILE=arm-linux-
即可。

另外,在mini2440上我的driver/char中添加了hello.c文件,在Kconfig中添加上了如下:

config QQ2440_HELLO_MODULE
        tristate "QQ2440/mini2440 Hello Module sample"
        depends on ARCH_S3C2410
        help
          QQ2440 hello module sample.

结果make menuconfig查看的时候为什么找不到相关文件原来是在ARCH_S3C2410依赖选项没选上。



阅读(1204) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~