玩家宝典:原创+精彩!
本机型论坛入口
 宝典文章搜索

 各机型宝典
 作者其他宝典文章
  更正《深度剖析E680G..
  深度剖析E680G应用五...
  深度剖析E680G应用四...
  深度剖析E680G应用三...
  深度剖析E680G应用二...
 本机型宝典文章
  更正《深度剖析E680G..
  深度剖析E680G应用五...
  深度剖析E680G应用四...
  深度剖析E680G应用三...
  E680G语音拨号的重大..
 所有机型宝典文章
  对机子修改和功能完善..
  详解UCWEB之各项特点..
  多浏览器并驾齐驱,八..
  关于显示手机号码和名..
  N93无线局域网上网设置
实用技巧 玩家奖数 9 | 评论次数  | 查看/发表评论   
深度剖析E680G开发一.所谓的交叉编译环境
草木瓜 2006-09-12 22:04:49

一、前言

    前面文章涵盖的内容对普通人来说应该都比较容易理解和运用,然而这仅仅只能说明你会刚会用罢了,从本文开始,我们需要更深入一步,去探讨E680G的操作系统的开发环境,自然内容也变专业了。

    很遗憾目前网上有关的资料都不尽如人意,也许是水平太高了吧,反而写出来的文章让人看了一头雾水。为了能让更多人能跨过这个门槛,我会用较多的篇幅来介绍相关专业知识。另外最好有真实的Linux环境,文中操作皆使用虚拟机RedHatLinux9。

    希望看完这篇文章得出的结论是:搭建E680交叉编译开发环境并不难!

    相关部分附件下载http://play.younet.com/view.php?tid=18578   

二、交叉编译理论准备

    我们经常会说平台,平台出现的根源要从处理器(CPU)说起,不同的CPU采用不同的指令集。所谓指令集,则是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合的指令系统。

    E680手机系列采用的是Inter XScale处理器,基于ARM v5TE体系结构,扩展了ARM指令集的核心,本质还是ARM处理器。这和我们平时经常接触PC机的CPU是不同的,PC机大多采用Inter X86的指令集。

    ARM处理器最大的特点就是:功耗低,应用方案灵活,可以方便为多媒体信号添加指令集等。目前来说几乎所有的手持操作系统包括智能手机都采用了ARM架构进行设计。

    我们如果要在E680系列所采用的操作系统----MontaVista Linux下开发,就需要一个编译器能把C程序代码转换为兼容ARM指令集的机器语言。这种编译就称为交叉编译。
   
    要深刻理解这个概念,我们再对比一下C,Java这两种语言。

    Java号称Compile once,run everywhere。即编译一次到处运行。事实也确实如此,Java编译生成的是字节代码,然后由各个平台的Java虚拟机解释执行。实际上在E680G上,J2ME的JAR包是由/usr/SYSjava/kvm解释执行的。

    Java是通过提供各类平台的虚拟机程序来实现平台无关性。这样也很大的牺牲了执行效率。

    C语言则不一样,主要特点就是接近低层,可根据不同处理器生成高效的机器代码。适合做复杂的运算和实时的控制。所以针对C语言,会有很多不同平台的编译器负责将代码直接编译成高效的机器指令。

    说到这里,我们显然明白了:普通Linux PC机上的GCC编译器编译的可执行程序复制到E680上是不能够被执行的。要在E680平台上进行开发,需要构造一个能兼容ARM的GCC了,这就是所谓的交叉编译环境。

  首页 | 上页 | 下页 | 末页 (1/2 页)  
查看/发表评论 >>>
  发表评论
  发贴请遵守《互联网电子公告服务管理规定》《友人网服务条款》
用户名:
用户名: 密码:  
内容:
 

关于我们 | 网站声明 | 服务条款 | 广告服务 | 意见与建议 | 业务联系
友人网 1998-年版权所有