购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.2 开发调试软件AVR Studio

AVR Studio是Atmel公司为AVR单片机开发的集成开发环境(IDE),包括AVR Assembler编译器、AVR Studio调试功能、AVR Prog串行、并行下载功能和JTAG ICE仿真等功能,而且该软件完全免费,非常实用。AVR Studio以前的版本(5.0以前)集成的是汇编编译器,因此大家喜欢安装一款我们前面介绍的C语言编译器来配合使用,不过现在Atmel公司推出了最新的5.0版,据说该版本是基于微软的VisualStudio 2010开发环境开发的,所以界面比较美观,用Atmel公司的话说,该软件直观、易用和高效。也有网友介绍,如果我们的计算机安装了VisualStudio 2010中文版,还能看到中文的界面,不过我本人认为只要安装对应的.net Framework和对应的简体中文语言包就可以了,不需要完全安装几GB大小的VS2010,我没有去验证,只是从技术理论上推断。另外,AVR Studio 5更大的优点是集成了GCC的C语言编译器,这样我们就可以直接在里面编写C语言代码、编译C语言程序了。所以推荐大家对AVR的开发流程熟悉之后使用AVR Studio集成开发环境,只是其缺点是安装文件比较大,现在发布版本的大小是602MB。

我这里选择的是AVR Studio 4.19版,这是Atmel公司发布的4.0版中的最新版,该版本集成了4.18及其补丁SP1、SP2和SP3,而且还集成了USB驱动程序。选择该版本是因为其文件比较小,只有124MB,我们仅仅用它来做调试、仿真,大家可以先熟悉一下4.19版,然后再换到5.0版。可以到Atmel公司的官网www.atmel.com下载,我下载到的版本是2011年9月发布的。

3.2.1 下载AVR Studio

Atmel公司曾经有一段时间是提供中文版官方网页的,但后来不知道什么原因老是打不开,现在我们只能使用英文版了。在其主页上就有Atmel AVR Studio 5的介绍,如果下载5.0版,可直接单击“Download Now”或AVR Studio 5的图片进入详细介绍页面。如果想下载AVR Studio 4.19就麻烦点,需要先通过主页菜单行前面的搜索框根据关键字搜索一下。

在Atmel的官网首页选择“Go to Keyword Search”(如图3-17所示),进入产品搜索界面,在关键字Keyword(s)栏中输入“studio”,后面的选项只选择Resources下的Tools项,如图3-18所示。

图3-17 Atmel官网首页

选择完成后,单击“Submit”按钮进入搜索结果显示界面,如图3-19所示。

这里的第3行就是AVR Studio 4,单击“AVR Studio 4”,进入其详细介绍页面,在其中找到AVR Studio 4.19的下载位置,如图3-20所示。

在图3-20所示界面中,单击带“Register”字样的光盘图标 ,进入一个Atmel公司要求填写一些注册信息的页面,在该页面可以根据自己的情况填写信息,其中最为重要的一项是自己的邮箱。提交填写信息后,系统会根据所提供的邮箱自动发送电子邮件,其中就有AVR Studio 4.19的下载链接。

图3-18 根据关键字搜索studio

图3-19 搜索结果

图3-20 AVR Studio 4.19

3.2.2 安装AVR Studio

下载完成后,双击AVR Studio 4.19的安装包 进入安装程序流程,安装首页如图3-21所示。

图3-21 AVR Studio安装首页

在安装首页单击“Next”按钮,进入协议选择界面,安装包默认是“I do not accept theterms of the license agreement”,我们选择“I accept the terms of the license agreement”项,然后单击“Next”按钮进入下一步:安装路径选择界面。

在安装路径选择界面,默认是“C:\Program Files\Atmel\AVR Tools”,我的C盘资源比较紧张,因此修改了安装路径,如图3-22所示。读者可以根据自己的需要修改安装路径。

图3-22 修改安装路径

安装路径修改完成后,单击“Next”按钮,进入安装提示界面,如图3-23所示。

图3-23 安装提示界面

在安装提示界面,单击“Install”按钮,进入开发环境的安装流程,在安装到最后时会提示安装USB-drivers,如图3-24所示。

图3-24 提示安装USB-drivers

这时会弹出安装USB驱动的界面(其实USB驱动我们可以选择不安装,因为在仿真时并不会用到USB驱动),如图3-25所示。

图3-25 安装USB-drivers

安装USB驱动的过程和前面安装Studio的过程基本类似,先选择接受安装协议“I acceptthe terms of the license agreement”,然后单击“Next”按钮进入下一步。下一步是安装路径选择界面,因为是驱动程序,所以直接按默认路径安装,单击“Next”按钮进入下一步。

下一步是安装提示界面,直接单击“Install”按钮,进入安装USB驱动的过程。在安装的过程中会弹出一个DOS对话框,如图3-26所示。

图3-26 安装USB驱动到Windows目录

安装完成后,该DOS界面会自动消失,接下来USB驱动安装界面会提示USB驱动已经安装完成,如图3-27所示。

图3-27 USB驱动安装完成

在USB驱动安装完成界面单击“Finish”按钮,回到AVR Studio安装界面,稍等片刻,系统提示Studio安装完成,如图3-28所示。

图3-28 AVR Studio 4.19安装完成

3.2.3 使用AVR Studio

完成上面一系列的安装过程,下面就来使用AVR Studio集成开发环境。可以通过菜单“开始”→“所有程序”→“Atmel AVR Tools”→“AVR Studio 4”来运行Studio集成开发环境,如图3-29所示。

图3-29 Studio“开始”菜单

运行AVR Studio时会有一个启动界面,如图3-30所示。

