文档介绍:嵌入式开发基础
张永定
******@chzu.
/32
第七讲嵌入式开发环境(二)
/32
内容提要
实例—引导Windows CE
实例—引导Linux
交叉编译的基本知识
实例—创建交叉编译环境
实例—TFTP服务器的搭建
实例—NFS服务器的搭建
/33
教学目标
掌握交叉编译环境的创建
掌握TFTP服务器的搭建
掌握NFS服务器的搭建
/33
实例—引导Windows CE
出现下面菜单(26-37行)后,按【5】键,引导WinCE。
/33
/33
实例—引导Linux
出现菜单后,按【4】键,引导Linux,系统启动起来以后,在液晶屏中显示出Linux的桌面环境。
/33
交叉编译的基本知识
在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,就称这种编译器支持交叉编译,这个编译过程就叫交叉编译。
交叉编译的主要特征是某机器中执行的程序代码不是在本机编译生成,而是由另一台机器编译生成的,一般把前者称为目标机,后者称为宿主机。
交叉编译环境是一个基于命令行的编译和链接应用程序的环境。交叉调试环境包括宿主机端的交叉调试器和目标机端的调试代理。
/33
交叉编译的基本知识(续)
采用交叉编译的主要原因有两个:
首先,在嵌入式系统开发的起始阶段,目标平台尚未建立,因此需要做交叉编译,来生成所需的BootLoader以及操作系统内核;
其次,当目标平台能够启动之后,由于目标机资源的限制,不能提供足够的资源供编译过程使用,因而只好将编译工程转移到高性能的宿主机中进行。
在宿主机上运行的工具包括交叉编译器、交叉调试器以及各种分析工具。在目标机上运行各种工具的代理,这些代理负责解释并执行宿主机上的工具发送到目标机的命令。
/33
交叉编译的基本知识(续)
gcc编译器
GCC(piler Collection)是一组编译工具的总称,主要的任务是预处理和编译,并且提供了与编译器紧密相关的运行库的支持。
GCC目前支持几乎所有主流CPU处理器平台,可以完成从C、C++、objective-C等源文件向运行在特定CPU硬件上的目标代码的转换。
基于ARM平台的工具分别为arm-linux-as、arm-linux-gcc、arm-linux-g++、arm-linux-ld和arm-linux-objcopy。
/33