Keil 8051 Modules (PK51, CA51 and A51) Brief Description

Posted in 8051 or MCS 51, Compiler Assembler, Development Tools, Favorite, RTOS
On Friday, May 19, 2006

Following are brief description of Keil modules for 8051 microcontrollers: Keil PK51, CA51 and A51:

RTX51 TINY Real-Time Kernel

RTX51 TINY is designed for single-chip applications. RTX51 TINY is well suited for embedded-system applications that don’t need complex RTOS features like messaging, semaphores, and memory pool management.
RTX51 TINY requires only 900 bytes of code space and required no XDATA . Operating system variables and task stacks are stored in internal DATA/IDATA memory.
RTX51 Tiny performs round-robin and cooperative multitasking only. It is not support Pre-emptive task switching and task priorities management. Those two features are covered in RTX51 Full.


Keil-PK51

Keil 8051 Package

MON51 and MON390 Target Monitors

MON51 and MON390 are target monitor tools for the 8051 microcontroller family.
MON51 is designed for common 8051 microcontrollers. MON390 for the Dallas Semiconductor DS80C390, DS80C400, and DS5240.
With MON51 and MON390 in your PC and RS-232 connection to your microcontroller, you can view program symbols, debug using your source code, watch program variables, examine memory contents, and more. All in real time.

uVision3 Debugger

The uVision3 Debugger allows you to test your applications using:

  • PC-based microcontroller simulation
  • Target-based debugging using a monitor program
  • Target-based debugging using an emulator
  • Target-based debugging using an OCDS interface

Features:

  • Full symbolic information
  • Source-level debugging
  • Simple breakpoints
  • Complex, conditional breakpoints
  • Dual Watchpoint windows
  • Dual Memory windows
  • Complete, extensible Peripheral Simulation
  • C Macro Language to extend the debugger capabilities
  • Performance analysis
  • Code coverage analysis

ISD51 In-System Debugger

ISD51 consists of a configurable debug module that you link to your user programs to provide support for program testing via the 8051 on-chip UART.
ISD51 can run from external or on-chip CODE space and requires no special hardware components.

C51 C Compiler

The Keil C51 C Compiler is the most popular 8051 C compiler for embedded-system community.
Language extensions in the C51 Compiler give full access to all resources of the 8051.
For debugging, C51 translates C source files into a relocatable object module. When the DEBUG control is used, the object file contains full symbolic information for debugging with the uVision3 Debugger or an in-circuit emulator. It is also generates a listing file which include symbol table and cross-reference information.

Features:

  • Nine basic data types, including 32-bit IEEE floating-point
  • Flexible variable allocation with bit, data, bdata, idata, xdata, and pdata memory types
  • Interrupt functions may be written in C
  • Full use of the 8051 register banks
  • Complete symbol and type information for source-level debugging
  • Use of AJMP and ACALL instructions
  • Bit-addressable data objects
  • Built-in interface for the RTX51 real-time operating system
  • Support for dual data pointers on Atmel, AMD, Cypress, Dallas Semiconductor, Infineon, Philips, and Triscend microcontrollers
  • Support for the Philips 8xC750, 8xC751, and 8xC752 limited instruction sets
  • Support for the Infineon 80C517 arithmetic unit

CX51 C Compiler

The Keil CX51 C Compiler is an ANSI Standard C Compiler for the Philips 51MX architecture. The Philips 51MX is an 8051-based microcontroller architecture that supports up to 8 MBytes of code and 8 MBytes of data.

The CX51 offers these additional features:

  • Support for all Philips 51MX devices.
  • Supports linear memory models (8 MBytes code and 8 MBytes data).
  • Uses run-time library designed specifically for the 51MX.

A51 Macro Assembler

The A51 Assembler is a macro assembler for the 8051 family of microcontrollers. It translates symbolic assembly language mnemonics into relocatable object code where the utmost speed, small code size, and hardware control are critical.
The DEBUG control adds full symbolic information to the object module and supports debugging with the uVision3 Debugger or an in-circuit emulator. It also generates list files which optionally may include symbol table and cross-reference information.

AX51 Macro Assembler

The Keil AX51 Macro Assembler is an enhanced 8051 assembler that provides support for 8051-based devices with additional instructions and features.
Following is a list of differences between the AX51 Assembler and the A51 Assembler:

  • Support is included for the Dallas Contiguous Mode Instruction Set (390/5140/400)
  • Support is included for the Philips 51MX Instruction Set
  • Case-sensitive symbols are supported
  • Memory class support has been added
  • Alignment features and relocation types have been added or enhanced
  • 32-bit arithmetic for expression calculations is supported
  • 8051 SFRs are no longer predefined
  • More words are reserved for the assembler (ECALL for example)
  • OMF2 object module format is used

