2. AVR 开发环境与工具入门

X AVR开发环境与工具入门
X.1  AVR单片机的开发环境
这一章我们来介绍一下AVR单片机的开发环境。
对于一款单片机,即可以用汇编语言对其进行编程,也可以利用其它的高级语言比如C语言对其编程。51系列单片机的C编译器较通用的如德国的Keil集成开发环境(IDE),及在国内相对普及的伟福软件(WAVE)。AVR的开发环境相对较多。
许多第三方的厂商为AVR系列单片机开发了对应的AVR单片机C编译器,每个C编译器各有特点。其中比较主要的有:CVAVR(CodeVisionAVR)EWAVR(IAR Embedded Workbench)ICCAVRWinAVRGCCAVR)。EWAVRIAR公司推出,ICCAVRImageCraft公司推出。
ATMEL公司也推出其自己的集成开发环境(IDE)及内含的汇编语言编译器,也就是AVR Studio集成开发环境。AVR Studio环境内不包含C语言编译器,但支持第三方软件WinAVR做为C编译器。
个人学习时,笔者推荐使用WinAVR做为C编译器,AVR Studio做为程序下载、仿真软件。两者配合使用构成完整的AVR开发环境。
X.2  CVAVREWAVRICCAVR软件简介
下面逐一简要介绍CodeVisionAVREWAVRICCAVR
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 ”中进行仿真调试。CVAVRIDE内建了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 conversion
CVAVR 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,程序初始化界面如下:
打开CVAVR IDE
打开CVAVR IDE后会看到CVAVR IDE的程序编辑界面,由于刚刚安装,界面内还没有任何代码:
打开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-SP
Y 调试器。当然EWAVR软件也可以生成AVRStudio可以识别的文件格式,用于在AVRStudio软件中调试。
嵌入式IAR Embedded Workbench®是一个集成开发环境。
IAR Embedded Workbench 主要包括:
IAR C-SPY 调试器
IAR C-SPY 调试器系统
lrcp 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 Embe
dded 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 CC++编译器。
WinAVR 就是GCCWindows版本,GCC原是在Linux类系统中运行。WinAVR软件的发行
等事宜由自由软件基金会进行管理。由于是自由软件供大家免费使用,WinAVR拥有广大的用户体。WinAVR 不支持浮点型变量,没有完整的集成开发环境(IDE)。ATmanAVR软件是基于GCCIDE,界面友好,但是这是一个商业软件。
对于初学者来说,一般的应用不涉及浮点型变量的使用,故可以忽略WinAVR 不支持浮点型变量。可以用AVRStudio来编辑代码、相应的makefile文件以及执行编译命令,以弥补WinAVR集成开发环境的不足。
WinAVR软件的要点:
◆  WinAVRq1se没有完整的集成开发环境,确切的说它是一个工具集。
◆  代码的编辑可以使用PN工具或其他软件,最简单的如Windows自带的记事本。
◆  需要一个叫做makefile的文件进行编译; makefile 文件可以自行编写,也可用MFile工具生成(也可用AVRStudio软件进行设置,后面章节有介绍)
◆  AVRStudio软件配合使用,可以下载程序、仿真等。
◆  可以在命令行的情形下执行编译命令(make)。
X.3.2  菜单图标简介
首先安装WinAVR软件,笔者安装的版本为2007版。
安装WinAVR以后桌面和开始菜单会有很多图标:
X  WinAVR的程序图标
●  AVR InsightAVR的仿真调试应用程序。
●  AVR-libc Manual是软件的C语言函数库用户手册。
●  GNU Maunals Online 图标对应一个网络URL链接,是GNU的在线帮助。
●  WinAVR 编译的时候需要一个叫做makefile的文件,其指定了工程编译时的相关参数(如芯片型号)。点击图中的MFile 图标可以打开MFfile应用程序,在其中可以做配置makefile文件。
●  Programmers Notepad 是一个程序编辑器,在其中也可以执行编译选项(make)。

本文发布于:2024-09-22 01:06:32,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/134495.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:开发   用户   编译   环境
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议