Software services and embedded application development



















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.


(C) Copyright 2000-2007 Vault Information Services LLC. All Rights Reserved.