天嵌 ARM开发社区

 找回密码
 注册
查看: 7149|回复: 23

编译Linux内核出错

[复制链接]
流浪记 发表于 2013-7-10 10:47:50 | 显示全部楼层 |阅读模式
drivers/built-in.o: In function `beep_close':
/home/jason/download/opt/EmbedSky/TQ3358/Kernel_3.2_TQ3358_for_Linux_v1.1/drivers/char/tq335

8_beep.c:111: undefined reference to `pwm_release'

drivers/built-in.o: In function `beep_open':
/home/jason/download/opt/EmbedSky/TQ3358/Kernel_3.2_TQ3358_for_Linux_v1.1/drivers/char/tq335

8_beep.c:94: undefined reference to `pwm_request'

drivers/built-in.o: In function `beep_ioctl':
/home/jason/download/opt/EmbedSky/TQ3358/Kernel_3.2_TQ3358_for_Linux_v1.1/drivers/char/tq335

8_beep.c:70: undefined reference to `pwm_set_duty_ns'
/home/jason/download/opt/EmbedSky/TQ3358/Kernel_3.2_TQ3358_for_Linux_v1.1/drivers/char/tq335

8_beep.c:71: undefined reference to `pwm_stop'
/home/jason/download/opt/EmbedSky/TQ3358/Kernel_3.2_TQ3358_for_Linux_v1.1/drivers/char/tq335

8_beep.c:78: undefined reference to `pwm_set_period_ns'
/home/jason/download/opt/EmbedSky/TQ3358/Kernel_3.2_TQ3358_for_Linux_v1.1/drivers/char/tq335

8_beep.c:79: undefined reference to `pwm_set_duty_ns'
/home/jason/download/opt/EmbedSky/TQ3358/Kernel_3.2_TQ3358_for_Linux_v1.1/drivers/char/tq335

8_beep.c:80: undefined reference to `pwm_start'

make: *** [.tmp_vmlinux1] 错误 1
wbz073 发表于 2013-7-10 11:06:13 | 显示全部楼层
看着你是在蜂鸣器哪里出错的,你配置没配错吧
 楼主| 流浪记 发表于 2013-7-10 11:15:37 | 显示全部楼层
开发板手册里面没有说怎么配置啊。我也不知道怎么配置。我是新手。我觉得开发板手册里面应该讲清楚啊
 楼主| 流浪记 发表于 2013-7-10 11:19:19 | 显示全部楼层
我就是按照默认配置,就把kernel feature里面的 Use the ARM EABI to compile the kernel给选了。其他都没改。您能告诉我具体的配置吗?
wbz073 发表于 2013-7-10 11:22:16 | 显示全部楼层
流浪记 发表于 2013-7-10 11:19
我就是按照默认配置,就把kernel feature里面的 Use the ARM EABI to compile the kernel给选了。其他都没改 ...

我们开发手册有详细的过程,建议你详细阅读操作手册“3.2.1 编译 Android 内核”,linux方法类似,你也能找到
 楼主| 流浪记 发表于 2013-7-10 11:26:23 | 显示全部楼层
是的。是按照手册上来编译的。那个解压源码tar xvfj Kernel_3.2_TQ3358_for_Linux_v1.1 -C/  这条指令后面那个 -C/ 是什么?我没有加这个,这应该不影响吧、
 楼主| 流浪记 发表于 2013-7-10 11:28:32 | 显示全部楼层
我的步骤跟手册上的步骤是一样的。可是make uImage的时候就是出现那些错误。不知道是不是交叉编译器arm-none-linux-gcc的版本问题
wbz073 发表于 2013-7-10 11:36:46 | 显示全部楼层
流浪记 发表于 2013-7-10 11:28
我的步骤跟手册上的步骤是一样的。可是make uImage的时候就是出现那些错误。不知道是不是交叉编译器arm-non ...

你用的交叉编译工具是多少版本,是我们光盘中提供的吗,交叉编译工具没用对也有可能一些库会找不到的。建议你刚开始完全按照手册来做
 楼主| 流浪记 发表于 2013-7-10 11:44:06 | 显示全部楼层
光盘里面好像没有交叉编译器吧。我之前用的arm-2009q3版本的arm-none-linux-gnueabi。编译出现上面那个错误。后来我直接用sudo apt-get install gcc-arm-linux-gnueabiz指令安装的。还是出现同样的错误。光盘里面好像有已经编译好的镜像文件,内核跟uboot,我可以直接把这2个下载进去来讲开发板设置成linux系统吗?我是说,要将开发板烧写成linux系统,直接把linux跟uboot镜像文件烧写进去就可以了吧?
wbz073 发表于 2013-7-10 12:06:19 | 显示全部楼层
流浪记 发表于 2013-7-10 11:44
光盘里面好像没有交叉编译器吧。我之前用的arm-2009q3版本的arm-none-linux-gnueabi。编译出现上面那个错误 ...

我们光盘有对应的linux镜像,你可以直接烧进去。交叉编译工具灭个平台不同,你用apt-get安装的。一定不能用的。你在我们光盘资料“Linux平台工具”文件夹下,能找到我们提供的编译工具
亚瑟王 发表于 2013-7-10 12:21:47 | 显示全部楼层
流浪记 发表于 2013-7-10 11:26
是的。是按照手册上来编译的。那个解压源码tar xvfj Kernel_3.2_TQ3358_for_Linux_v1.1 -C/  这条指令后面那 ...

如果你是跟着手册来做的,你应该会在手册中看到如何安装交叉编译器的。建议仔细一些。
 楼主| 流浪记 发表于 2013-7-10 12:32:00 | 显示全部楼层
请问那个tar xvfj Kernel_3.2_TQ3358_for_Linux_v1.1 -C/最后的这个-C/需要用吗?我解压没有用这个。
wbz073 发表于 2013-7-10 13:52:25 | 显示全部楼层
流浪记 发表于 2013-7-10 12:32
请问那个tar xvfj Kernel_3.2_TQ3358_for_Linux_v1.1 -C/最后的这个-C/需要用吗?我解压没有用这个。

-C 只是类似目录切换,你解压到后面的文件夹。主要还是你的交叉编译工具没弄好,代码解压位置没关系的
 楼主| 流浪记 发表于 2013-7-10 14:59:19 | 显示全部楼层
你好,我安装交叉编译工具4.4.6——TQ3358_release_20120720.tar.bz2的时候,gedit /etc/environment指令出错    (gedit:8038):EggSMClient-WARNING **:Failed to connect to the session manager:none of the authentication protocols specified ar supported
     **(gedit:8038):WARNING**:Could nont connect  to session bus
wbz073 发表于 2013-7-10 15:35:15 | 显示全部楼层
流浪记 发表于 2013-7-10 14:59
你好,我安装交叉编译工具4.4.6——TQ3358_release_20120720.tar.bz2的时候,gedit /etc/environment指令出 ...

你是打不开/etc/environment吗。需要在root权限下修改
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-17 04:13 , Processed in 1.062500 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表