6、如指令模拟器不能全面仿真芯片行为,尤其是中断和外围模块没法通过指令模拟起来仿真。所以在FPGA上进行软件开发和在指令模拟器上进行软件开发都是必要的,在FPGA上开发的软件基本可以平移到目标芯片上。这样在硬件设计的FPGA验证阶段就开始开发软件,能缩短项目开发时间,降低成本。本文接下来就详细介绍这种方法。 当前用得较多的软件开发环境,基本上有两类[2]: ① 插桩方法(软断点)。嵌入式微处理器内部不需要特别的硬件支持。软件包括PC端的HOST软件:提供用户调试程序的界面、与仿真板进行通信的接口函数等;仿真板上的监控程序(monitor),存放在仿真板上的一个具有固定地
7、址的只读存储器中。其特点是:方便廉价的方式,不需要特别的硬件支持;缺点是效率不高,只能对RAM程序调试。 ② ICE+JTAG方法。在芯片上设计ICE模块的在线仿真器。这种方法是在芯片内设计一个嵌入式ICE模块,ICE模块作为嵌入式微处理器和开发系统之间的桥梁,在线仿真器中的嵌入式微处理器即是目标系统中真实的处理器。和插桩方法相比这种方法的效率比较高,可对ROM程序调试;但需要特殊的硬件支持。 由于插桩法软件开发环境的建立不需要特殊的硬件支持(在芯片上不需要ICE模块的支持)、相对容易和廉价,可以在硬件设计的FPGA验证阶段同时开始这种软件开发环境的建立。同时为了使