● AVRStudio的安装
到 ATMEL 官方网站: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 下载安装。
● AVRStudio之建立、打开相关调试文件
--使用汇编语言,软件仿真
若使用汇编语言进行源代码的编写,由于AVRSTUDIO自带ASM编译器,可以直接建立、打开。
接着, 进行代码编写,之后按 进行编译。
--使用ICCAVR,软件仿真
若使用C进行编写,由于AVRSTUDIO不带C编译器,所以需要打开相应的调试文件。
打开*.COF(使用ICCAVR编译器编写源代码)或*.D90文件(使用IAR编译器编写源代码)。这类文件与您需要调试的*.C文件所处同一文件夹。下面以ICCAVR为例,进行介绍。
接着,保存*.aps文件,改文件将记录目标芯片、文件路径等信息。
在打开项目文件的时候,如下图:选择“AVR Simulator”,右边选择实际使用的器件型号,之后点击“Finish”即可进行软件仿真。
选择完成后,即可进行仿真调试了。
--使用JTAGICE仿真器,硬件仿真
与软件仿真不同的是:在打开项目文件的时候,如下图:选择“JTAG ICE”,其它的步骤与软件仿真一致,见上。
--使用JTAG ICE mkII仿真器,硬件仿真
与软件仿真不同的是:在打开项目文件的时候,如下图:选择“JTAG ICE”,其它的步骤与软件仿真一致,见上。
● AVRStudio之调试程序
下面简单介绍使用AVRStudio进行仿真调试
调试控制栏
调试控制栏可以控制程序的执行状态,所有的调试控制都可以由菜单,快捷键和调试工具栏实现。
注意!如果在目标文件中含有有效的源码级信息,所有的调试操作将一直继续执行,直到到达第一条用户源代码语句.如果没有遇到用户源代码语句,程序将继续执行。如果要停止程序的运行,必须在发出停止命令前转换到反汇编模式。
1.开始调试(Start Debugging)
此命令将启动调试模式,并使所有的调试控制命令处于有效。通常在调试模式下不能编辑程序。此命令将连接调试平台,装载目标文件并执行复位操作。
2.停止调试(Stop Debugging)
此命令将停止调试过程,并断开与调试平台的连接,进入编辑模式.
3.复位(Reset)(SHIFT+F5)
此命令可以让目标程序复位。当程序正在运行时,执行此命令的话程序将停止运行。如果用户是在源级模式中,程序会在复位完成后,继续运行直到第一条用户的源代码语句处。复位命令执行后,所有窗口中的信息都将更新。
4.运行(Run)(F5)
调试菜单中的运行命令将启动(重启动)程序。程序将一直运行直到被用户停止或遇到一个断点。只有当程序处于停止运行状态时才能执行此命令。
5.暂停(Break)(CTRL-F5)
调试菜单中的暂停命令将停止程序运行。当程序停止时,所有窗口中的信息都将更新。只有当程序处在运行状态时才能执行此命令。
6.单步执行(Single step, Trace Into)(F11)
调试菜单中的跟踪命令将控制程序只执行一条指令。当 AVR Studio 是在源代码级模式时,可执行一条源代码语句。当在反汇编级模式时,可执行一条反汇编指令。当指令执行完成后,所有窗口中的信息都将更新。
7.逐过程(Step Over)(F10)
调试菜单中的逐过程命令只执行一条指令。如果此条指令包含一个函数调用/子程序调用,该函数/子程序也会同时执行。如果在逐过程命令中遇到用户设置的断点,程序运行将被挂起。在逐过程命令执行完毕后,所有窗口中的信息才会被更新。
8.跳出(Step Out)(SHIFT+F11)
调试菜单中的跳出命令会使程序一直运行,直到当前函数结束。如果遇到用户设置的断点,程序运行将被挂起。当程序处在最外层(如主函数)时,此时执行跳出命令,程序将继续运行,直到遇到一个断点或被用户停止。在该命令执行完成后,所有窗口中的信息都将更新。
a.运行到光标处(Run To Cursor)(F7)
调试菜单中的运行到光标处命令,将使程序运行到源代码窗口中光标指示的语句处停止。此时如果遇到用户的断点,程序的运行将不会被挂起。如果程序运行永远达不到光标指示处的语句,程序将一直继续运行,直到被用户停止。当此命令结束后,所有窗口中的信息都将更新。由于此命令是与光标位置有关,所以只有当源代码窗口激活时才有效。
b.自动运行(Auto Step)
调试菜单中的的自动运行命令将重复执行跟踪指令。当 AVR Studio 处在源代码级模式时,每次执行一条源指令,处在反汇编级模式时,每次执行一条汇编指令,随后所有窗口中的信息都将更新,接者自动执行下一条语句或指令。使用自动运行命令时,程序的运行将一直持续的单步运行,直到遇到一个用户设置的断点或被用户停止。
c.设置清除断点
d.清除所有断点
e.快速观察窗口
上一篇:使用AVRStudio设置AVR熔丝位及烧写程序
下一篇:ATmega16 外部时钟
推荐阅读
史海拾趣