proteus的調(diào)試器很有特色,使用很方便。網(wǎng)上有很多的仿真實(shí)例。有的調(diào)試的時(shí)候會(huì)出現(xiàn)源代碼窗口。這是使用Proteus自帶匯編器,如ASEM51時(shí),它將產(chǎn)生SDI文件,所以當(dāng)你單步調(diào)試時(shí),源代碼窗口就出現(xiàn)SDI文件。
SDI文件是用Proteus里面ASEMDDX.exe生成,用來(lái)顯示匯編源碼。ASEMDDX.exe是個(gè)命令行程序。使用方法是先用ASEM51編譯匯編程序,生成hex和lst文件,再在命令行方式下輸入:
ASEMDDX 文件名
ASEMDDX會(huì)查找文件名對(duì)應(yīng)的lst文件。然后生成SDI文件。(只能用于ASEM51生成的lst文件,不支持其他編譯器生成的lst文件)
我們用keil編譯的匯編文件能實(shí)現(xiàn)源碼仿真嗎?只要在Keil編譯時(shí)生成omf文件取代hex文件,將其加載給CPU,就可以實(shí)現(xiàn)Proteus下的源碼仿真,而不需要同時(shí)打開(kāi)Keil。
必須注意,不同的編譯器產(chǎn)生的omf文件格式不盡相同,因此,并不是所有的omf文件在Proteus中都支持源代碼調(diào)試,但可以肯定的是Keil生成的omf是支持源代碼調(diào)試的。
當(dāng)你使用Keil編譯時(shí),選擇生成omf文件(omf51格式文件是Keil中生成的帶調(diào)試信息的目標(biāo)文件),如下圖所示:
然后在Proteus加載生成的omf文件,源代碼窗口將可以打開(kāi)相應(yīng)的源代碼文件。包括匯編代碼和C代碼。