1.5.2 模拟开发环境

通常,为保证嵌入式系统开发项目的进度,硬件开发和软件开发往往同时进行,这时作为目标机的硬件环境还没有建立起来,软件的开发就需要一个模拟环境来进行调试。模拟开发环境建立在交叉开发环境基础之上,是对交叉开发环境的补充。这时,除了宿主机和目标机之外,还需要提供一个在宿主机上模拟目标机的环境,使得开发好的程序直接在这个环境中运行调试。

模拟硬件环境是非常复杂的,由于指令集模拟器与真实的硬件环境相差很大,即使用户使用指令集模拟器调试通过的程序也有可能无法在真实的硬件环境下运行,因此软件模拟不可能完全代替真正的硬件环境。这种模拟调试只能作为一种初步调试,主要是作为用户程序的模拟运行,用来检查语法、程序的结构等简单错误,用户最终还必须在真实的硬件环境中实际运行调试,完成整个应用的开发。