人们无法在上述嵌入式或移动终端设备上编辑C 语言或其他形式的源代码,只能在PC的Windows或Linux操作系统下(称为宿主机)编辑源代码,然后把代码编译成为嵌入式计算机(称为目标机)可以执行的指令。这就需要建立所谓的交叉开发环境,包括交叉编译、交叉下载、交叉调试以及方便于调试的模拟器,实现软件开发。
交叉编译器(cross compiler):是能够将本机上的源代码编译为其他机器(目标机)指令格式的编译器。例如,运行在Windows上的编译器(注意:Windows运行在Intel X86的指令格式),将C源代码编译为基于安卓操作系统的ARM 机器指令格式的可执行代码。
链接器(Linker):与4.1.3节说明的链接器的功能是一样,即把多个代码模块装配起来,形成可执行的二进制映像文件。
下载(download):通过RS232串口、网线等把链接好的可执行程序下载到目标板上。(www.xing528.com)
交叉调试器(cross debugger):在宿主机上跟踪源代码,在目标机上运行二进制码,两者要能对应上。
为实现下载和交叉调试,目标机上必须有一个与宿主机进行通信的小精灵(demon)。软件开发商和芯片制造商们需要制定一个能直接读写和操作芯片的通信协议和硬件引脚。这种接口称为交叉调试接口(JTAG,Joint Test Action Group)是企业间联合测试工作组制定的标准测试协议(与IEEE 1149.1兼容)。
模拟器(Simulator):是指在宿主机操作系统上,模拟目标机代码的执行。这样,可以避免交叉调试的麻烦。模拟器基本上可以模拟目标机代码的执行。待基本调试完成后,再下载到目标上运行。例如,常常使用模拟器在PC上模拟手机程序的运行情况。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。