2. avr 开发环境与工具入门_第1页
2. avr 开发环境与工具入门_第2页
2. avr 开发环境与工具入门_第3页
2. avr 开发环境与工具入门_第4页
2. avr 开发环境与工具入门_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 X 章 AVR 开发环境与工具入门X.1 AVR 单片机的开发环境 这一章我们来介绍一下 AVR 单片机的开发环境。对于一款单片机,即可以用汇编语言对其进行编程,也可以利用其它的高级语言比如C 语言对其编程。51 系列单片机的 C 编译器较通用的如德国的 Keil 集成开发环境(IDE) ,及在国内相对普及的伟福软件(WAVE) 。AVR 的开发环境相对较多。许多第三方的厂商为 AVR 系列单片机开发了对应的 AVR 单片机 C 编译器,每个 C编译器各有特点。其中比较主要的有:CVAVR(CodeVisionAVR)、EWAVR(IAR Embedded Workbench)、ICCAVR、WinAVR(GCCAVR) 。EWAVR 由 IAR 公司推出,ICCAVR 由 ImageCraft 公司推出。ATMEL 公司也推出其自己的集成开发环境(IDE)及内含的汇编语言编译器,也就是AVR Studio 集成开发环境。AVR Studio 环境内不包含 C 语言编译器,但支持第三方软件WinAVR 做为 C 编译器。个人学习时,笔者推荐使用 WinAVR 做为 C 编译器,AVR Studio 做为程序下载、仿真软件。两者配合使用构成完整的 AVR 开发环境。X.2 CVAVR、EWAVR 、ICCAVR 软件简介 下面逐一简要介绍 CodeVisionAVR、EWAVR 、ICCAVR 。X.2.1 CodeVisionAVR CodeVisionAVR 是一个交互的 C 编译器,有完整的 IDE 和自动生成初始化程序的功能,并且支持 AVR 系列的微控制器。CVAVR 编译器几乎完全贯彻了 ANSI C 语言的标准,为了更好地支持 AVR 微控制器和对嵌入式系统的需要,CVAVR 进行了专门的优化处理。CVAVR 编译生成的“COFF”(一种通用的对象文件格式,Common Object File Format)目标文件支持 C 源代码级的调试,例如变量观察;同时“COFF”也能在 AVR 的官方调试仿真工具“Atmel AVR Studio debugger ”中进行仿真调试。 CVAVR 的 IDE 内建了 AVR 在线编程功能,能自动传输二进制代码文件到 AVR 芯片上。并且对大多数常用的的串并在线 ISP 编程提供了界面友好的支持。 (我也用它来烧写芯片)CVAVR 还提供了一个在调试时很有用的串口终端,能接收来自微控制器传过来的实时调试信息(这是很有用的一个功能,一般调试单片机程序有接LED 显示调试参数,软件仿真,硬件仿真,和通过串口实时传输调试信息到 PC 上) 。除了标准的 C 语言函数库外, CVAVR 还提供了一些专用的库,例如:* Alphanumeric LED modules* Philips I2C bus* National Semiconductor LM75 Temperature Sensor* Philips PCF8563, PCF8583, Maxim/Dallas Semiconductor DS 1302 and DS1307 Real Time Clocks* Maxim/Dallas Semiconductor 1 Wire protocol* Maxim/Dallas Semiconductor DS1820, DS18S20 and DS18B20 Temperature Sensors* Maxim/Dallas Semiconductor DS1621 Thermometer/Thermostat* Maxim/Dallas Semiconductor DS2430 and DS2433 EEPROMs* SPI* Delays* Gray code conversionCVAVR IDE 有强大的自动生成初始化 AVR 单片机内部集成的硬件功能的代码功能。支持如下:* External memory access setup* Chip reset source identification* Input/Output Port initialization* External Interrupts initialization* Timers/Counters initialization* Watchdog Timer initialization* UART(USART) initialization and interrupt driven buffered serial communication* Analog Comparator initialization* ADC initialization* SPI Interface initialization* Two Wire Interface initialization* CAN Interface initialization * I2C Bus, LM75 Temperature Sensor, DS1621 Thermometer/Thermostat and PCF8563, PCF8583,DS1302, DS1307 Real Time Clocks initialization* 1 Wire Bus and DS1820/ Ds18S20 Temperature Sensors initialization* LCD module initialization.为使读者对 CVAVR 有一个感性认识,介绍一下它的界面。CVAVR 评估版的程序安装界面如下:图 X CVAVR 程序安装程序安装十分的简单,可以采用默认设置,一直点击下一步即可。安装完成后,双击CVAVR 的菜单图标打开 CVAVR IDE,程序初始化界面如下:图 X 打开 CVAVR IDE打开 CVAVR IDE 后会看到 CVAVR IDE 的程序编辑界面,由于刚刚安装,界面内还没有任何代码:图 X 打开 CVAVR IDE打开程序自带的例子,点击图标 。这些范例通常位于安装文件夹下的“/examples/“下面。图 X CVAVR IDE 的程序编辑界面对这个例子执行编译命令,点击对应图标按钮 ,会弹出如下对话框,给出编译结果的相关信息:图 X CVAVR IDE 的程序编辑界面当我们编辑好程序并且正确编译后,可以点击图标 进行调试,程序第一次安装并没有指定调试器,顺着 CVAVR 的向导可以指定调试器比如 AVRStudio 4。点击左侧的“Code Templates“会看到 CVAVR 给出很多代码模板:图 X CVAVR 的代码模板X.2.2 EWAVR 首先介绍一下 IAR 公司。IAR Systems 是全球领先的嵌入式系统开发工具和服务的供应商。公司成立于 1983年,迄今已有 27 年,提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括:带有 C/C+编译器和调试器的集成开发环境(IDE) 、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。EWAVR 与本书介绍的其它编译器有一个很大的不同在于其拥有自己的调试器 :IAR C-SPY 调试器。当然 EWAVR 软件也可以生成 AVRStudio 可以识别的文件格式,用于在AVRStudio 软件中调试。嵌入式 IAR Embedded Workbench是一个集成开发环境。IAR Embedded Workbench 主要包括: IAR C-SPY 调试器 IAR C-SPY 调试器系统 IAR C/C+编译器 IAR汇编器 IAR XLINK连接器 IAR XAR Library Builder库创建器和IAR XLIB Librarian库管理器IAR Embedded Workbench IDE 提供一个框架,任何可用的工具都可以完整地嵌入其中,这些工具包括: 高度优化的 IAR AVR C/C+编译器; AVR IAR 汇编器; 通用 IAR XLINK Linker; IAR XAR 库创建器和 IAR XLIB Librarian; 一个强大的编辑器; 一个工程管理器; IAR C-SPYTM 调试器。嵌入式 IAR Embedded Workbench 适用于大量 8 位、 16 位以及 32 位的微处理器和微控制器,使用户在开发新的项目时也能在所熟悉的开发环境中进行。它为用户提供一个易学和具有最大量代码继承能力的开发环境,以及对大多数和特殊目标的支持。嵌入式IAR Embedded Workbench 有效提高用户的工作效率,通过 IAR 工具,用户可以大大节省工作时间。使用 IAR Embedded Workbench IDE,用户可以设计高级的工程模型。用户可以建立一个工作区,以创建一个或多个工程。并且已经有现成的工程模板用以开发应用工程和库。每个工程都可以建立以组为级别的结构,而在其中用户可以合理放置用户的源文件。每个工程用户都可以定义一个或多个 build 配置。X.2.3 ICCAVR X.3 WinAVR 软件 本节介绍如何使用 WinAVR 进行代码编辑、makefile 文件配置、以及如何编译。X.3.1 WinAVR 软件简介 WinAVR (读作“whenever“ )是一个针对于 AVR 单片机的免费开源软件工具包。在Windows 平台上运行,包括 GNU GCC C 和 C+编译器。WinAVR 就是 GCC 的 Windows 版本,GCC 原是在 Linux 类系统中运行。WinAVR软件的发行等事宜由自由软件基金会进行管理。由于是自由软件供大家免费使用,WinAVR 拥有广大的用户群体。WinAVR 不支持浮点型变量,没有完整的集成开发环境(IDE) 。ATmanAVR 软件是基于 GCC 的 IDE,界面友好,但是这是一个商业软件。对于初学者来说,一般的应用不涉及浮点型变量的使用,故可以忽略 WinAVR 不支持浮点型变量。可以用 AVRStudio 来编辑代码、相应的 makefile 文件以及执行编译命令,以弥补 WinAVR 集成开发环境的不足。WinAVR 软件的要点: WinAVR 没有完整的集成开发环境,确切的说它是一个工具集。 代码的编辑可以使用 PN 工具或其他软件,最简单的如 Windows 自带的记事本。 需要一个叫做 makefile 的文件进行编译; makefile 文件可以自行编写,也可用MFile 工具生成(也可用 AVRStudio 软件进行设置,后面章节有介绍) 。 与 AVRStudio 软件配合使用,可以下载程序、仿真等。 可以在命令行的情形下执行编译命令(make) 。X.3.2 菜单图标简介 首先安装 WinAVR 软件,笔者安装的版本为 2007 版。安装 WinAVR 以后桌面和开始菜单会有很多图标:图 X WinAVR 的程序图标 AVR Insight 是 AVR 的仿真调试应用程序。 AVR-libc Manual 是软件的 C 语言函数库用户手册。 GNU Maunals Online 图标对应一个网络 URL 链接,是 GNU 的在线帮助。 WinAVR 编译的时候需要一个叫做 makefile 的文件,其指定了工程编译时的相关参数(如芯片型号) 。点击图中的 MFile 图标可以打开 MFfile 应用程序,在其中可以做配置 makefile 文件。 Programmers Notepad 是一个程序编辑器,在其中也可以执行编译选项(make) 。 图标 Uninstall WinAVR 用于卸载 WinAVR 软件。 WinAVR User Manual 是 WinAVR 用户手册。由于我们使用 AVRStudio 软件编辑程序及配置 makefile,故以上的图标多数不常用。但为使读者对 WinAVR 有更大的认识、以及学习更多的方法,下一节还会对 PN 工具及MFile 工具做一定的讲解。X.2.3 使用 Programmers Notepad 编辑程序 Programmers Notepad 是专门用于编辑代码的应用程序,不含烧写芯片、仿真程序等功能。双击桌面或开始菜单的 PN(Programmers Notepad)图标 ,即可进入代码编辑界面。为叙述方便,打开 PN 后我们点击打开文件按钮 ,或者点击FileOpen ,在E:AVR ProgramTest 文件夹下找到我们已经编辑好的文件 Test.c 。文件 Test.c 的内容如图中所示。图 X WinAVR 的 PN 界面此时,我们就可以使用 PN 进行代码的编辑了。菜单栏 给出常用的菜单选项;工具栏 给出了常规的撤消、剪切、复制等功能;当我们想关闭正在编辑的程序时,可以单击右上角的最小化、最大化等按钮。X.3.4 使用 MFile 配置 makefile 首先解释一下什么是 makefile。当 WinAVR 编译器想编译一个文件时,需要一些参数数据。包括这段代码所对应的芯片类型(比如是 ATmega16 还是 ATmega64) 、所选择的晶振大小、优化级别、生成文件等参数,这些参数即存储在一个叫做 makefile 的文件中。也就是说,只要代码文件和 makefile 文件都存在,即可对其进行编译。可以不使用PN 编辑器等其它软件工具也可以进行编译。双击桌面或开始菜单的 MFile 图标 ,即可进入 makefile 配置界面。图 X WinAVR 的 MFile 界面现在我们为上一节中的 Test.c 文件配置 makefile: 点击菜单栏中的 Makefile 选项,依次按图中的 MCU type 选项,选择 MCU类型为 ATmega16。图 X MFile 下选择 MCU 类型 Main file name 修改为 Test (与Test.c 配合) ,不必填写后缀名,这是需要编译的目标文件;输出的文件也将以此命名。 C/C+ source files 中如果 Test.c 没有被勾选,则勾选上,或者直接浏览选择上;WinAVR-20070525默认是勾选的。如果你的工程中还中还有其它C文件,则在此处加入,并以空格分开。 为使初学者学习方便,其它选择默认即可; 点击 File Save as 将其保存到 Test.c 相同的文件夹下。图 X 保存 makefile这样,我们用 MFile 工具简单地生成了一个 makefile。Makefile 要点: 用记事本也可以编辑 makefile,初学者这样做比较困难,需要对 makefile 有一定的了解。 配置 makefile 时,Output Format 指输出向芯片烧写时所用的文件格式。 Optimization level 标识编译时的优化级别,-0s 是最佳优化,会获得最小的代码段;笔者建议产品未定型时采用-0 级别,方便调试。 Assembler source file(s) 指添加工程中除主程序外的汇编源程序。 点击 Enable Editing of Makefile ,可以使能在 MFile 中编辑 makefile。 makefile 要放在与源代码文件相同的文件夹中。X.3.5 使用 make 命令编译 重新打开 PN 工具,点击 Tools 菜单下的 Make All 命令,如果 makefile 文件配置正确,Test.c 会得到编译,编译结果将显示在界面下方。图 X 执行 Make All 命令在界面下方的 Output 文本框中可以看到编译结果。图 X Make All 的编译结果我们看到有一行编译参数,这就是 WinAVR 根据 makefile 而选择的相关参数。执行编译后生成了 Test.hex,这是因为我们 Makefile 中默认指定了输出 ihex 格式的输出文件(上文第 步) ,用于烧写芯片。Test.eep 是可以向芯片 EEPROM 烧写的文件。结果的最后显示了代码占用的空间大小,图中显示 FLASH 区占用了 992 字节、RAM区没有占用。如果要对文件重新编译,首先执行 Tools 菜单下的 Make Clean 命令,以清除上一次编译时产生的文件。这样编译不会受到上次文件的干扰。X.4 AVR Studio 软件 ATMEL 公司推出 AVR Studio 环境。其专门用于开发该公司 AVR 单片机的开发软件平台,它是一个完全免费的,基于AVR 汇编语言的集成开发环境。AVR Studio 包括 AVR Assembler 编译器(汇编语言编译器) ;AVR Studio 软件模拟调试功能;AVR Prog 串行下载功能; JTGA ICE 在线仿真调试及下载等功能。如果使用该软件的下载功能和在线仿真调试功能,需要购买该软件支持的仿真下载硬件设备,如 STK500 下载器、JTGA ICE 仿真器、AVRONE !、AVR Dragon等工具。X.4.1 AVR Studio 初识 笔者在 Windows7 操作系统中安装了 AVR Studio 4.15,打开 AVR Studio 后的界面如下。图 X AVR Studio 的界面界面中有很多菜单栏和工具栏,菜单栏和 Windows 操作系统的其它界面相似。图中为工具栏做了简单介绍。FLASH、EEPROM 下载工具栏和调试工具栏相对比较重要。X.4.2 在 AVR Studio 新建工程 下面我们学习一下怎样在 AVR Studio 中新建一个工程。 启动 AVR Studio 后默认启动新建工程向导。如果没有这个界面,我们也可以单击 Project Project Wizard 以启动这个界面。图 X 工程向导 点击 New Project ,进入以下界面。其实,在 AVR Studio 初始界面的菜单栏中直接点击 Project New Project,也可进入下面界面。在 Project tyte 选项中会有 AVR GCC C 编译器和另一个汇编编译器的选项。图 X 工程向导 由于我们要创建的是一个 C 源程序的工程,所在选择 AVR GCC 工程类型。单击 AVR GCC ,下一步则可以在 Project name 选项中填写工程名称。如果勾选 Create folder 则会创建一个文件夹,与工程相关的文件都会保存在这个文件夹中,以方便工程管理。选择好工程保存的位置后,则单击 Next 。图 X 填写工程 设置完以上各步骤,则进入调试平台选择和调试芯片选择。AVR Studio 4 允许可以选择多种开发调试工具;平台选择和芯片选择在新建工程以后依然可以更改。这里我们选择软件仿真 AVR Simulator,这是 AVR Studio 自带的软件仿真工具。选择 AVR Simulator 平台后,右侧会出此平台支持的器件,我们选择 ATmega16 。图 X 调试选项 经过以上的步骤,我们已经成功新建了工程。图 X 新建了工程X.4.2 编辑源代码及编译 我们新建了工程,这时即可编辑源代码,编写完成即可编译。点击 Test.c 右上角的最大化,在空白处填写源代码。点击工具栏上的图标 ,或者 点击 Build Build,都可以执行编译命令。图 X 编辑源代码及编译编译后,编译结果会显示在界面下方的 Build 文本框。如果编译有错误,在编译结果中单击有错误的一行,光标会跳转到出错的源代码处。一般情况下,错误都会在附近找到。X.4.2 在 AVR Studio 中配置 makefile 工程选项 我们知道,WinAVR 在编译源代码的时候要借助于 makefile,而 AVR Studio 编译时调用的编译器就是 AVR GCC(WinAVR) ,因此编译前须要配置 makefile。上节的源代码可以成功编译,但会给出一条警告:# warning “F_CPU not defined for “ 。这就是由于我们还没有定义 makefile 中的晶振大小。我们已经讲述了用 MFile 工具配置 makefile ,这节讲解如何用 AVR Studio 配置makefile。 菜单栏中单击 Project Configuration Options。图 X 点击 Configuration Options 在这个新打开的界面中,我们即可以配置 makefile 。我们看到晶振频率 Frequency 还没有填写。图 X 点击 Configuration Options将 Frequency 选项修改为 1000000 hz 即 1MHz。Optimization 指优化级别,可以酌情修改。如果要使用其它 makefile ,则勾选 Use Externa Makefile,并选择相应的 makefile 文件即可。注意勾选下面的 Create Hex file 选项,生成 Hex 文件。 点击左侧导航栏的 Include Directories 选项,可以进头文件路径选择对话框。单击右上角的图标 可以填加路径。由于没有包含其它头文件,这里不做设置。点击左侧导航栏的 Libraries 选项,可以进库文件路径选择对话框。由于没有包含库文件,这里不做设置。图 X 文件路径选择对话框利用以上各个选项,即可在后台生成我们需要的 makefile。X.4.3 在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论