*
*Home|Chinese|Japanese*About ARM|Forums|Events|News|Employment|Contact Us|Investors*
dotted rule
*ARM - the architecture for the digital worldARM - the architecture for the digital world
search
*
*
***
*MARKETS:PRODUCTS & SOLUTIONS:CONNECTED COMMUNITY:TECHNICAL SUPPORT:DOCUMENTATION*
*
technical support
*
*
****
*.Technical Support
*
*
*>>Home Page*
*
*.Obtaining Support*
*
*.FAQs*
*
**Development Tool FAQs*
**IP FAQs*
**Embedded Software FAQs*
**Artisan Physical IP FAQs (Login Required)*
*
*.Downloads*
*
*.Documentation*
*
*.Training*
*
*.Where To Buy*
*
*.Keil MCU Tools*
*
*.What's New*
*
*.ARM Newsgroups*
*
*.Active Assist On-site Services*
*
*
*
technical support FAQsask ARM*
*

Technical Support Search
*     (Advanced Search)
  FAQs   Documentation   Downloads   Forums

*

 
downarrowRebuilding SDT 2.50 ARMulator
Applies to: ARMulator/RVISS, 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.






back to top

*
**
*4 dots*Other ARM Websites
*
shadow *LEGAL STATEMENTshadow