In order to use goanna with the Keil µVision4 IDE, you will need

  1. goanna Central 3.1.0 or higher Download Here
  2. Keil µVision4 IDE (version 4.53 or higher) with ARM development tools.

Note: Currently only ARM and C51 development tools are currently supported.

Integrating Goanna into the Keil µVision IDE


STEP 1. Start the Keil µVision4 IDE.
STEP 2. From the Tools menu, select Customize Tools Menu….
STEP 3. In the Customize Tools Menu dialog that follows, click the  New (Insert) button.
STEP 4. For the name of the new menu item, type &Goanna.

STEP 5. Next to Command:, type goannacc (or the full path to goannacc.exe if you do not already have it in your PATH environment variable).

STEP 6. Next to Arguments:, copy and paste the following text:

--nc --dialect=armcc --output-format="%%RELFILE%%(%%LINENO%%): Goanna[%%CHECKNAME%%]: Severity-%%SEVERITY%%: %%MESSAGE%%%%EOL%%" *.c

STEP 7. Check Run Minimized.

STEP 8. Click OK.

STEP 9. You should now see a new menu item goanna on your Tools menu. This runs goanna static analysis over your project, with the results appearing in the Build Output Window.

Double clicking on a warning will navigate to the source file and line number of the offending statement. Lines that cause goanna warnings will be highlighted with the marker.








Known Issues

  1. Currently only ARM and C51 development tools are supported.
  2. The full list of source files in your Keil uVision project (.uvproj) is currently not auto-detected.  If these span multiple directories, then *.c may miss some files in your project.  To work around, instead of *.c you may need to specify several patterns, or maintain the full file list in a Goanna build specification or batch file.  See the User Guide for more details.
  3. The full command line options for armcc are currently not auto-detected from your Keil uVision project.  To work around, go to your Project Options in the Keil IDE, click the C/C++ tab, and copy the Compiler control string into the goannacc command line.
  4. Keil uVision projects typically specify all include paths fully in command line options.  But if any of ARMCC’s built-in include paths are missing, you currently may have to manually add a path (such as C:/Keil/ARM/ARMCC/include) to the file bin\dialects\armcc.goannadialect under your Goanna install directory.
  5. Goannacc currently does not accept C51 command line directives such as DEFINE and INCDIR:
    C51 SAMPLE.C DEFINE (check, NoExtRam)
    Workaround: Use options -Dcheck -DNoExtRam -IC:\MYINC IC:\CHIP_DIR instead.
  6. #pragma ASM … #pragma ENDASM syntax is currently not supported.