网站大量收购独家精品文档,联系QQ:2885784924

嵌入式开发交叉编译环境建立课件.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式开发交叉编译环境建立课件

嵌入式开发交叉编译环境;;过程 ;下载源文件、补丁和建立编译的目录 ;下载源文件、补丁和建立编译的目录;下载源文件、补丁和建立编译的目录;下载源文件、补丁和建立编译的目录;;建立内核头文件 ;建立内核头文件;还要建立几个正确的链接 ? $cd include $ln -s asm-arm asm $cd asm $ln -s arch-epxa arch $ln -s proc-armv proc ? 接下来为你的交叉编译环境建立你的内核头文件的链接 ? $mkdir -p $TARGET_PREFIX/include $ln -s $PRJROOT/kernel/linux-2.4.21/include/linux? $TARGET_PREFIX/include/linux $in -s $PRJROOT/kernel/linux-2.4.21/include/asm-arm? $TARGET_PREFIX/include/asm ? ;也可以把 Linux 内核头文件拷贝过来用 ? $mkdir -p $TARGET_PREFIX/include $cp -r $PRJROOT/kernel/linux-2.4.21/include/linux? $TARGET_PREFIX/include $cp -r $PRJROOT/kernel/linux-2.4.21/include/asm-arm? $TARGET_PREFIX/include??? ? ;建立二进制工具(binutils) ;建立二进制工具(binutils);;建立初始编译器(bootstrap gcc) ;编译并安装 gcc 前,我们先要改一个文件 $PRJROOT/gcc/config/arm/t-linux,把 TARGET_LIBGCC2-CFLAGS = -fomit-frame-pointer -fPIC 这一行改为 TARGET_LIBGCC2-CFLAGS = -fomit-frame-pointer -fPIC -Dinhibit_libc -D__gthr_posix_h 你如果没定义 -Dinhibit,编译时将会报如下的错误 ? ../../gcc-2.95.3/gcc/libgcc2.c:41: stdlib.h: No such file or directory ../../gcc-2.95.3/gcc/libgcc2.c:42: unistd.h: No such file or directory make[3]: *** [libgcc2.a] Error 1 make[2]: *** [stmp-multilib-sub] Error 2 make[1]: *** [stmp-multilib] Error 1 make: *** [all-gcc] Error 2 ? ;如果没有定义 -D__gthr_posix_h,编译时会报如下的错误 ? In file included from gthr-default.h:1, ???????????????? from ../../gcc-2.95.3/gcc/gthr.h:98, ???????????????? from ../../gcc-2.95.3/gcc/libgcc2.c:3034: ../../gcc-2.95.3/gcc/gthr-posix.h:37: pthread.h: No such file or directory make[3]: *** [libgcc2.a] Error 1 make[2]: *** [stmp-multilib-sub] Error 2 make[1]: *** [stmp-multilib] Error 1 make: *** [all-gcc] Error 2 ? 还有一种与-Dinhibit同等效果的方法,那就是在你配置configure时多加一个参数-with-newlib,这个选项不会迫使我们必须使用newlib。我们编译了bootstrap-gcc后,仍然可以选择任何c库。 ;;;建立 c 库(glibc) ;建立全套编译器(full gcc) ;$ls $PREFIX/bin 你会发现多了 arm-linux-g++ 、arm-linux-protoize 和 arm-linux-c++ 几个文件。 G++-gnu的 c++ 编译器。 Protoize-与Unprotoize相反,将KR C的源码转化为ANSI C的形式,函数原型中加入参数类型。 C++-gnu 的 c++ 编译器。 到这里你的交叉编译工

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档