Simulator for Intel x86/x64



Similar documents
TRACE32 Documents... ICD In-Circuit Debugger... Processor Architecture Manuals... TriCore... TriCore Monitor... 1

TRACE32 Documents... ICD In-Circuit Debugger... Processor Architecture Manuals... C166 Family... C166 Monitor... 1

RTOS Debugger for ecos

Training Simulator and Demo Software

Integration for X-Tools and X32

General Commands Reference Guide G

TRACE32 Debugger Getting Started... ICD Tutorial About the Tutorial... 2

DsPIC HOW-TO GUIDE Creating & Debugging a Project in MPLAB

Quick Start Tutorial. Using the TASKING* Software Development Tools with the Intel 8x930 Family Evaluation Board

CHAPTER 6 TASK MANAGEMENT

Linux. Reverse Debugging. Target Communication Framework. Nexus. Intel Trace Hub GDB. PIL Simulation CONTENTS

Hardware and Software Requirements

Training Android Debugging

Embedded Software development Process and Tools:

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

Special FEATURE. By Heinrich Munz

USBSPYDER08 Discovery Kit for Freescale MC9RS08KA, MC9S08QD and MC9S08QG Microcontrollers User s Manual

Training Linux Debugging

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER

Real-time Debugging using GDB Tracepoints and other Eclipse features

Intel x86/x64 Debugger

Example of Standard API

GIVE WINGS TO YOUR IDEAS TOOLS MANUAL

XDB Intel System Debugger 2015 Overview Training. Robert Mueller-Albrecht, TCE, SSG DPD ECDL

Keil Debugger Tutorial

ARM. series SIGNUM SYSTEMS. JTAGjet-ARM Driver for IAR Embedded Workbench. Installation Instructions

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

x86 ISA Modifications to support Virtual Machines

3. Programming the STM32F4-Discovery

Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer

National CR16C Family On-Chip Emulation. Contents. Technical Notes V

Installation and User Guide Zend Browser Toolbar

Using Example Projects, Code and Scripts to Jump-Start Customers With Code Composer Studio 2.0

ERIKA Enterprise pre-built Virtual Machine

Using HiTOP with the HOT16x Hands-On Training Materials

Ride7 for ARM. RAISONANCE Tools for the STRx and STM32 families. Overview and Getting Started

GPU Tools Sandra Wienke

Development With ARM DS-5. Mervyn Liu FAE Aug. 2015

Designing a Home Alarm using the UML. And implementing it using C++ and VxWorks

Introduction to Eclipse

DS-5 ARM. Using the Debugger. Version Copyright ARM. All rights reserved. ARM DUI 0446M (ID120712)

Freescale Semiconductor, I

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

An Introduction to MPLAB Integrated Development Environment

EMBEDDED C USING CODEWARRIOR Getting Started Manual

CPS221 Lecture: Operating System Structure; Virtual Machines

x64 Servers: Do you want 64 or 32 bit apps with that server?

Using Process Monitor

Paragon ExtFS for Windows

REMOTE DEVELOPMENT OPTION

Using DAVE with MDK Version 5

matasano Hardware Virtualization Rootkits Dino A. Dai Zovi

CS420: Operating Systems OS Services & System Calls

Phoenix Technologies Ltd.

Software development and debugging for NXP ARM7 MCUs

Security Service tools user IDs and passwords

FlowKit in-circuit debug system

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Contents. 2. cttctx Performance Test Utility Server Side Plug-In Index All Rights Reserved.

H ARDWARE C ONSIDERATIONS

STLinux Software development environment

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

PRACTICE Script Language Reference Guide

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

LDCDP GdW. L force Controls. Ä.GdWä. Software Manual. Industrial PC. WindowsR CE Thin Client. Operating system

Using Intel C++ Compiler in Eclipse* for Embedded Linux* targets

FRONT FLYLEAF PAGE. This page has been intentionally left blank

Memory Management Simulation Interactive Lab

The Advanced JTAG Bridge. Nathan Yawn 05/12/09

Chapter 12. Development Tools for Microcontroller Applications

Introduction to Embedded Systems. Software Update Problem

USB2VGA. Instruction Manual. USB to VGA Adapter. USB 2.0 to VGA External Multi Monitor Video Adapter

S7 for Windows S7-300/400

Manage Software Development in LabVIEW with Professional Tools

Embedded x86 Programming: Protected Mode

Embedded Linux Platform Developer

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager

Embedded X86 Programming: Protected Mode

9/26/2011. What is Virtualization? What are the different types of virtualization.

