第1360篇:KEIL C51 编译器简介

2006-04-30 18:28:28

字体变小 字体变大

第1360篇:KEIL C51 编译器简介

发布时间:2006年3月25日
点击次数:465
详细内容:KEIL C51 编译器简介

 
第一部分 8051开发工具
 

  KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,

使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编

器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。

C51 V7版本是目前最高效、灵活的8051开发平台。它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三

方开发工具。因此,C51 V7版本无疑是8051开发用户的最佳选择。

 

第二部分 uVision2集成开发环境
 
一、项目管理

工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。

一个单一的uVision2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件。

  uVision2包含一个器件数据库(device database),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定

微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra data pointer)或者加速器(math accelerator)的特

性。

  uVision2可以为片外存储器产生必要的连接选项:确定起始地址和规模。
 

二、集成功能

  uVision2的强大功能有助于用户按期完工。

1.集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器。

2.文件寻找功能:在特定文件中执行全局文件搜索。

3.工具菜单:允许在V2集成开发环境下启动用户功能。

4.可配置SVCS接口:提供对版本控制系统的入口。

5.PCLINT接口:对应用程序代码进行深层语法分析。

6.Infineon的EasyCase接口:集成块集代码产生。

7.InfineonDAVE功能:协助用户的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 ROM8015基础上扩展程序。在V2的编译器和许多高性能仿真器中,可以

支持应用程序的调试。

二、中断功能

C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使C语言中断功能更加高效。

可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。

 

三、灵活的指针

  C51提供了灵活高效的指针。

  通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。

  特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需12字节,因此,指针存取非常迅速。

 

第五部分代码优化
 
一、通用代码优化
1.常量重叠(constant folding)6.寄存器间参数传递(parameter passing in register)
2.通用子表达式删除(common subexpression elimination)7.循环(loop rotation)
3.长度缩减速(reduction)8.死码删除(dead code elimination)
4.控制流优化(control flow optimization)9.通用Tail Merging
5.寄存器变量使用(register variable usage)10.通用子程序块打包(block subroutine packing)

二、8051特殊优化

1.孔颈优化(peephole optimization)4.数字覆盖(overlaying)
2.跳转-分支优化(switch-case optimization)5.扩展入口优化(extended access optimization)
3.中断函数优化(interrupt function optimization)

三、寄存器优化

  C51为函数参数和局域变量分配了9CPU寄存器。寄存器间最多可传递三个参数。P全局寄存器优化可删除不必要代码,优化CPU寄存器设备。

四、C语言实时库

  C51实时库含100多种功能,其中大多数是可再入的。库支持所有的ANSI C的程序,与嵌入式应用程序的限制相符。

  固有程序为硬件提供特殊指令,如:nop, testbit, rol, ror。

五,A51宏汇编 

A51宏汇编支持标准宏和MPL宏。要实现快速产生汇编程序SHELL,就直接使用C51编译器的SRC。

在新的A51 V7版本中,允许用户C包含的头文件来定义常量和SFR。如今,一个单一头文件可被应用到X程序和汇编程序中。

 

第六部分 RTX51实时核模块
 

  RTX51多任务实时内核可以简化那些过程复杂,时间紧迫的软件项目。RTX51是无版税的,完全集成到Keil

C51工具链上,支持C语言和汇 编语言程序,也完全支持代码区的应用程序。RTX51完全支持:

1.标准任务(用一个共享寄存器区)

2.快速任务(用一个专用寄存器区)

3.CAN

4.邮箱(为内部任务通信)

5.存储池(memory pools)

  RTX51 Tiny是简化后的内核,适于单片机系统。

  RTX51和RTX51 Tiny都可使用户创建和撤消任务,发送和接收信号,也可执行其它操作系统管理。

 

一、上下文切换(任务切换)

1.轮询方式:(round-robin)每个任务在一个规定的时间段内运行,当一个任务的时间段结束时,另一个任务随之开始。

2.抢占方式(preemptive):优先级最高的任务最先执行,直到被一个具有更高优先级的任务打断,或是为等待某个事件而主动放弃控制权。

二、事件与中断

RTX 51支持下列事件

1.Timeouts: 延迟到特定定时点4.Messages: 在任务间互传信息
2.Intervals: 延迟一段时间间隔5.Interrupts: 处理硬件中断
3.Signals: 协调内部任务操作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板含高性能InfineonC517A单片机,它提供标准8052外围设备和A/D转换器,PWM,搜索/比较,8位数据指针,一个高速运算单

元。同时包含对81C90CAN控制器和代码区的支持。


第八部分 C51 V7版增强功能介绍

C51 V7版提供了很多新的和增强的功能,使开发8051嵌入式应用比以前更加简单。C51 V7版新功能包括:新版编译器和连接器更加优

化,可以缩短程序的大小; 能完全模拟支持的器件更多,如Philips 80C51MX, Dallas 80C390和Analog Devices MicroConverters;新的

ISD51系统内调试器,允许在不变的目标硬件上调试程序;可更好地支持Philips 51MX的24位地址; RTX51 Tiny增加了新功能,它比以前更小,但提供的功能更多。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值