

















|
IS PINNACLE 52 FOR YOU?
Pinnacle 52 was designed and developed to
meet the needs of 90% of the MCS-51 Development Community. It is logical to
assume, therefore, that Pinnacle 52 will not meet the needs of about 10% of
potential users.
SUPPORTED FEATURES:
Pinnacle 52 supports the features most commonly
required by the 8052 developer:
- 8051 Assembly Language. Pinnacle supports standard 8051 assembly language,
including all standard 8051 assembly language instructions.
- Derivative Chip Support. Pinnacle supports MCS-51 compliant chips, such as
the 8051, 8052, 8031, 8032, 87C51, 87C52, Dallas DS80C320.
- Object Files. Upon assembling an assembly language file, an object (OBJ) file
is created. The resulting OBJ file may be linked into other projects without releasing
the original source code used to generate the OBJ file.
- Library Modules. Pinnacle supports the concept of Library modules. Library
modules are standard OBJ files which are linked into a final project on an as-needed
basis. This allows the developer to prepare a reusable library of program code which
is subsequently linked into other projects. However, only the components of the library
that are actually used by the project will be included in the resulting linked file.
- Absolute Code Segments. Pinnacle gives the developer the ability to locate code
at a specific memory address using the ORG directive.
- Relocatable Code Segments. Pinnacle supports the concept of relocatable code;
this is code whose address is not specified in the source code, but rather is determined
at link-time according to location parameters specified in the IDE. This is especially
useful in combination with library modules which, together, provide the developer with a
way to create a reusable code library.
- Symbol Declaration. Full support of user symbol declaration is supported by way
of DECLARE, EQU, SET, and = directives. These symbols have file and module scope.
- Public & External Symbols. As to be expected in any IDE that creates OBJ files,
Pinnacle supports the concept of public and external symbols. A module may make symbol(s)
public, and these public symbols may then be used by other modules that declare them as
external.
- Full Expression Evaluation. Pinnacle includes full support for mathematical
expressions virtually anywhere in the source code. Any numeric value may, instead, be
represented as an expression. Expressions may include local symbols as well as external
symbols. Expressions may even include external relocatable symbols--something that many
high-end IDEs aren't even capable of.
- Conditional Assembly. Conditional assembly is supported by way of the standard
IF...ELSE...ENDIF structure.
- Macro Facility. Pinnacle has a fairly sophisticated macro facility which will
meet the needs of most developers.
- Editor. Included in the product is a full-featured editor. This editor will
allow you to edit your source code within the IDE, without need for an external editor.
Additionally, the editor is syntax-sensive, coloring 8051 keywords and operands for
easier reading.
- Simulator. Pinnacle includes an integrated Simulator. Upon assembling a
project, the resulting code may be automatically loaded into the IDE's Simulator
and tested immediately without having to use an external application and without
additional hardware.
- Code Profiler. Pinnacle includes a Code Profiler which, in conjunction with
the Simulator, will allow the developer to better analyze his code and determine what
sections of code are consuming the most execution time, etc.
- Disassembly Capability. As an important part of the Simulator, Pinnacle has a
powerful disassembly capability. The disassembly feature allows the developer to load
an existing, compiled 8051 project (in HEX format, etc.) and disassemble it. The
developer may subsequently declare symbols, assign labels, and insert comments throughout
the code. The resulting disassembly may be exported to an ASCII file that is
ready-to-assemble. This is extremely useful in reverse engineering existing programs,
modifying them, and re-assembling them with your new modifications.
NON-SUPPORTED FEATURES:
Pinnacle 52 does NOT support the following
features:
- Code Banking. Some high-end IDEs support the concept of "code-banking." This
allows the developer, using specially wired hardware, to produce 8051 projects that
exceed the standard 64k limit in regards to code size. Pinnacle does not support this
kind of code-banking since it is our belief that if a project requires more than 64k of
program code, a non-8052 architecture is probably called for.
- Reverse Origin Assembly. Some IDEs support the concept of reverse origin
assembly for relocatable code. Normally, a developer will tell the IDE something
along the lines of "relocatable segment X begins at address 0050h." Pinnacle supports
this. However, some IDEs allow the developer to indicate that "relocatable segment X
ends at address 00FFh." Pinnacle does not support this.
- Jump Optimization. Pinnacle does not currently support "jump optimization."
Jump optimization is a process in which the linker attempts to replace LCALLs and LJMPs
with ACALLs and AJMPs whenever possible, thus reducing the size of the resulting code.
It is our intention to implement this functionality in the future, but the current
version of Pinnacle does not support it.
PLANS FOR COMMONLY REQUESTED FEATURES:
We hope and anticipate that Pinnacle 52 will support
the following commonly-requested features in the future:
- "C" Compiler. It is our intention to develop a 'C' compiler as soon as possible
and include it in a future release of Pinnacle. At this point we do not know whether
we will develop the 'C' or BASIC compiler first.
- BASIC Compiler. It is our intention to develop a BASIC compiler as soon as
possible and include it in a future release of Pinnacle. At this point we do not know
whether we will develop the 'C' or BASIC compiler first.
- Derivative Chip Support. Pinnacle can already assemble code for any 8051
derivative chip; the special SFRs of derivative chips may be added by the user
using DEFINEs and EQUs, etc. However, the Simulator portion of the IDE is capable
of simulating only standard 8052 programs. It is our intention to add as many
derivative chips to the list of supported microcontrollers. If you have a particular
derivative chip in mind, please let us know so that we base our development of
derivative chips based on customer need.
|