1)将dk-lm3s301软件包的blinky工程导入到CCS6中。
2)将CCS的输出文件改成.elf格式文件,如图2-25所示。
图2-25 生成.elf格式文件
3)编译blinky工程,并将生成的.elf格式文件导入到Proteus 测试电路中,如图2-26所示。
图2-26 导入.elf格式文件
4)制作原理图动画(Schematic Animation),如图2-27所示。
图2-27 制作原理图动画(Schematic Animation)
5)启动仿真可看到LED闪烁,此时可按下暂停键,会出现闪烁灯的源代码,并如图2-28所示设置断点。
图2-28 闪烁灯源代码、原理图动画样式及设置断点(www.xing528.com)
6)在观察窗口中添加变量GPIO_PORTB_DATA,其步骤为:右键单击Watch窗口→在弹出的菜单中选择Add Items(By Name)选项→选择端口B→选中GPIODATA_B→最后单击Done完成变量的添加,如图2-29所示。
图2-29 添加观察变量
说明:此时GPIO_PORTB_DATA的值为0,可以看到LED灯也没亮,符合程序意图。
7)首先单击调试工具栏上的全速运行按钮,使程序在断点处停止(见图2-28),然后再单击按钮(Step Over Source Line)或键盘上的F11单步运行闪烁灯程序,当执行完断点处(0212)的程序后,LED灯点亮,同时GPIO_PORTB_DATA的值为1,说明GPIO_PORTB_DATA_R∣=0x01;语句的确能使LED发光,程序正确,如图2-30所示。
图2-30 单步运行的结果与观察到的现象吻合(点亮)
8)继续单步,当执行完0222语句GPIO_PORTB_DATA_R&=~(0x01);后,LED灯熄灭且GPIO_PORTB_DATA_R=0。程序运行结果和观察的现象吻合,该条语句正确。如图2-31所示。
图2-31 单步运行的结果与观察到的现象吻合(熄灭)
小结:采用Proteus的动画调试功能,可轻松查找M3代码中存在的错误,或许比在真实开发板卡中进行M3程序的调试来得更加容易,值得读者掌握。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。