第二章开发平台及工具的选用.docx
《第二章开发平台及工具的选用.docx》由会员分享,可在线阅读,更多相关《第二章开发平台及工具的选用.docx(13页珍藏版)》请在冰豆网上搜索。
第二章开发平台及工具的选用
第二章开发平台及工具的选用
表2---1开发软件和版本与功能
软件名称
版本
功能
PROTEL
99SE
绘制原理图
KEIL
8.02
原程序的编写、调试以及烧写文件的生成
SLISP
1.4.2.3
烧写程序
2.1PROTEL99SE简介
随着计算机业的发展,从80年代中期计算机应用进入各个领域。
在这种背景下,87、88年由美国ACCEL Technologies Inc推出了第一个应用于电子线路设计软件包——TANGO,这个软件包开创了电子设计自动化(EDA)的先河。
这个软件包现在看来比较简陋,但在当时给电子线路设计带来了设计方法和方式的革命,人们纷纷开始用计算机来设计电子线路,直到今天在国内许多科研单位还在使用这个软件包。
随着电子业的飞速发展,TANGO日益显示出其不适应时代发展需要的弱点。
为了适应科学技术的发展,Protel Technology公司以其强大的研发能力推出了Protel For Dos作为TANGO的升级版本,从此Protel这个名字在业内日益响亮。
八十年代末,Windows系统开始日益流行,许多应用软件也纷纷开始支持Windows操作系统。
Protel也不例外,相继推出了Protel For Windows 1.0、Protel For Windows1.5等版本。
这些版本的可视化功能给用户设计电子线路带来了很大的方便,设计者再也不用记一些繁琐的命令,也让用户体会到资源共享的乐趣。
九十年代中,Win95开始出现,Protel也紧跟潮流,推出了基于Win95的3.X版本。
3.X版本的Protel加入了新颖的主从式结构,但在自动布线方面却没有什么出众的表现。
另外由于3.X版本的Protel是16位和32位的混合型软件不太稳定。
98年,Prote公司推出了给人全新感觉的Proel98。
Protel98以其出众的自动布线能力获得了业内人士的一直好评。
99年,Protel公司又推出了最新一代的电子线路设计系统——Protel99。
在Protel99中加入了许多全新的特色。
2.1.1Protel99组成
a.原理图设计系统
原理图设计系统是用于原理图设计的Advanced Schematic系统。
这部分包括用于设计原理图的原理图编辑器Sch以及用于修改、生成零件的零件库编辑器SchLib。
b.印刷电路板设计系统
印刷电路板设计系统是用于电路板设计的Advanced PCB。
这部分包括用于设计电路板的电路板编辑器PCB以及用于修改、生成零件封装的零件封装编辑器PCBLib
c.信号模拟仿真系统
信号模拟仿真系统是用于原理图上进行信号模拟仿真的SPICE 3f5系统。
d.可编程逻辑设计系统 Protel99内置编辑器
可编程逻辑设计系统是基于CUPL的集成于原理图设计系统的PLD设计系统。
这部分包括用于显示、编辑文本的文本编辑器Text和用于显示、编辑电子表格的电子表格编辑器Spread。
2.1.2Protel99主要特色
Protel99是基于Win95/Win NT/Win98/Win2000的纯32位电路设计制版系统。
Protel99提供了一个集成的设计环境,包括了原理图设计和PCB布线工具,集成的设计文档管理,支持通过网络进行工作组协同设计功能。
2.1.3Protel99的主要特性如下:
● Protel99系统针对Windows NT4/9X作了纯32位代码优化,使得Protel99设计系统运行稳定而且高效。
● SmartTool(智能工具)技术将所有的设计工具集成在单一的设计环境中。
● SmartDoc(智能文档)技术将所有的设计数据文件储存在单一的设计数据库中,用设计管理器来统一管理。
设计数据库以.ddb为后缀方式,在设计管理器中统一管理。
使用设计管理器统一管理的文档是在Protel99中新提出来的,以前版本中没有。
● SmartTeam(智能工作组)技术能让多个设计者通过网络安全地对同一设计进行单独设计,再通过工作组管理功能将各个部分集成到设计管理器中。
● PCB自动布线规则条件的复合选项极大的方便了布线规则的设计。
● 用在线规则检查功能支持集成的规则驱动PCB布线。
● 继承的PCB自动布线系统最新的使用了人工智能技术,如人工神经网络、模糊专家系统、模糊理论和模糊神经网络等技术,即使对于很复杂的电路板其布线结果也能达到专家级的水平。
● 对印刷电路板设计时的自动布局采用两种不同的布局方式,即Cluster Placer(组群式)和基于统计方式(Statistical Placer)。
在以前版本中只提供了基于统计方式的布局。
● Protel99新增加了自动布局规则设计功能,Placement标签页是在Protel99中新增加的,用来设置自动布局规则。
● 增强的交互式布局和布线模式,包括“Push-and-shove”(推挤)。
● 电路板信号完整性规则设计和检查功能可以检测出潜在的阻抗匹配、信号传播延时和信号过载等问题。
Signal Integrity标签页也是在Protel99中新增加的,用来进行信号完整性的有关规则设计。
● 零件封装类生成器的引入改进了零件封装的管理功能。
● 广泛的集成向导功能引导设计人员完成复杂的工作。
● 原理图到印刷电路板的更新功能加强了Sch和PCB之间的联系。
● 完全支持制版输出和电路板数控加工代码文件生成。
● 可以通过Protel Library Development Center升级广泛的器件库。
● 可以用标准或者用户自定义模板来生成新的原理图文件。
● 集成的原理图设计系统收集了超过60000元器件。
● 通过完整的SPICE 3f5仿真系统可以在原理图中直接进行信号仿真。
● 可以选择超过60中工业标准计算机电路板布线模板或者用户可以自己生成一个电路板模板。
● Protel99开放的文档功能使得用户通过API调用方式进行三次开发。
● 集成的(Macro)宏编程功能支持使用Client Basic编程语言。
2.2KEIL8.02简介
2.2.18051开发工具
KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。
C51编译器的功能不断增强,
使你可以更加贴近CPU本身,及其它的衍生产品。
C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:
编译器,汇编器,实时操作系统,项目管理器,调试器。
uVision2IDE可为它们提供单一而灵活的开发环境。
C51V7版本是目前最高效、灵活的8051开发平台。
它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三方开发工具。
因此,C51V7版本无疑是8051开发用户的最佳选择。
2.2.2uVision2集成开发环境
a.项目管理
工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。
一个单一的uVision2工程能够产生一个或多个目标程序。
产生目标程序的源文件构成“组”。
开发工具选项可以对应目标,组或单个文件。
uVision2包含一个器件数据库(devicedatabase),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。
此数据库包含:
片上存储器和外围设备的信息,扩展数据指针(extradatapointer)或者加速器(mathaccelerator)的特性。
uVision2可以为片外存储器产生必要的连接选项:
确定起始地址和规模。
b.集成功能
uVision2的强大功能有助于用户按期完工。
(1).集成源极浏览器利用符号数据库使用户可以快速浏览源文件。
用详细的符号信息来优化用户变数存储器。
(2).文件寻找功能:
在特定文件中执行全局文件搜索。
(3).工具菜单:
允许在V2集成开发环境下启动用户功能。
(4).可配置SVCS接口:
提供对版本控制系统的入口。
(5).PC-LINT接口:
对应用程序代码进行深层语法分析。
(6).Infineon的EasyCase接口:
集成块集代码产生。
(7).Infineon的DAVE功能:
协助用户的CPU和外部程序。
DAVE工程可被直接输入uVision2
2.2.3编辑器和调试器
a.源代码编辑器
uVision2编辑器包含了所有用户熟悉的特性。
彩色语法显像和文件辩识都对C源代码进行和优化。
可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。
b.断点
uVision2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。
用户启动V2调试器之后,断点即被激活。
断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。
在属性框(attributescolumn)中可以快速浏览断点设置情况和源程序行的位置。
代码覆盖率信息可以让你区分程序中已执行和未执行的部分。
c.调试函数语言
uVision2中,你可以编写或使用类似C的数语言进行调试。
(1).内部函数:
如printf,memset,rand及其它功能的函数。
(2).信号函数:
模拟产生CPU的模拟信号和脉冲信号(simulateanaloganddigitalinputstoCPU)。
(3).用户函数:
扩展指令范围,合并重复动作。
d.变量和存储器
用户可以在编辑器中选中变呈来观察其取值。
双层窗口显示,可进行以下调整:
(1).当前函数的局部变量
(2).用户在两个不同watch窗口页面上的自定义变量
(3).堆栈调用(callstack)页面上的调用记录(树)(calltree)
(4).不同格式的四个存储区
2.2.4C51编译器
KEILC51编译器在遵循ANSI标准的同时,为8051微控制器系列特别设计。
语言上的扩展能让用户使用应用中的所有资源。
a.存储器和特殊功能寄存器的存取
C51编译器可以实现对8051系列所有资源的操作。
SFR的存取由sfr和sbit两个关键字来提供。
变量可旋转到任一个地址空间。
用关键字-at-还能把变量放入固定的存储器.存储模式(大,中,小)决定了变量的存储类型。
连接定位器支持的代码区可达32个,这就允许用户在原有64K ROM的8015基础上扩展程序。
在V2的编译器和许多高性能仿真器中,可以支持应用程序的调试。
b.中断功能
C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使C语言中断功能更加高效。
可再入功能是用关键字来定义的。
多任务,中断或非中断的代码要求必须具备可再入功能。
c.灵活的指针
C51提供了灵活高效的指针。
通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。
特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。
由于地址的存储只需1-2字节,因此,指针存取非常迅速。
2.2.5代码优化
a.通用代码优化
(1).常量重叠(constantfolding)
(2).通用子表达式删除(commonsubexpressionelimination)7.循环(looprotation)
(3).长度缩减速(reduction)8.死码删除(deadcodeelimination)
(4).控制流优化(controlflowoptimization)9.通用TailMerging
(5).寄存器变量使用(registervariableusage)10.通用子程序块打包(blocksubroutinepacking)
(6).寄存器间参数传递(parameterpassinginregister)
b.8051特殊优化
(1).孔颈优化(peepholeoptimization)4.数字覆盖(overlaying)
(2).跳转-分支优化(switch-caseoptimization)5.扩展入口优化(extendedaccessoptimization)
(3).中断函数优化(interruptfunctionoptimization)
c.寄存器优化
C51为函数参数和局域变量分配了9个CPU寄存器。
寄存器间最多可传递三个参数。
P全局寄存器优化可删除不必要代码,优化CPU寄存器设备。
d.C语言实时库
C51实时库含100多种功能,其中大多数是可再入的。
库支持所有的ANSIC的程序,与嵌入式应用程序的限制相符。
固有程序为硬件提供特殊指令,如:
nop,testbit,rol,ror。
e.A51宏汇编
A51宏汇编支持标准宏和MPL宏。
要实现快速产生汇编程序SHELL,就直接使用C51编译器的SRC。
在新的A51V7版本中,允许用户C包含的头文件来定义常量和SFR。
如今,一个单一头文件可被应用到X程序和汇编程序中。
2.2.6 RTX51实时核模块
RTX51多任务实时内核可以简化那些过程复杂,时间紧迫的软件项目。
RTX51是无版税的,完全集成到KeilC51工具链上,支持C语言和汇编语言程序,也完全支持代码区的应用程序。
RTX51完全支持:
●标准任务(用一个共享寄存器区)
●快速任务(用一个专用寄存器区)
●CAN
●邮箱(为内部任务通信)
●存储池(memorypools)
RTX51Tiny是简化后的内核,适于单片机系统。
RTX51和RTX51Tiny都可使用户创建和撤消任务,发送和接收信号,也可执行其它操作系统管理。
a.上下文切换(任务切换)
(1).轮询方式:
(round-robin)每个任务在一个规定的时间段内运行,当一个任务的时间段结束时,另一个任务随之开始。
(2).抢占方式(preemptive):
优先级最高的任务最先执行,直到被一个具有更高优先级的任务打断,或是为等待某个事件而主动放弃控制权。
b.事件与中断
RTX51支持下列事件
(1).Timeouts:
延迟到特定定时点
(2).Intervals:
延迟一段时间间隔
(3).Signals:
协调内部任务操作
(4).Messages:
在任务间互传信息
(5).Interrupts:
处理硬件中断
(6).Semaphores:
共享有限资源
RTX51同时支持中断功能,可以向任务中发送或从任务中接收信号和信息。
2.2.7测试程序
uVision2调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能.DDE界面和shift语言支持自动程序测试.
a.CPU和外设模拟装置
uVision2为8051及衍生产品提供了高速CPU模拟功能和片上扩展口.在对话框内可直接观察和修改I/O值,也可以用预装的C-LIKE宏指令书写符号函数来提供动态输入。
b.目标监控器
uVision2含一个可配置的监控器,可测试目标器件上的软件体。
监控器用uVision2的调试器直接工作,可支持代码区。
它要求目标系统具备6字节堆栈空间,6KB的代码ROM和256字节XdataRAM。
c.MCB517/251启动工具包
在开始一项8051工程时,MCB启动工具会对你有很大帮助。
每一个启动工具包括一套2K字节的开发工具和许多可快速运行的举例程序。
用户可在检测8051性能的同时,查看开发工具的可行性。
MCB517AC板含高性能InfineonC517A单片机,它提供标准8052外围设备和A/D转换器,PWM,搜索/比较,8位数据指针,一个高速运算单元。
同时包含对81C90CAN控制器和代码区的支持。
2.2.8C51V7版增强功能介绍
C51V7版提供了很多新的和增强的功能,使开发8051嵌入式应用比以前更加简单。
C51V7版新功能包括:
新版编译器和连接器更加优化,可以缩短程序的大小;能完全模拟支持的器件更多,如Philips80C51MX,Dallas80C390和AnalogDevicesMicroConverters;新的ISD51系统内调试器,允许在不变的目标硬件上调试程序;可更好地支持Philips51MX的24位地址;RTX51Tiny增加了新功能,它比以前更小,但提供的功能更多。
若您需要更多的信息,敬请访问。
2.3在系统编程软件SLISP简介
SLISP是由广州天河双龙电子有限公司开发的MCU在系统编程软件。
●支持的下载线有两种:
双龙电子的串行通信下载线SL-AVRL和并行通信下载线AVR-ISP。
●支持的器件为ATMEL公司的AT89S系列(包含AT89S51/52)和AVR系列。
●支持的烧录文件格式:
INTEL格式的HEX文件、EEP文件,二进制BIN文件。
●支持缓冲区数据修改和保存,缓冲区中的数据可以保存为二进制BIN文件,INTEL格式的HEX或EEP文件。
当用户保存单独的EEPROM数据文件时,应当选择EEP文件。
●缓冲区中的数据还可以保存为C程序中的char或unsignedchar类型数组文件,以方便程序开发者处理某些特殊应用。
●软件通过串口和下载线相连接,支持USB转换成的串口通信,适合一些使用没有串口的NOTEBOOK的用户。
●下载线默认的波特率为19200,用户可以向双龙公司订购波特率较高的下载线,以提高在系统编程的速度。
●本软件的OS平台可以是WIN98SE、WIN2K、WINXP。
●本程序还支持ATMEL通信协议的IAP编程(Self-programming),但软件标识应当标志为“AVRBOOT”。
●增加了项目管理,在项目文件中可以保存您设置的所有的编程参数,如熔丝设置、FLASH和EEPROM中的数据、以及RC校准、序列号设置等一些参数。
●缓冲区数据编辑窗口中可以显示校验和。
●在FUSE编程设置窗口中,您可以看到对应熔丝编程状态的十六进制数字,更直观、方便记忆和对比。
●在使用并行下载线编程时,编程速度是可以调节的,分TURBO、FAST、NORMAL和SLOW四档,请根据自己系统的时钟频率进行选择。
一般情况下可以参照表2--2进行选择
表2-2SLISP下的模式与时钟对照表
模式
时钟
TURBO
没有延时
FAST
大约100KHZ
NORMAL
大约50KHZ
SLOW
大约5KHZ,适于32.768KHZ超低频系统
TURBOSLOW
大约1KHZ,支持16KHZ以下的时钟频率
注意:
1、部分PC机可能不支持TURBO模式,建议选择FAST以下的模式。
2、选择TURBO模式可以获得最快的编程速度,但对系统的要求会高,如果出现进入不了编程模式或校验出错,请降低编程速度。