ARM Technical Support Knowledge Articles

Rebuilding SDT 2.50 ARMulator

Applies to: Software Development Toolkit (SDT)

When rebuilding the armulate.dll with Visual C++, is it important that you build a Release version, not a Debug version. The reason for this is there are some issues with the Microsoft C runtime which means that it is not possible to use a debug DLL with a release version of the ARM debugger.

If you are using the supplied makefile, you may need to set the build variant on the nmake command line:

nmake -f armulate.mak CFG="armulate - Win32 Release" 

There are two other known problems when rebuilding SDT 2.50 ARMulator with Visual C++ 5.0. These are both fixed in SDT 2.51 and ADS .

1. Makefile
The makefile 'armulate.mak' includes an RCS revision control header (used internally within ARM) that confuses Visual Studio or Developer Studio.

# armulate.mak
# Copyright (c) 1998 ARM plc. All rights reserved.
#
# RCS $Revision: 1.3 $
# Checkin $Date: 1998/07/21 20:38:41 $
# Revising $Author: swoodall $
#
# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
# TARGTYPE "Win32 (ALPHA) Dynamic-Link Library" 0x0602

The file is then not recognized as a Developer Studio-generated makefile. Simply moving the RCS header information (the top 6 lines) further down the file or removing it altogether from 'armulate.mak' will solve this problem.

2. Use of 'new'

The file 'armdefs.h' is (unfortunately) not C++-friendly. For example, it contains:

typedef void armul_ModeChangeUpcall(void *handle, ARMword old, ARMword new); 

The use of 'new' as a variable name here results in a compile error, because 'new' is a C++ reserved keyword. Simply giving 'new' a different name should solve this problem. Just 'search and replace' through armdefs.h with a text editor.

Article last edited on: 2008-09-09 15:47:30

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2008-9 ARM Limited. All rights reserved. External (Open), Non-Confidential