Virtualization: Hypervisors for Embedded and Safe Systems. Hanspeter Vogel Triadem Solutions AG

Project Manager Editor & Debugger

OPERATING SYSTEMS Software in the Background. Chapter 2

Trace Port Analysis for ARM7-ETM and ARM9-ETM Microprocessors

Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v Steps to Developing a QNX Program Quickstart Guide

Figure 1: Graphical example of a mergesort 1.

DS-5 ARM. Using the Debugger. Version 5.7. Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0446G (ID092311)

Intel Application Software Development Tool Suite 2.2 for Intel Atom processor. In-Depth

Java Embedded Applications

Comp 255Q - 1M: Computer Organization Lab #3 - Machine Language Programs for the PDP-8

Michele Jr De Candia Curriculum Vitae

Fall 2006 CS/ECE 333 Lab 1 Programming in SRC Assembly

1 Intel Smart Connect Technology Installation Guide:

Android Basics. Xin Yang

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

Debugging A MotoHawk Application using the Application Monitor

Phoenix SecureCore TM Setup Utility

The Purpose and Use of the Configuration Register on All Cisco Routers

Transcription:

Simulator for Intel x86/x64 TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents... TRACE32 Instruction Set Simulators... Simulator for Intel x86/x64... 1 TRACE32 Simulator License... 3 Quick Start of the Simulator... 4 Peripheral Simulation... 6 Troubleshooting... 6 FAQ 6 Emulation Modes... 7 SYStem.CONFIG Configure debugger according to target topology 7 SYStem.CPU CPU type 7 SYStem.CpuAccess Run-time memory access (intrusive) 7 SYStem.LOCK Lock and tristate the debug port 8 SYStem.MemAccess Real-time memory access (non-intrusive) 8 SYStem.Mode Establish the communication with the simulator 9 General SYStem Settings and Restrictions... 10 SYStem.Option REL Relocation register 10 SYStem.Option MEMoryMODEL Define memory model 10 Memory Classes... 13 Support... 14 Available Tools 14 Compilers 17 Realtime Operation System 17 3rd Party Tool Integrations 18 Products... 19 Product Information 19 Order Information 19 Simulator for Intel x86/x64 1

Simulator for Intel x86/x64 Version 24-May-2016 All general commands are described in the IDE Reference Guide (ide_ref.pdf) and General Commands Reference. Simulator for Intel x86/x64 2

TRACE32 Simulator License [build 68859 - DVD 02/2016] The extensive use of the TRACE32 Instruction Set Simulator requires a TRACE32 Simulator License. For more information, see www.lauterbach.com/sim_license.html. Simulator for Intel x86/x64 3 TRACE32 Simulator License

Quick Start of the Simulator To start the simulator, proceed as follows: 1. Select the device prompt for the ICD Debugger and reset the system. B:: RESet The device prompt B:: is normally already selected in the command line. If this is not the case, enter B:: to set the correct device prompt. The RESet command is only necessary if you do not start directly after booting the TRACE32 development tool. 2. Specify the CPU specific settings. SYStem.CPU <cpu_name> The default values of all other option are set in such a way that it should be possible to work without modification. Please consider that this is probably not the best configuration for your target. Simulator for Intel x86/x64 4 Quick Start of the Simulator

3. Enter debug mode. SYStem.Up This command resets the CPU and enters debug mode. After this command is executed it is possible to access memory and registers. 4. Load the program. Data.LOAD.format <filename> ; load program and symbols The format of the Data.LOAD command depends on the file format generated by the compiler. Refer to Supported Compilers to find the command that is necessary for your compiler. A detailed description of the Data.LOAD command and all available options is given in the reference guide. 5. Start-up Example A typical start sequence is shown below. This sequence can be written to a PRACTICE script file (*.cmm) and executed with the command DO <filename>. B:: WinCLEAR SYStem.CPU <cpu_name> SYStem.Up Data.LOAD.format <filename> Register.Set pc main PER.view ; Select the ICD device prompt ; Clear all windows ; Select CPU type ; Reset the target and enter ; debug mode ; Load the application ; Set the PC to function main ; Show clearly arranged peripherals ; in window *) Data.List ; Open source code window *) Register /SpotLight ; Open register window *) Frame.view /Locals /Caller Var.Watch %Spotlight flags ast ; Open the stack frame with ; local variables *) ; Open watch window for ; variables *) *) These commands open windows on the screen. The window position can be specified with the WinPOS command. Simulator for Intel x86/x64 5 Quick Start of the Simulator

Peripheral Simulation For more information, see API for TRACE32 Instruction Set Simulator (simulator_api.pdf). Troubleshooting FAQ No information available Simulator for Intel x86/x64 6 Peripheral Simulation

