上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2.1 嵌入式Linux的开发模式
嵌入式系统开发主要包括宿主机的开发与目标机的开发。宿主机能够对嵌入式系统中的代码进行编译、定址、链接和执行。目标机则是嵌入式系统中的硬件平台。
嵌入式系统开发需要将应用程序转换成相应的二进制代码,目标机中只能运行这些二进制代码,转换主要分为三个过程,分别是编译过程、链接过程与定址过程。其中,嵌入式系统中的交叉编译器能够编译相关程序,常见的交叉编译器有GNU C/C++(gcc)。
嵌入式系统的调试过程主要使用的工具就是交叉调试器,调试方式通常采用宿主机-目标机的形式,宿主机与目标机之间的连接是通过以太网或串行口线来实现的。交叉调试主要包括任务级调试、汇编级调试与源代码级调试。
交叉编译是指在一个平台上生成可以在另一个平台上执行的代码。交叉编译的主要特征是在某机器上执行的代码不是在本机器上编译的,而是在其他机器上编译的。一般把执行代码的机器称为目标机,把编译代码的机器称为宿主机。嵌入式系统的开发采用交叉编译的方式,这是因为目标机上通常不能运行开发所需的编译器。交叉编译如图2.9所示。
图2.9 交叉编译