基于uVision2和在系统编程软件F LIP 的
单片机开发新方法
何 建,周 超,夏桂书
(中国民航飞行学院,四川广汉618307)
摘 要:uVision2是一个功能强大的全新集成开发环境,可以用于源程序的编写、用户程序的仿真调试和目标文件的生成。F LIP 是AT ME L 公司推出的一种目前应用最广泛、完全免费的基于PC 机的在系统编程软件,支持AT ME L 公司生产的具有闪存的C51微控制器的在系统编程,可通过RS232、US B 和C AN 接口和目标板上的微控制器进行通讯。它可以在Windows 9x ΠMe 、WindowsNT Π2000ΠXP 和Linux 下运行。基于F LIP 的在系统编程属于串行编程模式,使用Intel 的Hex 文件格式。文中介绍了uVision2的特点、在系统编程技术、F LIP 的主要特点和典型应用。关键词:ISP ;F LIP ;单片机;BAUDRATE;uVision2
中图分类号:TP311152 文献标识码:A 文章编号:167224984(2006)0520119204
N e w method of microcontroller exploitation based on uVision 2and in 2system programming soft F LIP
HE Jian ,ZH OU Chao ,XI A G ui 2shu
(Civil Aviation Flight University of China ,G uanghan 618307,China )
Abstract :The uVision2is a new powerful I DE.Its function includes writing s ource program ,emtuator debugging and generating object files 1F LIP is a free PC 2based s oftware that supports the In 2System Programming (ISP )of Atmel πs Flash C51Microcontrollers ,and communicates with object board through interface such as RS232,US B and C AN 1It runs in Windows 9x ΠMe ΠNT Π2000ΠXP and Linux 1The ISP based on F LIP w orks on serial m ode and it use Hex file format of Intel 1This article introduces the technique of ISP ,the principal points and typical application of F LIP 1K ey w ords :ISP ;F LIP ;Microprocess or ;BAUDRATE;uVision2
收稿日期:2006204216;收到修改稿日期:2006206221
作者简介:何 建(1971-),男,讲师,硕士,主要从事电子信息工程技术研究。
单片机由于具有体积小、价格低廉、开发较为容易等优点,已经被广泛应用于数据采集、数据处理、智能仪表和智能控制等工业领域的各个方面。目前介绍单片机开发的文章很多,但常用开发模式为:“用仿真器加编程器”。用仿真器的优点是:使用方便,可以设置断点,可以观察存贮器及寄存器的内容;但缺点也非常明显:价格昂贵,且仿真器终究不是单片机,有时代码在仿真器上能通过,但在单片机中不能正常工作,反而增加了调试的难度;用编程器的优点:价格相对便宜,通常一款编程器可编多种器件。
其缺点是:操作相当不便,每次要将芯片在目标板与编程器之间转移,并且还要在编译操作界面与编程器操作界面之间切换,大部份时间在做简单的重复的工作。本文介绍一种基于高效率C 语言编
译器K eil Cx51V710、全新单片机集成开发环境uVision 2和AT ME L 公司提供的在系统编程软件F LIP 的单片机开发新方法。K eil Cx51V710和uVision2用于源程序代码的编写、用户程序仿真调试和可执行目标文件的生成,F LIP 用于将可执行目标文件下载到目标板单片机中。
1 K eil Cx 51V 710和uVision 2
K eil Cx51V710是德国K eil S oftware 公司开发的
专为8051单片机设计的高效率C 语言编译器,符合ANSI 标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以和汇编语言相媲美。K eil Cx51V710编译器主要的优越性如下:
(1)C51源程序经过优化编译后生成的代码,其效率接近于汇编语言生成的代码;
(2)支持所有8051系列单片机,提供对所有外围硬件部件的操作;
(3)无论在有无工作寄存器区转换的情况下,Cx51都能产生快速中断代码;
第32卷第5期 2006年9月中国测试技术
CHI NA ME AS URE ME NT TECH NO LOGY V ol 132 N o 15Sept 12006
(4)支持Atmel、Dallas、In fineon、Philips和T emic
等公司8051衍生产品上的双数据指针及高速
算术单元;
(5)能够在整个应用程序中执行全局寄存器优
化;
(6)所有应用工具均可产生详细警告信息和错
误信息,帮助用户处理难于寻的问题;
(7)支持再入功能和寄存器区的独立代码,便于
中断服务程序和多任务程序的执行;
(8)采用分组方式执行代码分组和调试,用户程
序代码可以轻松突破64K B空间的限制。
K eil Cx51V710版本编译器的Windows环境兼容性以及集成度得到极大的提升,Cx51已经被完全集成到一个功能强大的全新集成开发环境uVision2中了,它将项目管理、Cx51编译器、A51汇编器、BL51ΠLx连接定位器、RTX实时操作系统、Simulator 模拟器以及M ornitor51目标调试器的功能全部集成在单一而灵活的uVision2中,为用户提供了极为简便的操作环境。uVision2具有强大的项目管理功能,项目中包括源程序文件、开发工具选项以及编程说明等,一个uVision2项目能够产生一个或多个目标文件。uVision2内部集成了一个器件数据库,其中存储了各种型号单片机的片上存储器和集成外围功能信息、Debug调试器等开发工具的功能选项,充分满足用户使用特定单片机的要求。uVision2还可以为片外存储器产生必要的连接选项,确定应用程序的起始地址及代码大小规模。
uVision2集成开发环境还具有如下一些新的功能特点,最重要的一点是:集成仿真调试功能,允许在统一的uVision2环境下进入Debug调试器,提供纯软件模拟仿真调试和硬件目标板在线仿真调试,在软件模拟仿真方式下不需要任何8051单片机硬件即可完成用户程序仿真调试,极大提高了用户程序开发效率。在用户目标板调试方式下,利用硬件目标板中的监控程序可以直接调试目标硬件系统,进行应用程序代码综合性能分析和代码覆盖率分析,使用户节省购买昂贵硬件仿真器的费用。其他一些新的特点如下:
(1)简便易用的集成开发环境,源级浏览器利用符号数据库使用户可以快速浏览源文件,用详细的符号信息来优化用户变量存储器。
(2)内嵌源程序文本编辑器,允许用户在编辑源程序时(甚至在未经编译和汇编之前)设置程序调试断点,便于在调试程序时快速检查和修改程序。
(3)文件查功能,能在当前文件或全局文件中搜索指定的文本信息。
c语言编译器ide代码编辑(4)单一而灵活的集成开发环境,可以对所有开发工具的功能选项进行必要的设置。同时提供一个可配置的工具菜单,允许在uVision2环境下启动用户功能。
(5)提供对软件版本控制系统S VCS的接口、对应用程序代码进行深层次语法分析的PC2LI NT接口以及对便于生成含有N2S流程的块代码EasyCase编辑器的接口。
2 在系统编程(ISP)技术
ISP(In System Programming)技术即在系统编程技术是指在用户设计的目标系统中或印刷电路板上,为重新配置逻辑或实现新的功能,而对器件进行编程或反复编程的能力。虽然已经不是新概念,但毋庸置疑,它仍是微控制器编程领域中最为重要的开发活动。当编程人员以正确的形式完成了程序的编制时,即可借助一部标准的PC,通过一个非常简单的接口来对支持该程序的微控制器进行编程,而控制器本身
则能够继续处于电路之中。微控制器从PC B获取其所需的电源和时钟信号,IC上的两个或三个端口引脚短暂地具有“择一功能(Alternative Function)”,使其能够对程序存储器进行擦除和编程操作。如果应用并未使用这些引脚,则可将其直接连接至PC。否则在编程期间就需要采用一些跨接线或DIP开关来对电路进行隔离。
在系统编程的最大优点在于下载程序时,芯片不用脱离目标系统或印刷电路板,从而节省了时间,又提高了芯片的可靠性,降低了开发成本。目前很多单片机都支持在系统编程,51系列单片机支持在系统编程的也很多。ISP技术无需编程器和较高的编程电压,打破了先编程后装配的惯例,形成产品后还可以在系统内反复编程,使具有MTP-ROM可多次编程或反复编程的微控制器的优越性得以更充分的发挥。ISP的实现相对较简单,一般通过串行接口接收上位机传来的数据并写入存储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的通讯接口,一根下载线,就可以实现芯片内部存储器的改写,而无需再取下芯片。依据系统环境和需要,串行口或专用的编程接口就能够通过软件控制。尤其是在互联网时代,依据系统环境和需要,经调制解调装置(M ODE M)、串行口或专用的编程接口就能够通过软件控制,实现系统远程升级和调试,提高产品的适应性,延长产品生存周期,经济效益显著。所有带快闪存储器的高级微控制器都支持这种
120
中国测试技术
2006年9月
编程算法,而且,互联网上还提供了无数针对各种控制器的免费软件。显然真正的可编程系统的时代即将到来。在此领域别具一格的程序是由Atmel公司免费提供的F LIP,它或许是目前通用性最好的程序。它可用来对Atmel推出的众多微控制器进行编程,前提条件是它们具有某种类型的串行接口(RS232、SPI、US B或C AN总线)。
3 在系统编程软件F LIP(Flexible I n2system Programmer)
F LIP是AT ME L公司推出的一种免费的基于PC 机的单片机在系统编程软件,支持AT ME L公司生产的具有闪存的C51微控制器的在系统编程。它可以在Windows9xΠMe、WindowsNTΠ2000ΠXP和Linux下运行。基于F LIP的在系统编程属于串行编程模式,使用Intel的Hex文件格式,该格式采用7位的ASCII 码,另外还有字节计数器、地址域和校验码。F LIP 主要特点:
(1)通过RS232、US B和C AN支持AT ME L公司生产的带有闪存的C51微处理器的在系统编程;
(2)能在Windows和Linux环境下运行;
(3)具有支持DOS环境运行的版本(BatchISP),可以从I DE(如:K eil的u2版)上运行;
(4)通过软件即可进入ISP模式(autoISP);
(5)支持主要的C AN接口(PE AK、IXX AT and Vector等);
(6)目标器件存储器控制:擦除、空间检查、编程、校验、读、读和设置安全水平和特殊字节;
(7)调试模式能显示和检查F LIP和目标板的通讯事故;
(8)强大的在线帮助;
(9)完全免费的工具。
假如采用RS232通讯,目标板的串口通过RS232转换器连接到计算机的RS232口上,主机通过终端程序和目标板通讯,C51单片机PSE N引脚接低电平,系统复位后进入串行编程模式。在该模式下目标板首先和主机通信,确定串口的波特率。然后通过操作F LIP将Hex格式程序发送到目标板的串口,目标板通过其串口接收主机的数据并将其写入存储器中。F LIP功能非常强大,用户可以在应用中非常容易地装入AT ME L的ISP函数库,而不需要了解AT ME L的ISP协议细节。
4 F LIP应用举例
F LIP的主窗口主要有三个区域组成,从左到右的顺序为:操作流程区域、闪存缓冲信息区域和器件参数区域。在这些区域的正下方是命令和操作历史区域。主窗口第一行为菜单栏,由文件、缓冲器、器件、
设置和帮助等几部分组成。第二行为工具栏,由器件选择、通讯方式选择、擦除器件、空间检测、器件编程、器件校验、读器件、缓冲器编辑、Hex文件下载、Hex文件保存、在线帮助等组成。以RS232通讯为例介绍F LIP应用的一般步骤:
411 器件选择
运行软件F LIP
,由于没有所需单片机的相关信息,所以主窗口的操作流程区域处于不可操作状态,闪存缓冲信息区域和器件参数区域没有具体单片机的信息。器件选择第一步为点击菜单栏中“器件”,弹出窗口如图1所示,
从其下来菜单中选择;或者点击工具栏中的“器件选择”;或者直接按F2。从器件库中选择适当的器件,点击OK即可。一旦器件选择完毕,主窗口将变为如图2所示。器件参数区域将出现所选器件的相关参数,同时缓冲区域也将显示和所选器件的相关信息。
412 通讯方式选择
点击菜单栏中“设置”,或者直接点击工具栏中的“通讯方式选择”,或者直接按F3。弹出如图3所示窗口,从其下来菜单的“通讯”中选择RS232,此时将出现一个RS232的弹出窗口,设置好通讯端口和波特率后,点击“连接”。F LIP将随引导装入软件产生一个同步频率,一旦同步频率完成,表示连接成
第32卷第5期
何 建等:基于uVision2和在系统编程软件F LIP的单片机开发新方法
121
功,此时主窗口中所选器件的参数信息将变亮,操作流程区域选项将变为可操作状态。波特率的选择要特别注意,如果目标设备的频率太低,引导装入软件将不能正确地获得数据的接受和发送特征,就不能正确地对闪存进行正确的编程。在这种情况下,F LIP 将提示你要降低波特率的设置。表1中推荐的频率Π波特率组合能够保证正确的通讯
。
表1 Freq 1ΠBaudrate 2400
4800
9600
1920038400
57600115200
1110592MHz √
√√√√√1210000MHz √√√√√1417456MHz √√√√√√√
1610000MHz √√√√√2211184MHz
√√√√√
√
413 编程
点击菜单栏“文件”,载入已经编译好的HEX 文件,例如rt12561hex 。第一次编程时间,应该使器件信息区域的“BLJB ”有效,重复编程时,可以不选。选择“操作流程区域”中的相关项后点击“运行”即开始编程,“操作流程区域”的每项完成后,其前面方框里面区域将变为绿,在主窗口的最下方将同时显示编程的进程。在此期间“闪存信息缓冲区域”和“器件参数区域”的相关项也将随着编程的进行发生相应的变化。编程完毕即可点击“器件参数区域”中
的“开始应用”即可调试系统。
5 结束语
本文介绍一种基于高效率C 语言编译器K eil
Cx51V710、全新单片机集成开发环境uVision2和AT ME L 公司提供的在系统编程软件F LIP 的单片机开发新方法。K eil Cx51V710符合ANSI 标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以和汇编语言相媲美。uVision2集成开发环境具有集成仿真调试功能,允许在统一的uVision2环境下进入Debug 调试器,提供纯软件模拟仿真调试(Simulator )和硬件目标板在线仿真调试(M onitor 251)使用户节省购买昂贵硬件仿真器的费用。F LIP 是一种使用非常方便的、免费的在系统编程软件,支持AT ME L 公司生产的具有闪存的C51微控制器的在系统编程。除了选择RS232通讯外,还可以选择C AN 通讯和US B 通讯,只需要一根下载线即可与PC 机通讯,而且可以反复的编程,使用非常方
便。通过K eil Cx51V710和uVision2,可以实现源程序代码的编写、用户程序仿真调试和可执行目标文件的生成,F LIP 可将可执行目标文件下载到目标板单片机中。通过这种方法进行单片机相关的开发,不仅简单,使用非常方便,而且开发成本低、周期短,具有很高的推广价值。
参考文献
[1] 黄正瑾1在系统编程技术及应用[M]1南京:东南大学
出版社,19971
[2] 在系统编程软件—F LIP 1http :ΠΠw w w.atmel 1[3] 徐爱钧,彭秀华1K eil Cx51V710单片机高级语言编程
与uVision2应用实践[M ]1北京:电子工业出版社,
20041
[4] 胡 伟,季晓衡1单片机C 程序设计及应用实例[M]1
北京:人民邮电出版社,20031
[5] 谢宜仁,谢 炜,谢东辰1单片机实用技术问答[M]1
北京:人民邮电出版社,20021
[6] 求是科技1单片机典型模块设计实例导航[M]1北京:
人民邮电出版社,20041
122
中国测试技术
2006年9月
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论