编译uclinux2.6真就这么难!?? 自己到底缺哪些东西???

Mr FF 2009-08-06 10:27:05
新人,第一步总是艰难.因为工作需要,要编译个uclinux,就这样把我给难住了.
我编译的uclinux 2.6
环境是:fedora 10
make xconfig
采用的是: GDB
ARM
linux 2.6
uclibc

结果在make 的时候出现了一些问题:
首先 no arm-linux-20070808-gcc in (/usr/kerberos/sbin:/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/arm/usr/local/arm/3.4.1/bin/:/usr/local/arm/3.4.1/bin/:/usr/local/arm/usr/local/arm/3.4.1/bin/:/home/guningyi/bin)
大概是说这个编译器没有找到,我查了一下,是在 uClinux-dist/vendors/config/armnommu/ 下有个
config.arch 中提到了,我将其注释掉后又提示我其它的编译器版本太老.

继续编译到最后结果是出错.


libc/libc_so.a(difftime.os)(.text+0x8): In function `difftime':
: undefined reference to `__floatsidf'
libc/libc_so.a(difftime.os)(.text+0x2c): In function `difftime':
: undefined reference to `__subdf3'
libc/libc_so.a(_fpmaxtostr.os)(.text+0xb4): In function `_fpmaxtostr':
: undefined reference to `__nedf2'
libc/libc_so.a(_fpmaxtostr.os)(.text+0xd8): In function `_fpmaxtostr':
: undefined reference to `__eqdf2'
libc/libc_so.a(_fpmaxtostr.os)(.text+0xf4): In function `_fpmaxtostr':
: undefined reference to `__divdf3'
libc/libc_so.a(_fpmaxtostr.os)(.text+0x100): In function `_fpmaxtostr':
: undefined reference to `__ltdf2'
libc/libc_so.a(_fpmaxtostr.os)(.text+0x15c): In function `_fpmaxtostr':
: undefined reference to `__muldf3'
libc/libc_so.a(_fpmaxtostr.os)(.text+0x2c0): In function `_fpmaxtostr':
: undefined reference to `__gedf2'
libc/libc_so.a(_fpmaxtostr.os)(.text+0x350): In function `_fpmaxtostr':
: undefined reference to `__adddf3'
libc/libc_so.a(__psfs_do_numeric.os)(.text+0x570): In function `__psfs_do_numeric':
: undefined reference to `__truncdfsf2'
libc/libc_so.a(strtof.os)(.text+0x1c): In function `__GI_strtof':
: undefined reference to `__extendsfdf2'
arm-linux-ld: BFD 2.15.90.0.3 20040415 assertion fail /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/binutils-2.15.90.0.3/bfd/elf32-arm.h:1861
arm-linux-ld: BFD 2.15.90.0.3 20040415 assertion fail /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/binutils-2.15.90.0.3/bfd/elf32-arm.h:1861
make[4]: * [lib/libc.so] Error 1
make[3]: * [lib/libc.so.0] 错误 2
make[3]: Leaving directory `/home/guningyi/download/uClinux-dist/uClibc'
make[2]: * [uClibc] 错误 2
make[2]: Leaving directory `/home/guningyi/download/uClinux-dist/lib'
make[1]: * [all] 错误 2
make[1]: Leaving directory `/home/guningyi/download/uClinux-dist/lib'
make: * [subdirs] 错误 1

请高手帮我看看,大概是什么地方出了问题,谢谢!
...全文
516 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouyangc 2009-08-18
  • 打赏
  • 举报
回复
make clean 再make dep
ShowMan 2009-08-06
  • 打赏
  • 举报
回复
上sourceforge上下载一个新的用用吧。
ShowMan 2009-08-06
  • 打赏
  • 举报
回复
嗯,这个基本上是编译太老的原因。
fc上没有armgcc吗?
内容简介:
在Linux或μClinux源代码中,Make文件是一种重要的文件,它担当着编译生成系统目标代码的重任。本书立足于μClinux源代码,通过分析其中的Make文件,以及与这些Make文件密切相关的部分源代码,给出一种在源代码水平上理解系统目标代码生成过程和生成原理的方法。这不仅是一本关于 Make文件编写、学习、组织、应用的书籍,也是一本基于ARM技术进行μClinux嵌入式系统开发的工程技术人员不可少的参考书,同时也是高等院校中有志于学习和应用Linux或μClinux师生们的良好教材。

目录:
前言
第1章 基于ARM的μClinux简介
1.1 嵌入式系统
 1.2 嵌入式系统与Unux
 1.3 Linux、μClinux与ARM
 1.4 Make文件的学习实验环境
 1.5 小结
 1.6 习题
第2章 Make文件的理解和阅读入门
 2.1 编写Make文件的例子
 2.2 Make文件的编写说明
  2.2.1 编写Make文件的要素
  2.2.2 具体规则的编写和使用概要
  2.2.3 静态格式规则
  2.2.4 双冒号规则
  2.2.5 自动生成#include中头文件依赖
  2.2.6 命令的使用技巧
  2.2.7 变量的定义和使用
  2.2.8 条件语句
  2.2.9 函数
  2.2.10 运行Make文件
  2.2.11 隐含规则
  2.2.12 用make更新档案文件
 2.3 Make文件中的惯例
 2.4 make产生的错误信息
 2.5 小结
 2.6 习题
第3章 Linux中Make文件及其相互关系
 3.1 核心Make文件传递下来的变量
 3.2 结构Make文件的变量
 3.3 子目录Make的结构
 3.4 Rules.make变量
 3.5 新方式变量
 3.6 小结
 3.7 习题
第4章 基于ARM的μClinux源代码中Make文件综述
 4.1 Make文件分布
 4.2 Make文件的分析
  4.2.1 Make文件的分类及相互关系
  4.2.2 Make文件在系统编译中的地位和作用
  4.2.3 Make文件表现出的功能和方法
  4.2.4 源代码、Make文件和系统目标的关系
 4.3 小结
 4.4 习题
第5章 核心Make文件功能与分析
 5.1 核心Make文件功能及其说明
 5.2 核心Make文件与其他Make文件的关系
 5.3 核心Make文件源代码分析与说明
  5.3.1 核心Make文件分析
  5.3.2 核心Make文件总体说明
  5.3.3 一个通用核心Make文件例子 
 5.4 小结
 5.5 习题
第6章 结构Make文件功能与分析
 6.1 结构Make文件功能与实现
 6.2 一例:ARM结构Make文件
  6.2.1 ARM结构Make文件说明
  6.2.2 ARM结构Make文件分析
  6.2.3 ARM结构Make文件总体说明
 6.3 二例:i386结构Make文件
  6.3.1 i386结构Make文件说明
  6.3.2 i386结构Make文件分析
  6.3.3 i386结构Make文件总体说明
 6.4 小结
 6.5 习题
第7章 Rules.make功能与分析
第8章 子目录Make文件功能与分析
第9章 μClinux系统配置源代码分析
第10章 自动确立依赖的分析
第11章 Make文件执行情景
参考文献
目 录 第1章 ARM微处理器概述 1.1 ARM-Advanced RISC Machines 1.2 ARM微处理器的应用领域及特点 1.2.1 ARM微处理器的应用领域 1.2.2 ARM微处理器的特点 1.3 ARM微处理器系列 1.3.1 ARM7微处理器系列 1.3.2 ARM9微处理器系列 1.3.3 ARM9E微处理器系列 1.3.4 ARM10E微处理器系列 1.3.5 SecurCore微处理器系列 1.3.6 StrongARM微处理器系列 1.3.7 Xscale处理器 1.4 ARM微处理器结构 1.4.1 RISC体系结构 1.4.2 ARM微处理器的寄存器结构 1.4.3 ARM微处理器的指令结构 1.5 ARM微处理器的应用选型 1.6 本章小节 第2章 ARM微处理器的编程模型 2.1 ARM微处理器的工作状态 2.2 ARM体系结构的存储器格式 2.3 指令长度及数据类型 2.4 处理器模式 2.5 寄存器组织 2.5.1 ARM状态下的寄存器组织 2.5.2 Thumb状态下的寄存器组织 2.5.3 程序状态寄存器 2.6 异常(Exceptions) 2.6.1 ARM体系结构所支持的异常类型 2.6.2 对异常的响应 2.6.3 从异常返回 2.6.4 各类异常的具体描述 2.6.5 异常进入/退出小节 2.6.6 异常向量(Exception Vectors) 2.6.7 异常优先级(Exception Priorities) 2.6.8 应用程序中的异常处理 2.7 本章小节 第3章 ARM微处理器的指令系统 3.1 ARM微处理器的指令集概述 3.1.1 ARM微处理器的指令的分类与格式 3.1.2 指令的条件域 3.2 ARM指令的寻址方式 3.2.1 立即寻址 3.2.2 寄存器寻址 3.2.2 寄存器间接寻址 3.2.3 基址变址寻址 3.2.4 多寄存器寻址 3.2.5 相对寻址 3.2.6 堆栈寻址 3.3 ARM指令集 3.3.1 跳转指令 3.3.2 数据处理指令 3.3.3 乘法指令与乘加指令 3.3.4 程序状态寄存器访问指令 3.3.5 加载/存储指令 3.3.6 批量数据加载/存储指令 3.3.7 数据交换指令 3.3.8 移位指令(操作) 3.3.9 协处理器指令 3.3.10 异常产生指令 3.4 Thumb指令及应用 3.5 本章小节 第4章 ARM程序设计基础 4.1 ARM汇编器所支持的伪指令 4.1.1 符号定义(Symbol Definition)伪指令 4.1.2 数据定义(Data Definition)伪指令 4.1.3 汇编控制(Assembly Control)伪指令 4.1.4 其他常用的伪指令 4.2 汇编语言的语句格式 4.2.1 在汇编语言程序中常用的符号 4.2.2 汇编语言程序中的表达式和运算符 4.3 汇编语言的程序结构 4.3.1 汇编语言的程序结构 4.3.2 汇编语言的子程序调用 4.3.3 汇编语言程序示例 4.3.4 汇编语言与C/C++的混合编程 4.4 本章小节 第5章 应用系统设计与调试 5.1 系统设计概述 5.2 S3C4510B概述 5.2.1 S3C4510B及片内外围简介 5.2.2 S3C4510B的引脚分布及信号描述 5.2.3 CPU内核概述及特殊功能寄存器(Special Registers) 5.2.4 S3C4510B的系统管理器(System Manager) 5.3 系统的硬件选型与单元电路设计 5.3.1 S3C4510B芯片及引脚分析 5.3.2 电源电路 5.3.3 晶振电路与复位电路 5.3.4 Flash存储器接口电路 5.3.5 SDRAM接口电路 5.3.6 串行接口电路 5.3.7 IIC接口电路 5.3.8 JTAG接口电路 5.3.9 10M/100M以太网接口电路 5.3.10 通用I/O接口电路 5.4 硬件系统的调试 5.4.1 电源、晶振及复位电路 5.4.2 S3C4510B及JTAG接口电路 5.4.3 SDRAM接口电路的调试 5.4.4 Flash接口电路的调试 5.4.5 10M/100M以太网接口电路 5.5 印刷电路板的设计注意事项 5.5.1 电源质量与分配 5.5.2 同类型信号线的分布 5.6 本章小节 第6章 部件工作原理与编程示例 6.1 嵌入式系统的程序设计方法 6.2 应用程序编程示例 6.2.1 通用I/O口工作原理与编程示例 6.2.2 串行通讯工作原理与编程示例 6.2.3 中断控制器工作原理与编程示例 6.2.4 定时器工作原理与编程示例 6.2.5 GDMA工作原理与编程示例 6.2.5 IIC总线控制器工作原理
似乎搞ARM开发入门都是用这本书。 上网搜了很久,勉强下载下来了 1分,算是搜索小费啦 然后我还转转成了PDF更合适大家看啦!嘿嘿 介绍如下: 目录 第1 章 ARM 微处理器概述 5 1.1 ARM-Advanced RISC Machines 5 1.2 ARM 微处理器的应用领域及特点 5 1.2.1 ARM 微处理器的应用领域 5 1.2.2 ARM 微处理器的特点 6 1.3 ARM 微处理器系列 6 1.3.1 ARM7 微处理器系列 6 1.3.2 ARM9 微处理器系列 7 1.3.3 ARM9E 微处理器系列 7 1.3.4 ARM10E 微处理器系列 7 1.3.5 SecurCore 微处理器系列 8 1.3.6 StrongARM 微处理器系列 8 1.3.7 Xscale 处理器 8 1.4 ARM 微处理器结构 8 1.4.1 RISC 体系结构 8 1.4.2 ARM 微处理器的寄存器结构 9 1.4.3 ARM 微处理器的指令结构 9 1.5 ARM 微处理器的应用选型 10 1.6 本章小节 10 第2 章 ARM 微处理器的编程模型 11 2.1 ARM 微处理器的工作状态 11 2.2 ARM 体系结构的存储器格式 11 2.3 指令长度及数据类型 12 2.4 处理器模式 12 2.5 寄存器组织 13 2.5.1 ARM 状态下的寄存器组织 13 2.5.2 Thumb 状态下的寄存器组织 15 2.5.3 程序状态寄存器 16 2.6 异常(Exceptions) 18 2.6.1 ARM 体系结构所支持的异常类型 18 2.6.2 对异常的响应 18 2.6.3 从异常返回 19 2.6.4 各类异常的具体描述 19 2.6.5 异常进入/退出小节 20 2.6.6 异常向量(Exception Vectors) 20 2.6.7 异常优先级(Exception Priorities) 21 2.6.8 应用程序中的异常处理 21 2.7 本章小节 21 ARM 应用系统开发详解──基于S3C4510B 的系统设计 2 第3 章 ARM 微处理器的指令系统 22 3.1 ARM 微处理器的指令集概述 22 3.1.1 ARM 微处理器的指令的分类与格式 22 3.1.2 指令的条件域 23 3.2 ARM 指令的寻址方式 23 3.2.1 立即寻址 24 3.2.2 寄存器寻址 24 3.2.2 寄存器间接寻址 24 3.2.3 基址变址寻址 24 3.2.4 多寄存器寻址 25 3.2.5 相对寻址 25 3.2.6 堆栈寻址 25 3.3 ARM 指令集 25 3.3.1 跳转指令 25 3.3.2 数据处理指令 26 3.3.3 乘法指令与乘加指令 30 3.3.4 程序状态寄存器访问指令 32 3.3.5 加载/存储指令 32 3.3.6 批量数据加载/存储指令 34 3.3.7 数据交换指令 35 3.3.8 移位指令(操作) 35 3.3.9 协处理器指令 36 3.3.10 异常产生指令 38 3.4 Thumb 指令及应用 38 3.5 本章小节 39 第4 章 ARM 程序设计基础 40 4.1 ARM 汇编器所支持的伪指令 40 4.1.1 符号定义(Symbol Definition)伪指令 40 4.1.2 数据定义(Data Definition)伪指令 41 4.1.3 汇编控制(Assembly Control)伪指令 43 4.1.4 其他常用的伪指令 45 4.2 汇编语言的语句格式 48 4.2.1 在汇编语言程序中常用的符号 49 4.2.2 汇编语言程序中的表达式和运算符 49 4.3 汇编语言的程序结构 52 4.3.1 汇编语言的程序结构 52 4.3.2 汇编语言的子程序调用 52 4.3.3 汇编语言程序示例 53 4.3.4 汇编语言与C/C++的混合编程 55 4.4 本章小节 56 第5 章 应用系统设计与调试 57 ARM 应用系统开发详解──基于S3C4510B 的系统设计 3 5.1 系统设计概述 57 5.2 S3C4510B 概述 58 5.2.1 S3C4510B 及片内外围简介 58 5.2.2 S3C4510B 的引脚分布及信号描述 61 5.2.3 CPU 内核概述及特殊功能寄存器(Special Registers) 67 5.2.4 S3C4510B 的系统管理器(System Manager) 72 5.3 系统的硬件选型与单元电路设计 82 5.3.1 S3C4510B 芯片及引脚分析 82 5.3.2 电源电路 83 5.3.3 晶振电路与复位电路 83 5.3.4 Flash 存储器接口电路 85 5.3.5 SDRAM 接口电路 89 5.3.6 串行接口电路 93 5.3.7 IIC 接口电路 94 5.3.8 JTAG 接口电路 95 5.3.9 10M/100M 以太网接口电路 96 5.3.10 通用I/O 接口电路 100 5.4 硬件系统的调试 101 5.4.1 电源、晶振及复位电路 101 5.4.2 S3C4510B 及JTAG 接口电路 102 5.4.3 SDRAM 接口电路的调试 103 5.4.4 Flash 接口电路的调试 105 5.4.5 10M/100M 以太网接口电路 105 5.5 印刷电路板的设计注意事项 105 5.5.1 电源质量与分配 105 5.5.2 同类型信号线的分布 106 5.6 本章小节 106 第6 章 部件工作原理与编程示例 107 6.1 嵌入式系统的程序设计方法 107 6.2 部件工作原理与编程示例 108 6.2.1 通用I/O 口工作原理与编程示例 108 6.2.2 串行通讯工作原理与编程示例 111 6.2.3 中断控制器工作原理与编程示例 120 6.2.4 定时器工作原理与编程示例 123 6.2.5 GDMA 工作原理与编程示例 127 6.2.6 IIC 总线控制器工作原理 133 6.2.7 以太网控制器工作原理 138 主要特性 139 MAC 功能模块 140 带缓冲DMA 接口(Buffered DMA Interface) 144 以太网控制器特殊功能寄存器(Ethernet Controller Special Registers) 147 MAC 寄存器(Media Access Control(MAC)Register) 154 以太网控制器的操作(Ethernet Controller Operation) 160 发送一个帧(Transmitting a Frame) 162 ARM 应用系统开发详解──基于S3C4510B 的系统设计 4 接收一个帧(Receiving a Frame) 162 6.2.8 Flash 存储器工作原理与编程示例 162 6.3 BootLoader 简介 167 6.4 本章小节 167 第7 章 嵌入式uClinux 及其应用开发 168 7.1 嵌入式uClinux 系统概况 168 7.2 开发工具GNU 的使用 170 7.2.1 GCC 编译器 170 7.2.2 GNU Make 172 7.2.3 使用GDB 调试程序 177 7.3 建立uClinux 开发环境 180 7.3.1 建立交叉编译器 181 7.3.2 uClinux 针对硬件的改动 184 7.3.3 编译uClinux 内核 185 7.3.4 内核的加载运行 187 7.4 在uClinux 下开发应用程序 188 7.4.1 串行通信 190 7.4.2 socket 编程 195 7.4 .3 添加用户应用程序到uClinux 202 7.4.4 通过网络添加应用程序到目标系统 205 7.5 本章小结 207 第8 章ARM ADS 集成开发环境的使用 209 8.1 ADS 集成开发环境组成介绍 209 8.1.1 命令行开发工具 209 8.1.2 ARM 运行时库 218 8.1.3 GUI 开发环境(Code Warrior 和AXD) 219 8.1.4 实用程序 221 8.1.5 支持的软件 221 8.2 使用ADS 创建工程 222 8.2.1 建立一个工程 222 8.2.2 编译和链接工程 225 8.2.3 使用命令行工具编译应用程序 229 8.3 用AXD 进行代码调试 230 8.4 本章小结 233

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