PRODUCT OVERVIEW

This section discusses the 8051 based microprocessors and the Franklin Software, Inc., development tools. Our development tools have been carefully designed to enable you to quickly and successfully complete your job. Specifically, our toolset:

  Helps you achieve your design goals

  Is upgradable

  Is extensible

  Is cost effective

  Is easy to use.

INTEGRATED ENVIRONMENT

ProView-51 is an integrated software development platform that includes a Windows user interface, a full-function editor, a project manager, a make facility, and an integrated Debugger/Simulator. ProView-51 directly supports all of the Franklin 8051 development tools. If you use ProView-51, you are not required to learn the command-line syntax of any of the tools. ProView-51 helps expedite the development process of your embedded 8051 applications by providing the following.
  Action bar pull-down menu system

  Multiple file editing capability

  Full-function editor

  Project manager for building absolute files using the C51 compiler, the A51 assembler, the L51 linker/locator, and other development tools.

  Dialog boxes for all environment and development tool settings

  On-line help system.

Sections Available:

About the Environment

Menu Commands

Development Tool Options

Project Manager

COMPILERS & ASSEMBLERS

Once you write programs for the 8051, you must then compile or assemble them using a compiler or an assembler. Compilers and assemblers are application programs that interpret the text file containing your source code program and create object files containing object code.

Franklin Software, Inc., distributes both a C compiler and an 8051 assembler. Support is provided for ANSI C with 8051 extensions (in the C51 compiler) and 8051 assembler with Intel ASM51 compatibility (in the A51 assembler). The C51 compiler and A51 assembler are described in this chapter.

Optimizing C Cross Compiler

Macro Assembler

C51 OPTIMIZING C CROSS COMPILER

The C programming language is a general-purpose programming language that provides code efficiency, elements of structured programming, and a rich set of operators. C is not a big language and is not designed for any one particular area of application. Its generality, combined with its absence of implementation restrictions, makes ‘C’ a convenient and effective programming solution for a wide variety of software tasks. Many applications can be solved more easily and efficiently with C than with other more specialized languages.

The Franklin Software C51 Optimizing Cross Compiler for the Windows operating system is a complete implementation of the ANSI (American National Standards Institute) standard for the C language--as far as is possible given the inherent native architectural limitations of this chip. The C51 compiler generates code for the entire family of 8051 microprocessors, but is not a universal C compiler adapted for the 8051 target. It is a ground-up implementation, dedicated to generating extremely fast and compact code for the 8051 microprocessor. For most 8051 applications, the C51 compiler allows a software developer the flexibility of programming in C while matching the code efficiency and speed of assembly language.

Using a high-level language like C has many advantages over assembly language programming:
  Knowledge of the processor instruction set is not required. A rudimentary knowledge of the memory architecture of the 8051 is desirable, but is not necessary.

  Details like register allocation and addressing modes are managed entirely by the compiler.

  The ability to combine variable selection with specific operations improves program readability.

  Keywords and operational functions that more nearly resemble the human thought process can be used.

  Program development and debugging times are dramatically reduced when compared to assembly language programming.

  The supplied library files provide many standard routines (such as formatted output, data conversions, and floating-point arithmetic) that may be incorporated into your application.

  Existing programs can be reused in new programs by utilizing the modular programming techniques available with C.

  The C language is a very portable and popular language. C compilers can be obtained for almost all target systems. This means that existing program software investments can be quickly and easily converted from or adapted to other processors or environments.

  RELATED TOPICS:

C51 Language Extensions

Data Types

Memory Types

Memory Models

Pointers

Reentrant Functions

InterRupt Functions

Code Optimizations

A51 MACRO ASSEMBLER

The A51 assembler is an Intel ASM51-compatible macro assembler for the 8051 family of microcontrollers. The A51 assembler translates symbolic assembly language mnemonics into relocatable object code where utmost speed, small code size, and hardware control are critical. The macro facility speeds development and conserves maintenance time, because common sequences need be developed only once. The assembler supports symbolic access to all features of the 8051 and is configurable for each 8051 derivative.

The A51 assembler translates an assembler source file into a relocatable object module. If the DEBUG control is used, or if the “Include debugging information” option is checked, this object file will contain full symbolic information for debugging with the WinSim-51 debugger/simulator or an in-circuit emulator. The A51 assembler generates a list file, optionally with symbol table and cross references. The A51 assembler is fully compatible with Intel ASM51 assembly programs.

RELATED TOPICS:
RUNNING THE ASSEMBLER

UTILITIES

A number of utility programs (in addition to compilers and assemblers) are required to create embedded application programs. Franklin Software, Inc., provides the following utility programs for use with the C51 compiler and A51 assembler:

LINKER/LOCATOR

The L51 linker/locator combines one or more object modules into one executable 8051 program. The L51 linker/locator resolves external and public references and assigns absolute addresses to relocatable programs segments.

The L51 linker/locator can process object modules created with the C51 compiler, the A51 assembler, the Intel PL/M-51 compiler, or the Intel ASM51 assembler. The L51 linker/locator automatically selects the appropriate run-time library and links in only the required modules from the library.

Normally, you invoke the L51 linker/locator as part of the Build or Make processes. The default values for the L51 linker/locator command-line options have been carefully chosen to accommodate most applications. However, you may specify custom settings for the L51 linker/locator.

RELATED TOPICS
RUNNIG THE LINKER

DEBUGGING AND TESTING

The WinSim debugger/simulator is a source-level debuggers for use with the C51 compiler, A51 assembler, Intel PL/M-51 compiler, and Intel ASM51 assembler programs.

The WinSim-51 debugger/simulator is a software-only product that allows you to simulate most of the features of an 8051 without actually having target hardware. You can use the WinSim-51 debugger/simulator to test and debug your embedded application before actual 8051 hardware is ready. The WinSim-51 debugger/simulator simulates a wide variety of 8051 peripherals including the serial port, external I/O, and timers.

RELATED TOPICS