图3-30 运行AVR Studio 4.19启动界面

第一次运行AVR Studio会有一个欢迎界面,这是用来让我们做工程选择的,在该界面可以新建一个工程,也可以打开一个原有的工程。这里将“Show dialog at startup”前面的“√”去掉,如图3-31所示,单击“Cancel”按钮进入主界面,如图3-32所示。

图3-31 AVR Studio 4.19欢迎界面

图3-32 AVR Studio 4.19主界面

第一次运行AVR Studio,界面上的列表都是空的,我们就先打开一个前面编译的文件来看看。执行菜单命令“File”→“Open File”打开选择文件对话框,如图3-33所示。

图3-33 Studio打开文件对话框

找到ICC AVR的安装目录,然后进入该目录,找到examples.avr文件夹,选择进入,再找到上一节用ICC AVR编译的LED工程所在的文件夹,进入后选择“LED.cof”,如图3-34所示。

图3-34 选择“LED.cof”文件

选择“LED.cof”文件,然后单击“打开”按钮打开该文件,AVR Studio会提示保存Studio的工程文件LED_cof.aps,按默认提示,单击“保存”按钮,进入AVR Studio的仿真器选择界面,如图3-35所示。

图3-35 仿真器选择界面

在仿真器选择界面,在“Debug platform”列表中选择“AVR Simulator”,进行软件仿真,在右侧的“Device”列表中选择ICC AVR例程使用的设备AT90S8515。最后单击“Finish”按钮,回到AVR Studio仿真主界面,如图3-36所示。

图3-36 AVR Studio仿真主界面

可以看到,仿真界面的左侧是“Processor”窗口,也就是CPU信息列表;右侧是“I/OView”窗口,也就是I/O端口信息,该窗口分上、下两部分;中间是代码显示窗口,我们看到程序仿真已经开始,目前是暂停状态,停在main函数的DDRB = 0xFF; 一行;下侧显示的是工程信息。

我们的示例程序重点修改的是PORTB的端口信息,因此这里重点要看的是PORTB的端口信息。在右侧的“I/O View”窗口选择“PORTB”,如图3-37所示。

图3-37 选择显示端口

然后在工具栏找到 这几个最常用的按钮,单击Step Into(F11)按钮 (也可以通过菜单命令“Debug”→“Step Into”完成此操作),进行单步调试。这时重点观察程序行运行了一行,而右侧的PB口信息也有所改变,如图3-38所示。

图3-38 DDRB信息修改

我们看到,PORTB有三个寄存器:DDRB、PINB、PORTB。而DDRB=0xFF语句运行之后,就改变了寄存器DDRB的值,可以在右侧的图表中清晰地看到。

再次单击Step Into按钮,执行下一条语句,可以看到执行过PORTB=0xFF语句之后,PINB、PORTB寄存器的值都被修改了,如图3-39所示。

图3-39 修改PINB、PORTB寄存器的值

接下来用工具栏上的Toggle Breakpoint按钮 在第一个“LED_On(i)”行添加一个断点。添加的方法是,先用鼠标将光标转移到该行(在该行行首单击鼠标),然后单击“Toggle Breakpoint”按钮。接着让程序运行到断点处,可以用run(F5)按钮 来完成,如图3-40所示。

图3-40 运行程序到断点处

然后再次使用Step Into按钮跟踪调试,看看LED_On函数内部的操作。进入LED_On函数之后,再按一次Step Into按钮,将光标停留在“PORTB=~BIT(i)”一行。这时我们要看看i的值,可以将鼠标停留在i上一会儿,会有一个浮动窗口显示i的值;也可以通过窗口来显示该值,执行菜单命令“View”→“Watch”打开“Watch”窗口,在“Watch”窗口的“name”列表中输入“i”并回车,就可以看到变量i的值了,如图3-41所示。

图3-41 使用“Watch”窗口

接下来看看“PORTB=~BIT(i)”这行语句执行的结果,使用工具栏上的Step Over(F10)按钮 来完成该操作。执行完该操作会发现,光标停留在“Delay()”一行,而且PORTB的值发生了变化,如图3-42所示。

图3-42 观察PORTB寄存器的变化

接下来通过工具栏上的Step Out(Shift+F11)按钮 跳出LED_On函数,程序会跳转回main函数。我们使用工具栏上的Remove all Program Breakpoints按钮 将刚才添加的断点去掉,然后将光标设定在main函数的第二个LED_On语句上(在该行单击鼠标),再使用工具栏上的Run to Cursor按钮 将程序直接运行到第二个LED_On语句处,此时变量i的值是8,DDRB、PINB、PORTB的状态如图3-43所示。

最后,可以单击Reset(Shift+F5)按钮 让程序重新运行,也可以单击StopDebugging(Ctrl+Shift+F5)按钮 结束程序的仿真。

OK,有关AVR Studio集成开发环境就先了解这么多,其实还有一个功能我们还没有介绍,那就是将AVR Studio和Proteus结合起来做仿真调试。

图3-43 程序运行到第二个LED_On语句处

上面介绍的是在AVR Studio中进行软件仿真,只能通过寄存器的状态来看仿真结果,而通过Proteus可以更加直观地看到程序运行的结果,就像在电路板上做实验一样。由于篇幅的限制,本章有关工具的介绍就先讲到这里,关于AVR Studio和Proteus的结合仿真,我们会在下一章讲解单片机入门时演示。 /fc1lncaBRA/0wpF2t9806mG8AYW1ReQwjKLCmVXBplrT0G9P3gT1nNgHoAVpUus

点击中间区域
呼出菜单
上一章
目录
下一章
×