uVision3 IDE

The uVision3 IDE from Keil Software combines project management, make facilities, source code editing, program debugging, and complete simulation in one powerful environment.
The editor and debugger are integrated into a single application.
The Keil uVision3 allows you to create an output file for simulating, an output file for debugging with an emulator, and an output file for programming an EPROM — all from the same Project file.
The Keil uVision accurately simulates on-chip peripherals (I²C, CAN, UART, SPI, Interrupts, I/O Ports, A/D Converter, D/A Converter, and PWM Modules) of your 8051 device. Simulation helps you understand hardware configurations.

BL51 Code Banking Linker/Locator

The BL51 code banking linker/locator combines OMF51 object modules and creates executable 8051 programs. The linker resolves external and public references and assigns absolute or fixed addresses to relocatable program segments.
The BL51 Linker processes object files created by the Keil C51 Compiler and A51 Assembler and the Intel PL/M-51 Compiler and ASM-51 Assembler. These object modules must adhere to the OMF51 object module specification. BL51 outputs an absolute OMF51 object module that may be loaded into practically any emulator, the Keil uVision3 Debugger, or the OH51 Object-HEX converter.

LX51 Enhanced Linker

The LX51 linker/locator combines object modules and creates executable 8051 programs. The linker resolves external and public references and assigns absolute or fixed addresses to relocatable program segments. It processes object files created by the Keil C51 Compiler, CX51 Compiler, A51 Assembler, AX51 Assembler, and the Intel PL/M-51 Compiler and ASM-51 Assembler and generates an absolute OMF2 object module.

The LX51 Enhanced Linker offers the following features that are not available in the BL51 Code Banking Linker:

  • Special ROM Handling — The LX51 linker provides the SROM memory class that is used to
  • handle segments or memory classes that are stored in ROM but copied to RAM for execution.
  • Segment and Class Information — The LX51 linker creates special symbols that can be used to obtain address and length information for segments or classes used in an application.
  • Bank Table Optimization — The LX51 linker allows you to specify the default code bank after reset. This optimization reduces the size of the inter-bank jump table.
  • User Provided Memory Classes — The USERCLASS directive (for the C51 and CX51 compilers) allows you to specify class names for compiler-generated segments.
  • Support for XDATA Constants — You may declare variables in the far const memory space which is located in ROM.
  • Linker Code Packing — This linker optimization reduces total program size by up to 8%.
  • AJMP/ACALL Optimization — When using this optimization, the linker rearranges program segments so that AJMP and ACALL instructions used (instead of LJMP and LCALL).
  • Global Assembler Code File — The linker can generate a program-wide mixed source/disassembly listing.
  • Far Memory Support — The LX51 linker supports up to 8 MBytes of code and 8 MBytes of data space.
  • Case Sensitive Symbol Names — Symbol names are now case-sensitive.
  • Detailed Data Type Checking — Detailed information is included in the object module for all program objects (like variables, functions, function argument lists, unions, structs, and so on).
  • The LX51 Linker compares these between object modules and reports any mismatches. This helps you locate subtle errors in the declarations of your functions, structures, and variables.
  • Support for Up To 64 Code Banks — Code banking programs may now support up to 4 MBytes of program space.

OH51 Object-HEX Converter

The OH51 Object-HEX converter creates Intel HEX files from absolute OMF51 object modules, created by the Keil A51 assembler, BL51 code banking linker, or OC51 banked object converter.

OC51 Banked Object Converter

The OC51 banked object file converter is a utility that creates an absolute object module for each code bank in a banked object module. You should not use this utility unless you have created a code banking program using the BL51 code banking linker.
When you create a code banking application, all symbolic and source-level information is maintained in the banked object module and is transferred by OC51 to each individual absolute object module for each code bank.
Once you have used OC51 to create the absolute object modules, you may use OH51 to create an Intel HEX file for each code bank.


Source:
Keil, MicrocontrollerShop

One Response to “Keil 8051 Modules (PK51, CA51 and A51) Brief Description”

  1. Microcontroller and Embedded Systems Hilite at EarthSync Network Says:

    [...] Keil 8051 Modules (PK51, CA51 and A51) Brief Description [...]


Possible Related Entries:
[Embedded System roll-b]
Caution:
Non-English page is generated by an automatic translation software which can rise inaccurate translation.
Consider to view the original English version via link at the bottom of this page.