文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux之交叉编译环境

Linux之交叉编译环境

时间:2010-08-17  来源:liliu4239

做过简单C语言编译的朋友知道,我们以前接触的程序设计和编译并没那么复杂,只要在机子上写好程序,调用编译工具(如Turbo C)做一个编译就可以获得可执行文件了,然后直接就可以启动程序,观察结果。注意,这里有一个我们很少注意的问题:写程序的平台、编译程序的平台、运行程 序的平台,三者都是一样的,都是同一类型的机,甚至就是完全在一台计算机上,比如我们的x86 PC机。

而我们做嵌入式软件的开发,实际原理上也可以像以往的工作那样简单,即让编译环境统一在运行环境中。但精明的人们不这么做,可执行的二进制文件最终 是在目标板上的,而目标板做了最吝啬的设计,一般没有足够的资源可供编译软件的安装和运行。这就需要把编译和运行两步分隔开来,让程序的设计和编译工作安 排在宿主机,比如安装x86 PC的linux系统中,然后再把可执行文件下载到开发板上运行。这种“借卵孵蛋”的做法牵扯出一个麻烦的问题,就是需要目的明确地针对特定的目标板(主 要的是板上CPU类型的差别)进行程序的编译,而嵌入式目标板的类型实在太多了,所以,根据需要,建立交叉编译环境就有N多套不同的具体配置方式,让特定 的编译工具组合起来特定编译适应于目标CPU运行的软件。另外,编译嵌入式系统时,根据不同的对象系统(如uclinux、ucosii等)也需要特定的 编译工具配合。所以出现了arm-linux交叉编译环境、建立uclinux交叉编译环境等等不同却有部分重叠的配置,这其实是种定制的方式。而各种看 起来一样却不能通用的配置,各种不同的编译工具,正是让初学者摸不着头脑的。

当然,现在有许多集成开发环境,减小了开发工具配置的难度,只要选择你的目标开发板/CPU,要编译的嵌入式系统,就可以自动选择合适的编译工具进 行编译。但像原始的GNU TOOLS CHAIN就没那么简单,学习使用基本的GNU工具对我们来说也是大有裨益的。

下面就基于GNU工具对常见的目标CPU的交叉环境配置基本步骤和常见的编译相关工具进行一个概括。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载