Emulation Modes SYStem.CONFIG Configure debugger according to target topology The SYStem.CONFIG commands have no effect on the simulator. They are only provided to allow the user to run PRACTICE scripts written for the debugger within the simulator without modifications. SYStem.CPU CPU type Format: SYStem.CPU <mode> <mode>: I8086 I80186 I80186EA I80186EB I80186EC AM186EM AM186ES AM186ER AM186ED AM186CC Selects the processor type. SYStem.CpuAccess Run-time memory access (intrusive) Format: SYStem.CpuAccess Enable Denied Nonstop Default: Denied. Enable Allow intrusive run-time memory access. Since a non-intrusive run-time memory access (SYStem.MemoryAccess CPU) is available for all TRACE32 instruction set simulators, there is no need for an intrusive run-time memory access. Simulator for Intel x86/x64 7 Emulation Modes

Denied Nonstop Lock intrusive run-time memory access. Lock all features of the debugger, that affect the run-time behavior. Nonstop reduces the functionality of the debugger to: run-time access to memory and variables trace display The debugger inhibits the following: to stop the program execution all features of the debugger that are intrusive (e.g. action Spot for breakpoints, performance analysis via StopAndGo mode, conditional breakpoints etc.) SYStem.LOCK Lock and tristate the debug port Format: SYStem.LOCK [ON OFF] Default: OFF. If the system is locked, no access to the debug port will be performed by the debugger. While locked, the debug connector of the debugger is tristated. The main intention of the lock command is to give debug access to another tool. The command has no effect for the simulator. SYStem.MemAccess Real-time memory access (non-intrusive). Format: SYStem.MemAccess CPU Denied<cpu_specific> SYStem.ACCESS (deprecated) CPU Denied Real-time memory access during program execution to target is enabled. Real-time memory access during program execution to target is disabled. Default: Denied. Simulator for Intel x86/x64 8 Emulation Modes

SYStem.Mode Establish the communication with the simulator Format: SYStem.Mode <mode> <mode>: Down NoDebug Go Up Default: Down. Selects the target operating mode. Down NoDebug Go Up The CPU is in reset. Debug mode is not active. Default state and state after fatal errors. The CPU is running. Debug mode is not active. Debug port is tristate. In this mode the target should behave as if the debugger is not connected. The CPU is running. Debug mode is active. After this command the CPU can be stopped with the break command or if any break condition occurs. The CPU is not in reset but halted. Debug mode is active. In this mode the CPU can be started and stopped. This is the most typical way to activate debugging. If the mode Go is selected, this mode will be entered, but the control button in the SYStem window jumps to the mode Up. Simulator for Intel x86/x64 9 Emulation Modes

General SYStem Settings and Restrictions SYStem.Option REL Relocation register Format: SYStem.Option REL <value> IREL option must be set to the same value the user program write to the REL register. The adjusted I/O base address can be read back with the functions IOBASE() and IOBASE.ADDRESS(). They return the offset or the complete address (offset and access mode) for the I/O area. SYStem.Option MEMoryMODEL Define memory model Format: SYStem.OptionMEMoryMODEL <model> <model>: LARGE FLAT LDT SingleLDT ProtectedFLAT Default: LARGE (Multi-Segment Model). Selects the memory model TRACE32 uses for code and data accesses. The memory model describes how the CS (code segment), DS (data segment), SS (stack segment), ES, FS and GS segment registers are currently used by the processor. The command SYStem.Option.MMUSPACES ON will override the setting of SYStem.Option.MEMoryMODEL with the memory model MMUSPACES. Simulator for Intel x86/x64 10 General SYStem Settings and Restrictions

