All Proteus VSM processor models are able to run binary files (i.e. Intel or Motorola Hex files) produced by any assembler or compiler. However, the debugging facilities available are very limited since the processor model has no way to correlate the machine code it is executing with your original source program.
Fortunately, most compilers also produce symbolic debug data files that contain extra information to be used by debuggers and other tools. The Proteus VSM processor models are able to load the debug data files produced by selected third party compilers enabling them to provide full high-level language debugging facilities including the ability to display and step through the original source code as well as display the contents of program variables as the code executes.
For AVR or ARM development we recommend using the ELF/DWARF debug format if such is available as debug output from within your compiler. Failing that, the COFF file format is also supported.
For PIC Development we recommend either using the Proton Development Suite (BASIC language) or specifying the COFF format from within your compiler. We anticipate most compilers (and also MPLAB) moving towards ELF/DWARF in the future and will introduce ELF/DWARF support to the PIC models at that point.
For 8051 development we recommend using standard OMF51 output or IAR's UBROF debug format.
The following table lists the third party tools supported by Proteus VSM. For each tool we have indicated the Proteus VSM processor models supported and whether or not that support extends to source level code stepping and/or variable display. Specific support information for each tool can be found in the sections that follow.
| PIC | 8051 | HC11 | AVR | ARM | High-Level Stepping1 |
Variables Display2 |
|
|---|---|---|---|---|---|---|---|
| Proton Development Suite | |||||||
| Microchip MPLAB 6 | |||||||
| IAR Embedded Workbench | |||||||
| Keil uVision 3 | |||||||
| Bytecraft MPC | |||||||
| CCS Inc 'C' | |||||||
| HiTech PICC | |||||||
| GNU 'C' for AVR | |||||||
| Imagecraft ICCAVR | |||||||
| Codevision AVR | |||||||
| GNU 'C' for ARM |
Notes:
1.Due to the extensive code optimization performed by some compilers, the correlation between the original source code and the compiler generated machine code may be lost. Typically, this arises where CALL/RETURN pairs are replaced with GOTOs, and there is no reliable method of establishing the call chain. In such cases, the code may be single stepped at the machine code level only.
2.Some symbolic debug formats do not provide sufficient data to allow reliable display of the program variables and their values. In such cases, the variables popup window is not displayed.
Crownhill Associates produce a flexible and powerful PIC Basic compiler. Proteus VSM supports both high level and machine code level source code debugging for this compiler as well as variables display, memory dumps and other debugging tools.
Labcenter Electronics and Crownhill Associates have developed a completely integrated environment for developing and simulating embedded system designs. ISIS is launched and seamlessly executed from within the Crownhill IDE providing a uniquely powerful toolsuite for PIC development.
Please note that you must have the new Proton Development Suite to take advantage of the new integration with Proteus.
Microchip's MPLAB IDE can be used as a host environment for most professional PIC compilers on the market today. As well as providing a source editor and project management facilities, Proteus seamlessly integrates inside MPLAB, providing a truly complete debugging environment for the embedded engineer. More details on the Proteus VSM MPLAB viewer can be found here.
IAR produce a comprehensive range of compilers covering all the processors supported by Proteus VSM. IAR also offer a number of visual development tools including MakeApp and VisualState which allow for rapid and reliable development of embedded software.
Debugging with IAR can take place either via the UBROF8 format which can be output by all IAR's compilers (and is therefore a generic solution) or, if working with EWARM, via the IAR driver plugin.
Keil specialise in development tools for the 8051 and ARM models. Integration between Keil's uVision2 / uVision3 and Proteus VSM is provided either through a remote debug driver or via the ELF/DWARF (ARM) and standard OMF51 (8051) debug formats. The remote debug driver allows the debugging session under uVision2/Vision3 to control a VSM simulation session rather as though you were using a hardware ICE.
Labcenter Electronics and Keil GmBH are actively co-operating with a view to further enhancing the integration between Proteus VSM and the Keil toolset.
Byte Craft produce a range of cross compilers including the MPC PIC 'C' compiler. At present, the limitations of the COD symbolic debug data format mean that the VSM debugging support for this product is limited to stepping through the machine code and watching specific memory locations Source level stepping and variable display are not supported.
We are working with Byte Craft to try and rectify this.
CCS produce a number of compilers for PICMicro MCU including the free PCB compiler which is included with MPLAB
Support for these tools is provided through a loader for the COFF format which has also been adopted by Microchip as the standard for the MPLAB IDE.
HiTech Software produce compilers for a range of microcontrollers - noteable the PICC and PICC18 products for PIC16 and PIC18 CPU families. A limited freeware version PICC compiler - PICCLITE - is also available.
Support for these tools is provided through a loader for the COFF format which has also been adopted by Microchip as the standard for the MPLAB IDE.
Please note that you must have the PICC compiler version 8.01 PL 3 or later with the additional patches for COFF support. You should then compile your code with the -MPLAB option. Please see HiTech's website for more information.
This open software licence compiler is available for a number of platforms and is a particular favourite with AVR developers.
Support for GNU 'C' on the AVR is provided via a loader for the ELF/DWARF format which is also used by Atmel AVR Studio (Version 4 or later) . GNU 'C' is available as a free download from the AVR Freaks website.
This open software licence compiler is available for a number of platforms and is a particular favourite with ARM developers, to the extent that it is often used as the compiler within commercial IDE's.
Support for GNU 'C' on the ARM is provided via a loader for the ELF/DWARF format.
GNU 'C' is available as a free download from the Keil website.
Imagecraft produce a range of compilers for various target devices. Support for the ICCAVR compiler is via a loader for the COFF object module format produced by the compiler and provides full source level debugging facilities. We anticipate that Imagecraft will shortly provide support for ELF/DWARF, at which point we recommend this debug format for use with Proteus VSM.
Support for the popular Codevision AVR Compiler is via a loader for the COFF object module format produced by the compiler. This provides full debugging facilities directly within Proteus VSM. We anticipate that Codevision will shortly provide support for ELF/DWARF, at which point we recommend this debug format for use with Proteus VSM.