PortAsm supports the main industry standards for POWER Architecture development, and thus works with most of the leading POWER Architecture toolsets, providing source-level debugging facilities and integration with the other development tools.
Below is a screen-shot showing PortAsm as a plug-in for CodeWarrior for Embedded POWER Architecture. Click on the image to see a full-size version.
Supported Runtime Environments
- EABI/ELF standard for embedded applications (with DWARF
debugging). This is the standard for most POWER Architecture embedded
applications and RTOSes.
- XCOFF-format (AIX, MacOS 9, Lynx, and other PowerOpen
- SVR4/ELF standard (Solaris, OS/2, MkLinux, PPCLinux)
- Windows NT for POWER Architecture (now obsolete)
Supported POWER Architecture target assemblers
- IBM 'as'
- Metaware and Tasking Inc 'asppc'
- Diab Data 'das'
- Gnu 'gas'
- Metrowerks CodeWarrior (hosted under the CodeWarrior IDE)
- Mentor Graphics Microtec tools and XRAY debugger
Notes on specific tool combinations:
Software Development Systems SingleStep with the Diab Data C compiler and assembler
This combination of tools is well-established and has been used in many PortAsm porting projects. You need to set the following PortAsm options:
-a diab -abi eabi
Full source-level debugging is available under SingleStep if you also select the -sym68k option.
Wind River Tornado with the Gnu compiler, assembler and linker and VxWorks
Tornado from Wind River Systems Inc provides a development environment under which PortAsm can easily be run. You need to select the PortAsm option '-wrs'.
PortAsm will generate code in the correct form for the Gnu assembler and the VxWorks runtime environment supported by Tornado. The Wind River tools are rather unusual in that object files are typically downloaded unlinked to the target board, and linked dynamically as required. When testing this, we found a couple of points to be aware of:
- Currently VxWorks does not support the 'small-data' areas defined in the EABI specification. You therefore need to ignore the sections in the PortAsm documentation which refer to placing data in the .sdata .sdata2 and .sbss sections.
- Source-level debugging works correctly under Tornado only for specific source-file extensions (typically .c). Thus, if you have source file called 'init.sa', you will need to rename it 'init.c' before translation if source-level debugging is to work correctly. Also under Windows NT we found that you MUST put a trailing '\' character in the Source Path dialog in the Tornado IDE - if you just use the 'Browse' dialog to specify the path, it fails to add this final character and the source files don't show up.
- Error messages output by PortAsm during a build should be in the right format to support the double clickable error format used by Tornado. Just double-click on the error message and the editor will take you to the appropriate source file line.
Tasking Inc: Development Environment, assembler and CrossView debugger
PortAsm can be run directly under the Tasking 'Embedded Development Environment' (EDE) and works together with the Tasking assembler and debugger. To target this environment, select the PortAsm options:
-a meta -abi eabi
together with -sym68k for source-level debugging.
To run PortAsm/68K under the EDE, select the Document/Language.. menu option in the EDE. In the dialog, choose 'New Type' (for example, for .sa files). Set the compiler to be:
pa68k -a meta -abi eabi -sym68k %b%e
This will then mean that .sa (68K source) files are translated using PortAsm to become .s (POWER Architecture source) files, which are then assembled by the Tasking POWER Architecture assembler.
For more information, see the Tasking Inc web-site.
Mentor Graphics/Microtec POWER Architecture Tools
For more information the the Mentor (Microtec) development tools please refer to the Mentor website.
We support the Mentor Graphics toolsets for both our ColdFire and POWER Architecture porting tools, including the Microtec compilers, assemblers, linkers and XRAY debugger. A particularly powerful combination is to use the XRAY debugger to carry out simultaneous live debugging of both the original (680x0) and translated (for example, POWER Architecture) application!