New Age Micro - Software Porting Tools

| Company info | email us | home

New Age MicroNew Age Micro logo

embedded system design software development testing programming Linux

  Software Porting Tools / Code Generators

We've developed a collection of software porting tools used to migrate source code written for one platform over to another. These tools have saved countless man years of development time and preserved source code that would have become useless due to the processor it was written for becoming obsolete.

Successful applications of these tools have been porting 16 bit applications to 32 bit, 8 bit applications to 16 and 32 bit, and adaptation of floating point instruction sets. Moving between compilers and tool platforms is supported, as the porting tools can rearrange parameters, remap pragmas, and remap calls to library functions.

Stage 1Configure the first stage porting tools, then analyze the results of compiling the original sources with the new tool suite. The tool generates a list of translation rules. This process is iterative as the analyzers needs direction from the software engineer.

Stage 2After stage 1 translation rules are applied to the source code, the sources are compiled with the new tool suite, and the generated code is analyzed for changes needed to data structures that need to remain at a fixed size. The 2nd stage analysis phase is also an iterative process that requires interactions and decisions from the software engineer.

Stage 3After 2nd stage translations are applied to the sources, they are compiled and linked with the new tool suite and tested on the target hardware. Stage 3 translation rules are built iteratively and interactively with Stage 4.

Stage 4Build, Test, and Debug the new software. In addition to the debugging tools provided by the target tool suite, a powerful "Trace" porting tool simplifies the engineer's ability to understand the include file hierarchy, the expansion of Macros, and the details behind the generated code.

GrammarsCommunication protocols, Commands and options, and Menu Generation and parsing, are commonly described using grammars. Examples are the H323 Conference Protocol, and the Linux Configuration menu.

Grammar TranslationGrammars are translated to C source file(s) using LEX & YACK.

Home | Engineering Services | Proof of Concept | Embedded System Design | Custom Software | Windows Software | Linux Software | Consulting | Mechanical Engineering | Test Verification | Articles | Links
©2007-2011 by New Age Micro LLC - all rights reserved