proteus的调试器很有特色,使用很方便。网上有很多的仿真实例。有的调试的时候会出现源代码窗口。这是使用Proteus自带汇编器,如ASEM51时,它将产生SDI文件,所以当你单步调试时,源代码窗口就出现SDI文件。
SDI文件是用Proteus里面ASEMDDX.exe生成,用来显示汇编源码。ASEMDDX.exe是个命令行程序。使用方法是先用ASEM51编译汇编程序,生成hex和lst文件,再在命令行方式下输入:
ASEMDDX 文件名
ASEMDDX会查找文件名对应的lst文件。然后生成SDI文件。(只能用于ASEM51生成的lst文件,不支持其他编译器生成的lst文件)
我们用keil编译的汇编文件能实现源码仿真吗?只要在Keil编译时生成omf文件取代hex文件,将其加载给CPU,就可以实现Proteus下的源码仿真,而不需要同时打开Keil。
必须注意,不同的编译器产生的omf文件格式不尽相同,因此,并不是所有的omf文件在Proteus中都支持源代码调试,但可以肯定的是Keil生成的omf是支持源代码调试的。
当你使用Keil编译时,选择生成omf文件(omf51格式文件是Keil中生成的带调试信息的目标文件),如下图所示:
然后在Proteus加载生成的omf文件,源代码窗口将可以打开相应的源代码文件。包括汇编代码和C代码。