在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 11699|回复: 3

KEIL C51 编译器(V6)简介

[复制链接]
发表于 2005-10-12 20:42:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
第一部分 8051开发工具
 
  KEIL C51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近cpu本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。
C51 V6版本是目前最高效、灵活的8051开发平台。它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三方开发工具。因此,C51 V6版本无疑是8051开发用户的最佳选择。
 
第二部分uVision2集成开发环境
 
一、项目管理
工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。
一个单一的uVision2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件。
  uVision2包含一个器件数据库(device database),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra data pointer)或者加速器(math accelerator)的特性。
  uVision2可以为片外存储器产生必要的连接选项:确定起始地址和规模。
 
二、集成功能
  uVision2的强大功能有助于用户按期完工。
1.集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器。
2.文件寻找功能:在特定文件中执行全局文件搜索。
3.工具菜单:允许在V2集成开发环境下启动用户功能。
4.可配置SVCS接口:提供对版本控制系统的入口。
5.PC-LINT接口:对应用程序代码进行深层语法分析。
6.Infineon的EasyCase接口:集成块集代码产生。
7.Infineon的DAVE功能:协助用户的CPU和外部程序。DAVE工程可被直接输入uVision2    
 
第三部分?编辑器和调试器
 
一、源代码编辑器
  uVision2编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对C源代码进行和优化。可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。
二、断点
  uVision2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。用户启动V2调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。
在属性框(attributes column)中可以快速浏览断点设置情况和源程序行的位置。代码覆盖率信息可以让你区分程序中已执行和未执行的部分。
三、调试函数语言
  uVision2中,你可以编写或使用类似C的数语言进行调试。
1.内部函数:如printf, memset, rand及其它功能的函数。
2.信号函数:模拟产生CPU的模拟信号和脉冲信号(simulate Analog and digital inputs to CPU)。
3.用户函数:扩展指令范围,合并重复动作。
四、变量和存储器
用户可以在编辑器中选中变呈来观察其取值。双层窗口显示,可进行以下调整:
1.当前函数的局部变量
2.用户在两个不同watch窗口页面上的自定义变量
3.堆栈调用(call stack)页面上的调用记录(树)(call tree)
4.不同格式的四个存储区

第四部分 C51编译器
 
  KEIL C51编译器在遵循ANSI标准的同时,为8051微控制器系列特别设计。语言上的扩展能让用户使用应用中的所有资源。
一、存储器和特殊功能寄存器的存取
C51编译器可以实现对8051系列所有资源的操作。SFR的存取由sfr和sbit两个关键字来提供。变量可旋转到任一个地址空间。用关键字-at-还能把变量放入固定的存储器.存储模式(大,中,小)决定了变量的存储类型。
连接定位器支持的代码区可达32个,这就允许用户在原有64K ROM的8015基础上扩展程序。在V2的编译器和许多高性能仿真器中,可以支持应用程序的调试。
二、中断功能
C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使C语言中断功能更加高效。
可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。
三、灵活的指针
  C51提供了灵活高效的指针。
  通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。
  特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需1-2字节,因此,指针存取非常迅速。
 
第五部分?代码优化
 
一、通用代码优化
1.常量重叠(constant folding)
2.通用子表达式删除(common subexpression elimination)
3.长度缩减速(reduction)
4.控制流优化(control flow optimization)
5.寄存器变量使用(register variable usage) 
6.寄存器间参数传递(parameter passing in register)
7.循环(loop rotation)
8.死码删除(dead code elimination)
9.通用Tail Merging
10.通用子程序块打包(block subroutine packing)
二、8051特殊优化
1.孔颈优化(peephole optimization)
2.跳转-分支优化(switch-case optimization)
3.中断函数优化(interrupt function optimization)
4.数字覆盖(overlaying)
5.扩展入口优化(extended access optimization)
三、寄存器优化
  C51为函数参数和局域变量分配了9个CPU寄存器。寄存器间最多可传递三个参数。P全局寄存器优化可删除不必要代码,优化CPU寄存器设备。
四、C语言实时库
  C51实时库含100多种功能,其中大多数是可再入的。库支持所有的ANSIC的程序,与嵌入式应用程序的限制相符。
  固有程序为硬件提供特殊指令,如:nop, testbit, rol, ror。