The selection of the memory model affects the following areas: The way TRACE32 augments program or data addresses with information from the segment descriptors. Information augmented is the segment selector, offset, limit and access width. The TRACE32 address format The way TRACE32 handles segments when the debugger address translation is enabled (TRANSlation.ON). LARGE This is the default memory model. It is enabled after reset. This memory model is used if the application makes use of the six segment registers (CS, DS, ES, FS, GS, SS) and the global descriptor table (GDT) and/or the local descriptor table (LDT). TRACE32 supports GDT and LDT descriptor table walks in this memory model. if a TRACE32 address contains a segment descriptor and the specified segment descriptor is not present in any of the six segments CS, DS, ES, FS, GS or SS, TRACE32 will perform a descriptor table walk through the GDT or the LDT to extract the descriptor information and apply it to the address. Access classes of program and data addresses will be augmented with information from the CS and DS segments. Segment translation is used in TRACE32 address translation. TRACE32 addresses display the segment selector to the left of the address offset. The segment selector indicates the GDT or LDT segment descriptor which is used for the address. Example address: NP:0x0018:0x0003F000 LDT This memory model should be selected if a LDT is present and the debugger uses multiple entries from it. TRACE32 addresses contain a LDTR segment selector specifying the LDT entry which applies to an address. Access classes of program and data addresses will be augmented with the information specified by the LDTR segment selector. Segment translation is used in TRACE32 address translation. TRACE32 addresses display three numeric elements: The 16-bit LDTR segment selector used pointing to the LDT for the address The 16-bit CS (for program addresses) or DS (for data addresses) segment selector, extracted from the LDT The 16-bit address offset Example address: NP:0x0004:0x0018:0x8000 Simulator for Intel x86/x64 11 General SYStem Settings and Restrictions

SingleLDT This memory model should be selected if a LDT is present but the debugger works with only one single LDT entry. The LDT is not used to differentiate addresses. Access classes of program and data addresses will be augmented with information from the CS (for program addresses) or DS (for data addresses) segment. Segment translation is used in TRACE32 address translation. TRACE32 addresses display the segment selector to the left of the address offset. Example address: NP:0x001C:0x0003F000 ProtectedFLAT This memory model is used if the segment translation and limit checks of the CS and the DS registers are required, but the segment register contents are kept constant. Consequently, TRACE32 addresses contain no segment descriptor because no descriptor table walk is used to reload the segment registers. Access classes of addresses are not augmented with segment information. TRACE32 addresses display only the access class and the address offset. Example address: NP:0xC0003F000 Segment translation is used in TRACE32 address translation for limit checking. Accesses to program addresses use the CS segment, accesses to data addresses use the DS segment. FLAT This memory model is used if segmentation plays no role for an application and memory management makes use of paging only. Segments are ignored, no segment translation is performed. Accesses to program and data addresses are treated the same. Example address: NP:0xC0003F000 (MMUSPACES) This memory model can only be enabled with the command SYStem.Option.MMUSPACES ON. Memory model MMUSPACES is used if TRACE32 works with a kernel awareness and memory space identifiers (spaceids) are used in addresses to identify process specific address spaces. Segments are ignored, no segment translation is performed. TRACE32 addresses display a 16-bit memory space identifier to the left of the address offset. Example address: NP:0x29A:0xC0003F000 Simulator for Intel x86/x64 12 General SYStem Settings and Restrictions

Memory Classes Memory Class D P IO Description Data Program I/O C E A Memory access by CPU Emulation memory access Absolute (physical) memory access Simulator for Intel x86/x64 13 Memory Classes

Support Available Tools CPU ICE FIRE ICD DEBUG ICD MONITOR ICD TRACE POWER INTEGRATOR INSTRUCTION SIMULATOR 230 YES YES 330 YES YES 8086 YES YES YES 8088 YES YES YES 80C186EA YES YES YES 80C186EB YES YES YES 80C186EC YES YES YES 80C186XL YES YES YES 80C188EA YES YES YES 80C188EB YES YES YES 80C188EC YES YES YES 80C188XL YES YES YES AM186CC YES YES YES AM186CH YES YES YES AM186CU YES YES YES AM186ED YES YES YES AM186EM YES YES YES AM186EMLV YES YES YES AM186ER YES YES YES AM186ES YES YES YES AM186ESLV YES YES YES AM188EM YES YES YES AM188EMLV YES YES YES AM188ER YES YES YES AM188ES YES YES YES AM188ESLV YES YES YES C27XX YES YES CE2600 YES YES CE4200 YES YES CE5300 YES YES COREI3 YES YES COREI3-2NDGEN YES YES COREI3-3RDGEN YES YES COREI3-4THGEN YES YES Simulator for Intel x86/x64 14 Support

CPU COREI5 YES YES COREI5-2NDGEN YES YES COREI5-3RDGEN YES YES COREI5-4THGEN YES YES COREI7 YES YES COREI7-2NDGEN YES YES COREI7-3RDGEN YES YES COREI7-4THGEN YES YES D2500 YES YES D2550 YES YES D2700 YES YES D410 YES YES D425 YES YES D510 YES YES D525 YES YES E382X YES YES E620 YES YES E620T YES YES E640 YES YES E640T YES YES E645C YES YES E645CT YES YES E660 YES YES E660T YES YES E665C YES YES E665CT YES YES E680 YES YES E680T YES YES N2600 YES YES N270 YES YES N280 YES YES N2800 YES YES N450 YES YES N455 YES YES N470 YES YES N475 YES YES N550 YES YES N570 YES YES QUARKX1000 YES YES V20 YES YES YES V30 YES YES YES Simulator for Intel x86/x64 15 Support ICE FIRE ICD DEBUG ICD MONITOR ICD TRACE POWER INTEGRATOR INSTRUCTION SIMULATOR

