嵌入式Linux开发环境搭建.ppt

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

嵌入式系统定义 嵌入式系统的应用 嵌入式Linux开发环境 嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写软件比较困难,有时候甚至是不可能的。 解决办法: 首先在通用计算机上编写程序; 然后通过交叉编译生成目标平台上可以运行的二进制代码格式; 最后再下载到目标平台上的特定位置上运行。 嵌入式Linux开发环境 关于交叉编译 在一种平台上编译出能在另一种平台(体系结构不同)上运行的程序。 在PC平台(X86 CPU)上编译出能运行在arm平台上的程序,编译得到的程序在X86 CPU平台上是不能运行的,必须放到arm平台上才能运行。 用来编译这种程序的编译器就叫交叉编译器。 为了不跟本地编译器混淆,交叉编译器的名字一般都有前缀。例如:arm-linux-gcc 嵌入式Linux开发环境 嵌入式Linux开发环境 嵌入式Linux开发环境 需要交叉开发环境(Cross Development Environment)的支持是嵌入式应用软件开发时的一个显著特点。 交叉编译器只是交叉开发环境的一部分。 交叉开发环境是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用宿主机-目标机模式。 嵌入式Linux开发环境 宿主机-目标板模式 宿主机(Host)是一台通用计算机,它通过串口或者以太网接口与目标机通信。宿主机的软硬件资源比较丰富,能够大大提高嵌入式应用软件的开发速度和效率。 目标板(Target),应用程序实际运行的平台,或者是能够替代实际运行环境的仿真系统。软硬件资源通常都比较有限。 嵌入式Linux开发环境 宿主机-目标机模式 首先利用宿主机上丰富的资源和良好的开发环境开发和仿真调试目标机上的软件; 然后通过串口或者以网络将交叉编译生成的目标代码传输并装载到目标机上,并在监控程序或者操作系统的支持下利用交叉调试器进行分析和调试; 最后目标机在特定环境下脱离宿主机单独运行。 嵌入式Linux开发环境 开放的交叉开发环境的典型代表是GNU工具链目前已经能够支持x86、ARM、MIPS、PowerPC等多种处理器。 商业的交叉开发环境则主要有Metrowerks CodeWarrior、ARM Software Development Toolkit等等。 嵌入式Linux开发环境 GNU交叉工具链 交叉编译器,例如arm-linux-gcc 交叉汇编器,例如arm-linux-as 交叉链接器,例如arm-linux-ld 用于处理可执行程序和库的一些基本工具。例如arm-linux-strip 嵌入式Linux开发环境 GNU交叉工具链的下载 ARM官方网站下载 .uk 可以从该站点下载2.95.3以及3.2工具链 .uk/pub/armlinux/toolchain/cross-2.95.3.tar.bz2 .uk/pub/armlinux/toolchain/cross-3.2.tar.bz2 嵌入式Linux开发环境 cross-2.95.3.tar.bz2包的安装: mkdir /usr/local/arm cp cross-2.95.3.tar.bz2 /usr/local/arm tar zxvf cross-2.95.3.tar.bz2 添加环境变量 在文件/etc/bashrc 文件最后添加: export PATH=/usr/local/arm/2.95.3/bin:$PATH 工具链安装完成。 嵌入式Linux开发环境 GNU交叉工具链的常用工具介绍 嵌入式Linux开发环境 主要工具的使用 arm-linux-gcc 的使用 arm-linux-gcc –o hello hello.c arm-linux-ar 和 arm-linux-ranlib 的使用 建立一个静态库 arm-linux-ar –r libhello.a h1.o h2.o 为静态库建立索引 arm-linux-ar –s libhello.a arm-linux-ranlib libhello.a 由静态库产生可执行文件 arm-linux-gcc -o hello hello.c –lhello –L ./ arm-linux-gcc -o hello hello.c libhello.a 嵌入式Linux开发环境 主要工具的使用 arm-linux-strip 的使用 移除所有的符号信息--strip-all Cp hello hello1 arm-linux-strip -strip-all hello -rwxr-xr-x 1 arm root 2856 7 月 3 15:14 hello -rwxr-xr-x 1

文档评论(0)

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

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

1亿VIP精品文档

相关文档