五,A51宏汇编 
A51宏汇编支持标准宏和MPL宏。要实现快速产生汇编程序SHELL,就直接使用C51编译器的SRC。
在新的A51 V6版本中,允许用户C包含的头文件来定义常量和SFR。如今,一个单一头文件可被应用到X程序和汇编程序中。
 
第六部分 RTX51实时核模块
 
  RTX51多任务实时内核可以简化那些过程复杂,时间紧迫的软件项目。RTX51是无版税的,完全集成到KEIL C51工具链上,支持C语言和汇编语言程序,也完全支持代码区的应用程序。RTX51完全支持:
1.标准任务(用一个共享寄存器区)
2.快速任务(用一个专用寄存器区)
3.CAN
4.邮箱(为内部任务通信
5.存储池(memory pools)
  RTX51 Tiny是简化后的内核,适于单片机系统。
  RTX51和RTX51Tiny都可使用户创建和撤消任务,发送和接收信号,也可执行其它操作系统管理。

一、上下文切换(任务切换)
1.轮询方式:(round-robin)每个任务在一个规定的时间段内运行,当一个任务的时间段结束时,另一个任务随之开始。
2.抢占方式(preemptive):优先级最高的任务最先执行,直到被一个具有更高优先级的任务打断,或是为等待某个事件而主动放弃控制权。
二、事件与中断
RTX 51支持下列事件
1.Timeouts: 延迟到特定定时点
2.Intervals: 延迟一段时间间隔
3.Signals: 协调内部任务操作
4.Messages: 在任务间互传信息
5.Interrupts: 处理硬件中断
6.Semaphores: 共享有限资源
RTX51同时支持中断功能,可以向任务中发送或从任务中接收信号和信息。

第七部分 测试程序
 
  uVision2调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能.DDE界面和shift语言支持自动程序测试.
一、CPU和外设模拟装置
  uVision2为8051及衍生产品提供了高速CPU模拟功能和片上扩展口.在对话框内可直接观察和修改I/O值,也可以用预装的C-LIKE宏指令书写符号函数来提供动态输入。
二、目标监控器
  uVision2含一个可配置的监控器,可测试目标器件上的软件体。监控器用uVision2的调试器直接工作,可支持代码区。它要求目标系统具备6字节堆栈空间,6KB的代码ROM和256字节Xdata RAM。
三、MCB517/251启动工具包
  在开始一项8051工程时,MCB启动工具会对你有很大帮助。每一个启动工具包括一套2K字节的开发工具和许多可快速运行的举例程序。用户可在检测8051性能的同时,查看开发工具的可行性。
  MCB517AC板含高性能Infineon C517A单片机,它提供标准8052外围设备和A/D转换器,PWM,搜索/比较,8位数据指针,一个高速运算单元。同时包含对81C90 CAN控制器和代码区的支持。
 
第八部分 C51 V6版本的优越性
 
一、C51及相关工具的优点
1.优化后的C51生成的代码效率可接近汇编
2.C51支持所有8051系列产品,提供对所有硬件部件的操作。
3.在有无8051寄存区转换的情况下,C51都 能产生快速中断代码。
4.C51支持Atmel, Dallas, Infineon, Philips和Temic的8051衍生产品上的多数据指针及高速算术单元(arithmetic units)
5.C51指派寄存器变量,在整个应用程序中执行全局寄存器优化。
6.所有工具均可产生详细警告信息和错误信息,帮助用户处理难于寻找的问题。
7.C51支持可再入功能和寄存器区的独立代码,以便于中断服务程序和多任务应用程序的执行  
8.执行高速存储器分区和调试使用户轻松突破64K空间限制。
二、uVision2的优点
1.简便易用的集成开发环境,提供工具选项的快捷安装
2.为大量8051衍生产品提供带驱动器的高速CPU和外置模拟器
3.用C语言生成用户和符号功能
4.综合性能分析和代码覆盖率
5,可配置的目标监控接口
发表于 2005-10-16 22:19:32 | 显示全部楼层

KEIL C51 编译器(V6)简介

讲解得很简明扼要,我喜欢!
发表于 2006-9-25 16:06:44 | 显示全部楼层
KEIL C51 编译器(V6)简介

简明扼要,好!
发表于 2014-11-30 17:46:33 | 显示全部楼层
好介紹 頂一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-13 09:30 , Processed in 0.026304 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表