CPU V40 YES YES YES V50 YES YES YES Z2420 YES YES Z2460 YES YES Z2480 YES YES Z2520 YES YES Z2560 YES YES Z2580 YES YES Z2720 YES YES Z2760 YES YES Z2780 YES YES Z37XX YES YES Z500 YES YES Z510 YES YES Z510P YES YES Z510PT YES YES Z515 YES YES Z520 YES YES Z520PT YES YES Z530 YES YES Z530P YES YES Z540 YES YES Z550 YES YES Z560 YES YES Z600 YES YES Z615 YES YES Z625 YES YES Z650 YES YES Z670 YES YES ICE FIRE ICD DEBUG ICD MONITOR ICD TRACE POWER INTEGRATOR INSTRUCTION SIMULATOR Simulator for Intel x86/x64 16 Support

Compilers Language Compiler Company Option Comment ASM AXLS HP HP Source level debugging C BORLANDC Borland Software Corporation EOMF-86 with Paradigm LOCATE C ORGANON CAD-UL EOMF-86 Banking support ElectronicServices GmbH C IC86 Intel Corporation OMF-86 C MCC86 Mentor Graphics EOMF-86 incl. Microtec ext. Corporation C MSC/MSVC-16BIT Microsoft Corporation EOMF-86 with Paradigm LOCATE C MSC/MSVC Microsoft Corporation EXE/TD with Paradigm LOCATE C ICC86 TASKING OMF-86 C ICC86 TASKING IEEE C++ BORLANDC Borland Software EXE/TD Corporation C++ MSVC-16BIT Microsoft Corporation EXE/CV MODULA LOGITECH-M2 Terra Datentechnik MAP/REF PASCAL TEK-PASCAL Tektronix TEK PLM PL/M86 Intel Corporation OMF-86 reads src or list file Realtime Operation System Name Company Comment ChorusOS Oracle Corporation Nucleus PLUS Mentor Graphics Corporation psos+ Wind River Systems 2.1 to 2.5, 3.0 RTXC 3.2 Quadros Systems Inc. VxWorks Wind River Systems 5.x and 6.x Simulator for Intel x86/x64 17 Support

3rd Party Tool Integrations CPU Tool Company Host ALL ADENEO Adeneo Embedded ALL X-TOOLS / X32 blue river software GmbH Windows ALL CODEWRIGHT Borland Software Windows Corporation ALL CODE CONFIDENCE Code Confidence Ltd Windows TOOLS ALL CODE CONFIDENCE Code Confidence Ltd Linux TOOLS ALL EASYCODE EASYCODE GmbH Windows ALL ECLIPSE Eclipse Foundation, Inc Windows ALL RHAPSODY IN MICROC IBM Corp. Windows ALL RHAPSODY IN C++ IBM Corp. Windows ALL CHRONVIEW Inchron GmbH Windows ALL LDRA TOOL SUITE LDRA Technology, Inc. Windows ALL UML DEBUGGER LieberLieber Software Windows GmbH ALL ATTOL TOOLS MicroMax Inc. Windows ALL VISUAL BASIC Microsoft Corporation Windows INTERFACE ALL LABVIEW NATIONAL Windows INSTRUMENTS Corporation ALL CODE::BLOCKS Open Source - ALL C++TEST Parasoft Windows ALL RAPITIME Rapita Systems Ltd. Windows ALL DA-C RistanCASE Windows ALL TRACEANALYZER Symtavision GmbH Windows ALL SIMULINK The MathWorks Inc. Windows ALL TA INSPECTOR Timing Architects GmbH Windows ALL UNDODB Undo Software Linux ALL VECTORCAST UNIT Vector Software Windows TESTING ALL VECTORCAST CODE Vector Software Windows COVERAGE ALL WINDOWS CE PLATF. BUILDER Windows Windows Simulator for Intel x86/x64 18 Support

Products Product Information OrderNo Code LA-8813 SIM-86 Text TRACE32 Instruction Set Simulator for 0x86 TRACE32 Instruction Set Simulator for 0x86 family Order Information Order No. Code Text LA-8813 SIM-86 TRACE32 Instruction Set Simulator for 0x86 Simulator for Intel x86/x64 19 Products