当前位置:文档之家› AVR单片机入门详细介绍

AVR单片机入门详细介绍


二. 单片嵌入式系统的开发软件平台
好的单片嵌入式系统的开发软件通常具备以下几个重要的功能:
单片机系统程序编写和运行代码的生成。(编辑、编译功能) 嵌入式系统开发平台支持用户采用专用汇编程序设计语 言或高级程序设计语言(C、Basic等)编写嵌入式系统控制 程序的源代码,并将源代码编译连接生成可在单片机中执行 的二进制代码(Hex、Bin)。 软件模拟仿真 提供一个纯软件的仿真环境,在此环境的支持下,单片机的系统程 序可以进行模拟的运行,以实现第一步的软件调试和排错功能。 在线仿真功能
3.高级语言
高级语言是一种“基本”不依赖硬件的程序设计语言。
由于高级语言具有面向问题或过程,其形式类似自然语言和 数学公式,结构性、可读性、可移植好的特点,所以为了提高 编写系统应用程序的效率,改善程序的可读性和可移植性,缩 短产品的开发周期,采用高级语言来开发单片机系统已成为当 前的发展趋势。
在设计开发单片嵌入式系统的系统软件过程中,总是要同硬 件打交道,而且关联是比较密切的,其软件设计有着自己独 特技巧和方法。因此,那些纯软件出身的软件工程师,如果 没有硬件的基础,没有经过一定的学习和实践,可能还写不 好,甚至写不了单片嵌入式系统的系统软件。
作为一个有经验的单片嵌入式系统开发人员,应能同时 掌握和使用汇编语言和高级语言设计系统程序。 概括起来说,基于高级语言开发单片机系统具有语言简 洁,使用方便灵活,可移植性好,表达能力强,可进行结构化程 序设计等优点。对于开发大型和复杂的嵌入式系统来讲,采用高 级程序设计语言进行系统开发的效率比使用汇编语言高几倍甚至 几十倍。但对于小型、简易的系统,或有定时精确,高测量精度 要求的系统,使用汇编语言则具有优势。在许多情况下,采用高 级语言嵌入汇编程序的软件设计技术往往是最有效的方法。 如果你对单片机的内部结构和汇编语言根本不了解,请 先不要用C语言编程。 如果你对单片机的内部结构和汇编语言根本不了解,也 写不出好的单片机的C程序。
单片嵌入式系统的硬件开发工具
单片机来设计开发嵌入式系统的过程中,应配备两种硬件设备: 仿真器是用于对所设计嵌入式系统的硬软件进行调试的工具。 编程烧入器的作用则是将系统执行代码写入到目标系统中。 调试(Debug)是系统开发过程中必不可少的环节。 在嵌入式系统开发过程中,经常采用的调试方法有三种方式: 软件模拟仿真调试(Simulator) 实时在板仿真调试(On Board Debug) 实时在片仿真调试(On Chip Debug)
使用软件仿真器的缺点:其模拟的运行速度比真正的硬件慢的 多,一般要慢10~100倍。另外软件仿真器只能模拟仿真软件的 正确性,仿真与时序有关,查找同硬件有关的错误比较困难。 AVR Studio中就包含一个功能非常强大的软件仿真器。 能够实现汇编级和高级语言级的软仿真功能。 一些针对AVR开发的平台,如IAR、BASCOM中也都 包含自己的软件仿真器。 BASCOM的软件仿真器提供了模拟实物图形化界面,将 一些标准化的外围器件如字符LCD模块、键盘模块等作为实物 显示在屏幕上,用户能够更加直观的看到系统运行的结果,使 用非常方便。
恭喜你:选择了正确的AVR学习资料
AVR单片机系统设计与开发工具
本章将在介绍单片机嵌入式系统设计开发基础知识之后, 重点介绍和讲述本书推荐和使用的一套采用ATMEL公司的 AVR Studio配合C高级语言的软件开发平台------CodeVisionAVR(简称CVAVR)所构成的开发软件环境,以 及一套简易、开放的,集下载编程、实验和开发一体的多功 能AVR-51实验板。
采用JTAG硬件调试接口进行仿真调试也是实时的在线调 试。不同的是,采用这种方式的调试不需要将芯片取下,用户 得到的运行数据就是芯片本身运行的真实数据,所以这种调试 手段和方式称为实时在片调试(On Chip Debug),并正在替 代传统的实时再板仿真调试(On Board Debug)技术。
实现实时在片调试的首要条件,是芯片本身要具备硬件调 试接口。除此之外,同实时再板仿真调试一样,也需要一个专 用的实时在片仿真器(采用JTAG硬件调试口的,称为JTAG ICE),不过同实时再板仿真器相比,它的价格就便宜。 使用实时在片仿真器进行系统调试时,其系统的组成和连 接方式与使用实时再板仿真器类似。JTAG仿真器一般也是使用 串行口(COM口或USB接口)或并行口(打印机口)同PC机 通信,不同之处在于,另一端的接口是直接与目标机系统上 MCU芯片的JTAG引脚连接,不需要将芯片从系统上取下。
ICE仿真器一般使用串行口(COM口或USB接口)或并行 口(打印机口)同PC机通信,并提供一个与目标机系统上的 MCU芯片引脚相同的插接口(仿真口)。使用时,将目标机上 的MCU取下,插上仿真器的仿真口,仿真器的通信口与PC连接
在PC上需要安装与该仿真器配套使用的专用调试系统软件, 用户在该调试系统中,就可以通过PC机来控制仿真器中程序的运 行,同时观察系统外围器件和设备的运行结果,分析、调试和排 除系统中存在的问题。这种运行调试方法称为在线(板)仿真。
2.
实时在板仿真器(ICE)
实时在板仿真器通常称为在线仿真ICE(In Circuit Emulate),它是最早用于开发嵌入式系统的工具。ICE是实际 是一个特殊的嵌入式系统,一般是由专业公司研制和生产。它 的内部含有一个具有“透明性”和“可控性”的MCU,可以代 替被开发系统(目标系统)中的MCU工作,既用ICE的资源来 仿真目标机。因此,ICE实际上是内部电路仿真器,它是一个相 对昂贵的设备,用于代替微处理器,并植入微处理器与总线之 间的电路中,允许使用者监视和控制微处理器所有信号的进出。 因此,这种仿真方式和设备,更准确的讲应该称为实时在板仿 真(On Board Debug)器。
通常在编制程序前应对系统要实现的功能、硬件系统的 结构和电路、系统中使用的单片机和外围器件进行全面仔细和 深入的了解,对系统软件的结构进行全面和完整的设计,编制 程序流程图。系统程序的设计应实于调试,还便于修改。
要特别注意的是,设计编写嵌入式系统的软件同编写其 它类型的软件程序有较大的区别。由于嵌入式系统是直接面对
4. 编程烧入器 编程烧入器也称为程序烧入器或编程器,它的作用是将开 发人员编写生成的嵌入式系统的二进制运行代码下载(写入) 到单片机的程序存储器中。 万用编程器,它不仅可以下载运行代码到多种类型和型号的单 片机中,还可以对EPROM、PAL、GAL等多种器件进行编程。
AVR单片嵌入式系统的软件开发平台
3.实时在片仿真器 新型的芯片在片内集成了硬件调试接口。 (IEEE1149.1标准的JTAG) JTAG硬件调试接口的基本原理: 采用了一种原应用于对集成电路芯片内部进行检测的“边界 扫描”技术实现的。使用该技术,当芯片在工作时,可以将集 成电路内部的各个部分的状态以及数据,组成一个串行的移位 寄存器链,并通过引脚送到芯片的外部。所以通过JTAG硬件调 试接口,用户就能了解芯片在实际工作过程中,各个单元的实 际情况和变化,进而实现跟踪和调试。JTAG硬件调试接口采用 4线的串行方式传送数据,占用MCU的引脚比较少。
采用高级程序语言C的开发平台有: ICCAVR(//software) CodeVision AVR(www.hpinfotech.ro) IAR Systems(/) AVR GCC() 采用高级程序语言BASIC的开发平台有: BASIC AVR() FastAVR Basic() BASCOM-AVR()。 AVR Studio和AVR GCC是完全免费的软件 ICCAVR、CodeVision AVR、IAR System、BASCOM-AVR 等均为商业软件
单片机嵌入式系统开发过程
1.确定系统设计的任务 要充分了解对系统的技术要求、使用的环境状况以及使用 人员的技术水平。明确任务,确定系统的技术指标,包括系统 必须具有那些功能等。这是系统设计的出发点,它将贯串于整 个系统设计的全过程,也是产品设计开发工作成败、好坏的关 键,因此必须认真做好这项工作。 2. 系统方案设计 单片机芯片的选择。 外围电路芯片和器件的选择。 综合考虑软、硬件的分工与配合。 3. 硬件系统设计 4. 系统软件设计编写 5. 系统调试
硬件、控制对象的,因此,设计编写嵌入式系统的程序需要考
虑更多的硬件细节,要掌握和使用很多软件技巧,要多学习、 多实践。如,嵌入式系统程序的设计要仔细地考虑和划分程序
存储器、数据存储器;合理定义、安排和使用各种变量;尽量
使用字节变量和位标志变量,优化程序,节省内存容量;估算 子程序调用和嵌套的最大级数,预留出足够的堆栈的空间等等。
1.
软件仿真器
软件仿真器也称为指令集模拟器(ISS),其原理是用软件来 模拟CPU处理器硬件的执行过程,包括指令系统、中断、定时计 数器、外部接口等等。 用户开发的嵌入式系统软件,就像已经下装到目标系统硬件 一样,载入到软件模拟器中运行,这样用户可以方便对程序运行 进行控制,对运行过程进行监视,进而达到实现调试的目的。 是 一种非实时性的仿真调试手段。 软件仿真器的优点:是它可使嵌入式系统的软件和硬件开发 并行开展。只要硬件设计工作完成后,不管硬件实体如何,就可 以进行软件程序的编写和调试了。应用程序在结构上、逻辑上的 错误能够利用软件仿真器很快的发现和定位。有些与硬件相关的 故障和错误也能在软件仿真器中被发现。使用软件仿真器不仅可 以缩短产品开发周期,而且非常经济,不需要购买昂贵的实时仿 真设备。
与专用的仿真器配合,提供一个硬件在线的实时仿真调试环境。 用户将编写好的目标系统运行代码下载到仿真器中,通过开发系 统软件控制仿真器中程序的运行,同时观察硬件系统的运行结果,分 析、调试和排除系统中存在的问题。
程序下载烧入功能 与专用的编程器配合或使用ISP技术,将二进制运行代码 写入到单片机的程序存储器中 要熟练掌握和应用单片机来设计开发嵌入式系统,除了对 所使用的单片机要有全面和深入的了解外,配备和使用一套好 的开发环境和开发平台也是必不可缺的。在嵌入式系统的设计 开发中,选用了好的开发工具和开发平台,往往能加速嵌入式 应用系统的研制开发、调试、生产和维修,起到事半功倍的效 果。
相关主题